51 lines
1.2 KiB
TypeScript
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'],
|
|
})
|