task-svr/src/models/ActivityGame.ts
CounterFire2023 689ad09734 bug fix
2024-03-26 18:32:03 +08:00

43 lines
1.1 KiB
TypeScript

import { dbconn } from 'decorators/dbconn'
import { getModelForClass, index, modelOptions, prop } from '@typegoose/typegoose'
import { Severity } from '@typegoose/typegoose/lib/internal/constants'
import { BaseModule } from './Base'
/**
* 活动游戏数据
*/
@dbconn()
@index({ user: 1, activity: 1 }, { unique: false })
@modelOptions({
schemaOptions: { collection: 'activity_game', timestamps: true },
options: { allowMixed: Severity.ALLOW },
})
class ActivityGameClass extends BaseModule {
@prop()
public user: string
@prop()
public activity: string
// 0 未开启
@prop({ default: 0 })
public status: number
// 拥有的ticket数量
@prop({ default: 0 })
public tickets: number
// 最后一次签到日期
@prop()
public lastSignDay: string
// 最大宝箱无宝箱步数
@prop({ default: 0 })
public maxNoChestCount: number
public toJson() {
return {
// @ts-ignore
id: this._id,
stat: this.status,
}
}
}
export const ActivityGame = getModelForClass(ActivityGameClass, { existingConnection: ActivityGameClass['db'] })