后台:修改权限用表

This commit is contained in:
luying
2022-01-04 11:19:08 +08:00
parent 70068402a1
commit c32744f276
13 changed files with 67 additions and 133 deletions
+20 -5
View File
@@ -21,6 +21,15 @@ export default class GMUser extends BaseModel {
@prop({ required: true })
username: string;
@prop({ required: true })
groupId: number;
@prop({ required: true, type: String })
envs: string[];
@prop({ required: true, default: true })
isEnable: boolean;
@prop({ required: true })
password: string;
@@ -30,6 +39,11 @@ export default class GMUser extends BaseModel {
@prop({ required: true })
token: string;
public static async updateInfo(uid: number, params: GMUserUpdate) {
let user = await GMUserModel.findOneAndUpdate({ uid }, params, { new: true }).lean();
return user;
}
private static async encryptPass(password: string, salt?: string) {
if (!salt) {
salt = await bcrypt.genSalt(SALT_WORK_FACTOR);
@@ -39,23 +53,23 @@ export default class GMUser extends BaseModel {
}
public static async getGmAccountList(lean = true) {
const user: GMUserType[] = await GMUserModel.find().select('uid username name token').lean(lean);
const user: GMUserType[] = await GMUserModel.find().select('uid username name token envs groupId isEnable').lean(lean);
return user;
}
public static async getGmAccountByToken(token: string, lean = true) {
// console.log(token)
const user: GMUserType = await GMUserModel.findOne({ token }).select('uid username name token').lean(lean);
const user: GMUserType = await GMUserModel.findOne({ token }).select('uid username name token envs groupId isEnable').lean(lean);
return user;
}
public static async getGmAccountByUid(uid: number, lean = true) {
const user: GMUserType = await GMUserModel.findOne({ uid }).select('uid username name token').lean(lean);
const user: GMUserType = await GMUserModel.findOne({ uid }).select('uid username name token envs groupId isEnable').lean(lean);
return user;
}
public static async getGmAccountByUsername(username: string, lean = true) {
const user: GMUserType = await GMUserModel.findOne({ username }).select('uid username name token').lean(lean);
const user: GMUserType = await GMUserModel.findOne({ username }).select('uid username name token envs groupId isEnable').lean(lean);
return user;
}
@@ -64,7 +78,7 @@ export default class GMUser extends BaseModel {
if (user) {
let { salt } = user;
let { npassword } = await this.encryptPass(password, salt);
const checkUser: GMUserType = await GMUserModel.findOneAndUpdate({ username, password: npassword }, { token }).select('uid username name token').lean(lean);
const checkUser: GMUserType = await GMUserModel.findOneAndUpdate({ username, password: npassword }, { token }).select('uid username name token envs groupId isEnable').lean(lean);
return checkUser;
} else {
return null
@@ -93,3 +107,4 @@ export function loadGMUserModel(connect: mongoose.Connection) {
}
export interface GMUserType extends Pick<DocumentType<GMUser>, keyof GMUser> { };
export type GMUserUpdate = Partial<GMUserType>; // 将所有字段变成可选项