import { modelOptions, prop } from '@typegoose/typegoose'; class Expiration { @prop({ required: true }) date: Date; @prop({ required: true, default: false }) processed: boolean; } enum Type { Create, Warn, Lock, Unlock, Delete } @modelOptions({ schemaOptions: { collection: 'Moderation' } }) export default class Moderation { @prop({ required: true }) username: string; @prop({ required: true }) userID: string; @prop({ required: true, unique: true }) logID: string; @prop({ required: true }) moderatorID: string; @prop() reason?: string; @prop({ enum: Type, required: true }) type: Type; @prop({ required: true }) date: Date; @prop() expiration?: Expiration; }