后台添加权限管理

This commit is contained in:
luying
2020-09-22 11:10:45 +08:00
parent bcbed5959f
commit 780562979e
13 changed files with 494 additions and 31 deletions
+35
View File
@@ -0,0 +1,35 @@
import BaseModel from './BaseModel';
import { index, getModelForClass, prop } from '@typegoose/typegoose';
/**
* GM账号和用户组关系接口
*/
@index({ uid: 1, serverId: 1, groupId: 1 })
export default class GMUserGroup extends BaseModel {
@prop({ required: true })
uid: number;
@prop({ required: true })
serverId: number;
@prop({ required: true })
groupId: number;
public static async getUserGroupByUid(uid: number, serverId: number, lean = true) {
const user = await GMUserGroupModel.find({uid, serverId}).lean(lean);
return user;
}
public static async removeUserGroup(uid: number, serverId: number, groups: Array<number>, lean = true) {
const user = await GMUserGroupModel.deleteMany({uid, serverId, groupId: {$in: groups}}).lean(lean);
return user;
}
public static async addUserGroup(uid: number, serverId: number, groupId: number, lean = true) {
const result = await GMUserGroupModel.findOneAndUpdate({uid, serverId, groupId}, {}, {new:true, upsert:true}).lean(lean);
return result;
}
}
export const GMUserGroupModel = getModelForClass(GMUserGroup);