import BaseModel from './BaseModel'; import { index, getModelForClass, prop, DocumentType, ReturnModelType, mongoose } from '@typegoose/typegoose'; import { gameData } from '../pubUtils/data'; /** * GM用户组接口 */ @index({ uid: 1 }) @index({ api: 1 }) export default class GMRecord extends BaseModel { @prop({ required: true }) uid: number; @prop({ required: true }) env: string; @prop({ required: true }) api: string; @prop({ required: true }) apiName: string; @prop({ required: true }) body: string; @prop({ required: true }) result: string; public static async createRecord(uid: number, env: string, api: string, body: string, result: string) { let dicApi = gameData.apiByUrl.get(api); const r = await GMRecordModel.insertMany({uid, env, api, apiName: dicApi?.name, body, result}); return r; } } export let GMRecordModel: ReturnModelType; export function loadGMRecordModel(connect: mongoose.Connection) { GMRecordModel = getModelForClass(GMRecord, { existingConnection: connect }); } export interface GMRecordType extends Pick, keyof GMRecord>{};