后台:白名单
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { prop, DocumentType, getModelForClass } from '@typegoose/typegoose';
|
||||
import { WHITE_LIST_TYPE } from '../consts';
|
||||
|
||||
export default class RegionWhiteList extends BaseModel {
|
||||
|
||||
@prop({ required: true })
|
||||
code: string; // 编码
|
||||
|
||||
@prop({ required: true })
|
||||
regionId: number; // 大区区号
|
||||
|
||||
@prop({ required: true })
|
||||
env: string; // 环境变量
|
||||
|
||||
@prop({ required: true, enum: WHITE_LIST_TYPE })
|
||||
type: WHITE_LIST_TYPE; // 环境变量
|
||||
|
||||
@prop({ required: true })
|
||||
ip: string; // ip
|
||||
|
||||
@prop({ required: true })
|
||||
serverId: number; // 小区id
|
||||
|
||||
@prop({ required: true })
|
||||
uid: number; // 玩家uid
|
||||
|
||||
@prop({ required: true })
|
||||
roleId: string; // 玩家角色id
|
||||
|
||||
@prop({ required: true })
|
||||
roleName: string; // 玩家角色名
|
||||
|
||||
public static async checkIp(env: string, ip: string) {
|
||||
const rec = await WhiteListModel.exists({ env, ip });
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async checkUid(env: string, serverId: number, uid: number) {
|
||||
const rec = await WhiteListModel.exists({ env, serverId, uid });
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async findByRegionId(regionId: number) {
|
||||
const rec: WhiteListModelType[] = await WhiteListModel.find({ regionId });
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async updateWhiteList(code: string, params: WhiteListModelTypeParam) {
|
||||
const rec: WhiteListModelType = await WhiteListModel.findOneAndUpdate({ code }, params, { new: true, upsert: true }).lean();
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async deleteWhiteList(code: string) {
|
||||
const rec: WhiteListModelType = await WhiteListModel.findOneAndDelete({ code }).lean();
|
||||
return rec;
|
||||
}
|
||||
}
|
||||
|
||||
export let WhiteListModel = getModelForClass(RegionWhiteList)
|
||||
|
||||
export interface WhiteListModelType extends Pick<DocumentType<RegionWhiteList>, keyof RegionWhiteList> { }
|
||||
export type WhiteListModelTypeParam = Partial<WhiteListModelType>; // 将所有字段变成可选项
|
||||
@@ -1,35 +0,0 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { prop, DocumentType, getModelForClass } from '@typegoose/typegoose';
|
||||
|
||||
export default class WhiteList extends BaseModel {
|
||||
|
||||
@prop({ required: true })
|
||||
regionId: number; // 大区区号
|
||||
|
||||
@prop({ required: true })
|
||||
env: string; // 环境变量
|
||||
|
||||
@prop({ required: true })
|
||||
ip: string; // ip
|
||||
|
||||
@prop({ required: true })
|
||||
serverId: number; // 小区id
|
||||
|
||||
@prop({ required: true })
|
||||
uid: number; // 玩家uid
|
||||
|
||||
public static async checkIp(env: string, ip: string) {
|
||||
const rec = await WhiteListModel.exists({ env, ip });
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async checkUid(env: string, serverId: number, uid: number) {
|
||||
const rec = await WhiteListModel.exists({ env, serverId, uid });
|
||||
return rec;
|
||||
}
|
||||
}
|
||||
|
||||
export const WhiteListModel = getModelForClass(WhiteList);
|
||||
|
||||
export interface WhiteListModelType extends Pick<DocumentType<WhiteList>, keyof WhiteList> { }
|
||||
export type WhiteListModelTypeParam = Partial<WhiteListModelType>; // 将所有字段变成可选项
|
||||
Reference in New Issue
Block a user