角色增加level

This commit is contained in:
zhl 2021-05-08 12:57:30 +08:00
parent 3a24f7e48c
commit e87bc38e14
2 changed files with 24 additions and 15 deletions

View File

@ -1,18 +1,19 @@
import BaseController from '../../common/base.controller';
import { permission, role, router } from '../../decorators/router'
import { AdminRole } from '../../models/admin/AdminRole';
import { ZError } from '../../common/ZError';
import BaseController from '../../common/base.controller'
import { permission, router } from '../../decorators/router'
import { AdminRole } from '../../models/admin/AdminRole'
import { ZError } from '../../common/ZError'
class RoleController extends BaseController {
@permission('role:update')
@router('post /roles')
async saveRole(req) {
const {name, permissions, key} = req.params;
const role = (await AdminRole.findOrCreate({_id: key})).doc;
role.permissions = permissions;
role.name = name;
await role.save();
return role.toJson();
const { name, permissions, key, level } = req.params
const role = (await AdminRole.findOrCreate({ _id: key })).doc
role.permissions = permissions
role.name = name
role.level = level
await role.save()
return role.toJson()
}
@permission('role:read')
@ -31,11 +32,11 @@ class RoleController extends BaseController {
@permission('role:delete')
@router('delete /roles/:key')
async deleteRole(req) {
const {key} = req.params;
const { key } = req.params
if (!key) {
throw new ZError(10, 'record not found');
throw new ZError(10, 'record not found')
}
const result = await AdminRole.deleteOne({_id: key});
const result = await AdminRole.deleteOne({ _id: key })
return { count: result.deletedCount }
}

View File

@ -15,6 +15,13 @@ export class AdminRoleClass extends BaseModule{
public permissions: string[];
@prop({ type: () => [String] })
public inherits?: string[];
/**
* ,
*
* @type {number}
*/
@prop()
public level: number
@prop()
public comment?: string;
@ -34,7 +41,8 @@ export class AdminRoleClass extends BaseModule{
key: this._id,
name: this.name,
permissions: this.permissions,
comment: this.comment
comment: this.comment,
level: this.level
}
}