diff --git a/database/CommunityReport.ts b/database/CommunityReport.ts index 52727fe..0b4588f 100644 --- a/database/CommunityReport.ts +++ b/database/CommunityReport.ts @@ -1,7 +1,13 @@ import { prop, getModelForClass, Ref } from "@typegoose/typegoose" import Member, { MemberAdditionalAcknowledgement, MemberUsedLanguages, MemberUsedOperatingSystems } from "./Member"; -interface AddtlScoreData { +export enum GenerationMethod { + TIMER_INTERNAL, // generated by the internal cron-job timer automatically + INQUIRY_INTERNAL, // internal inquiry generated internally directly through the system. user checks their own inquiry, hard inquiry is performed by a staff member, etc. + INQUIRY_EXTERNAL, // external inquiry generated externally through the system via an external authorized request, such as via EDS +} + +export interface AddtlScoreData { activity: number; roles: number; moderation: number; @@ -16,14 +22,21 @@ interface AddtlScoreData { export default class CommunityReport { @prop({ required: true, index: true, ref: () => Member }) + // the member on which this report was generated for public member: Ref | undefined; - @prop() - public lastUpdated: Date | undefined; + @prop({ required: true }) + // the date in which this report was generated on + public date: Date | undefined; - @prop() + @prop({ required: true }) + // the CommScore of the member specified public score: number | undefined; - @prop() + @prop({ required: true }) + // the method in which this report was generated under + public generationMethod: GenerationMethod | undefined; + + @prop({ required: true }) public additionalScoreData: AddtlScoreData | undefined; }