import { getModelForClass, index, modelOptions, prop } from '@typegoose/typegoose' import { dbconn } from 'decorators/dbconn' import { BaseModule } from './Base' @dbconn() @index({ user: 1, activity: 1, dateTag: 1 }, { unique: false }) @index({ user: 1, activity: 1, chest: 1 }, { unique: false }) @index({ activity: 1, chest: 1 }, { unique: false }) @index({ chest: 1 }, { unique: false }) @modelOptions({ schemaOptions: { collection: 'chest_enhance_record', timestamps: true }, }) class ChestEnhanceRecordClass extends BaseModule { @prop({ required: true }) public user: string @prop({ required: true }) public activity: string @prop() public chest: string @prop() public chestOwner: string @prop() public dateTag: string @prop() public score: number @prop() public myScore: number public toJson() { return { user: this.user, activity: this.activity, chest: this.chest, score: this.score, dateTag: this.dateTag, //@ts-ignore time: this.createdAt.getTime(), } } } export const ChestEnhanceRecord = getModelForClass(ChestEnhanceRecordClass, { existingConnection: ChestEnhanceRecordClass['db'], })