28 lines
862 B
TypeScript
28 lines
862 B
TypeScript
import { Severity, getModelForClass, index, modelOptions, mongoose, prop } from '@typegoose/typegoose'
|
|
import { dbconn } from 'decorators/dbconn'
|
|
import { BaseModule } from './Base'
|
|
|
|
@dbconn()
|
|
@index({ user: 1, chain: 1, address: 1 }, { unique: false })
|
|
@index({ user: 1, chain: 1, address: 1, tokenId: 1 }, { unique: true })
|
|
@modelOptions({
|
|
schemaOptions: { collection: 'nft_burn_record', timestamps: true },
|
|
options: { allowMixed: Severity.ALLOW },
|
|
})
|
|
class NftBurnRecordClass extends BaseModule {
|
|
@prop({ required: true })
|
|
public user: string
|
|
@prop()
|
|
public chain: number
|
|
@prop({ required: true })
|
|
public address: string
|
|
@prop()
|
|
public tokenId: string
|
|
@prop()
|
|
public activity: string
|
|
@prop()
|
|
public task: string
|
|
}
|
|
|
|
export const NftBurnRecord = getModelForClass(NftBurnRecordClass, { existingConnection: NftBurnRecordClass['db'] })
|