import { dbconn } from 'decorators/dbconn' import { getModelForClass, index, modelOptions, mongoose, prop } from '@typegoose/typegoose' import { Severity } from '@typegoose/typegoose/lib/internal/constants' import { BaseModule } from './Base' /** * 管理员操作记录 */ @dbconn() @index({ user: 1 }, { unique: false }) @index({ name: 1 }, { unique: false }) @modelOptions({ schemaOptions: { collection: 'user_log', timestamps: true }, options: { allowMixed: Severity.ALLOW } }) class UserLogClass extends BaseModule { @prop() public user: string @prop() public name: string @prop() public method: string @prop() public path: string @prop() public referer: string @prop() public user_agent: string @prop() public ip: string @prop({ type: mongoose.Schema.Types.Mixed }) public params: any } export const UserLog = getModelForClass(UserLogClass, { existingConnection: UserLogClass['db'] })