后台添加权限管理
This commit is contained in:
@@ -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);
|
||||
Reference in New Issue
Block a user