添加debug接口
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
import { APP_ID } from './../consts';
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose';
|
||||
import { getSeconds } from '../pubUtils/timeUtil';
|
||||
|
||||
/**
|
||||
* 游戏字段接口
|
||||
*/
|
||||
@index({ id: 1 })
|
||||
@modelOptions({schemaOptions: {id: false}})
|
||||
export default class Notice extends BaseModel {
|
||||
|
||||
@prop({ required: true })
|
||||
id: number;
|
||||
|
||||
@prop({ required: true })
|
||||
title: string;
|
||||
|
||||
@prop({ required: true })
|
||||
tag: number;
|
||||
|
||||
@prop({ required: true })
|
||||
type: number;
|
||||
|
||||
@prop({ required: true })
|
||||
content: number;
|
||||
|
||||
@prop({ required: true })
|
||||
order: number;
|
||||
|
||||
@prop({ required: true })
|
||||
order: number;
|
||||
|
||||
|
||||
@prop({ required: true })
|
||||
showStartTime: Date;
|
||||
|
||||
@prop({ required: true })
|
||||
showEndTime: Date;
|
||||
|
||||
public static async getAllServerList() {
|
||||
let game: GameType = await GameModel.findOne().lean();
|
||||
if(game) {
|
||||
return game.serverList;
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
public static async getServerList() {
|
||||
let game: GameType = await GameModel.findOne().lean({ getter: true, virtuals: true });
|
||||
if (!game) {
|
||||
const serverInfo = new ServerInfo(1, '常山少年', 1, '逍遥津', 'pinus_test.trgame.cn', 3014, 1, 'official');
|
||||
const iconUrl = `https://download.tgamebox.cn/avatar/${APP_ID}/1.png`;
|
||||
game = await GameModel.findOneAndUpdate(
|
||||
{},
|
||||
{ id: 1, name: '赵云传', nameEn: 'zyz', des: '牛逼的战棋', iconUrl, version: '0.0.1', versionCode: 1, $push: { serverList: serverInfo } },
|
||||
{ upsert: true, new: true },
|
||||
).lean({ getter: true, virtuals: true });
|
||||
}
|
||||
let serverList: Array<ServerInfo> = game ? game.serverList : [];
|
||||
return serverList;
|
||||
}
|
||||
|
||||
public static async newServer(serverId: number, serverType: string, name: string, host: string, port: number, status: number, lean = true) {
|
||||
let serverInfo = new ServerInfo(serverId, name, 1, '逍遥津', host, port, status, serverType);
|
||||
let game: GameType = await GameModel.findOneAndUpdate({}, {$push: {serverList: serverInfo}}, {new: true}).lean(lean);
|
||||
return game;
|
||||
}
|
||||
}
|
||||
|
||||
export const GameModel = getModelForClass(Game);
|
||||
|
||||
export interface GameType extends Pick<DocumentType<Game>, keyof Game>{
|
||||
id: number;
|
||||
};
|
||||
Reference in New Issue
Block a user