task-svr/src/models/ChestEnhanceRecord.ts

51 lines
1.2 KiB
TypeScript

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'],
})