38 lines
876 B
TypeScript
38 lines
876 B
TypeScript
import { getModelForClass, index, modelOptions, prop } from '@typegoose/typegoose'
|
|
import { dbconn } from 'decorators/dbconn'
|
|
import { BaseModule } from './Base'
|
|
|
|
@dbconn()
|
|
@index({ user: 1, activity: 1 }, { unique: false })
|
|
@modelOptions({
|
|
schemaOptions: { collection: 'explore_record', timestamps: true },
|
|
})
|
|
class ExploreRecordClass extends BaseModule {
|
|
@prop({ required: true })
|
|
public user: string
|
|
|
|
@prop({ required: true })
|
|
public activity: string
|
|
|
|
@prop()
|
|
public step: number
|
|
/**
|
|
* 0: 未完成
|
|
* 1: 已完成
|
|
* -1: 无效
|
|
*/
|
|
@prop({ default: 0 })
|
|
public status: number
|
|
|
|
public toJson() {
|
|
return {
|
|
user: this.user,
|
|
activity: this.activity,
|
|
step: this.step,
|
|
status: this.status,
|
|
}
|
|
}
|
|
}
|
|
|
|
export const ExploreRecord = getModelForClass(ExploreRecordClass, { existingConnection: ExploreRecordClass['db'] })
|