Teamlinker/code/server/gateway/util/obtp.ts
sx1989827 b9d0c03e08 add
2022-02-25 22:21:09 +08:00

55 lines
1.6 KiB
TypeScript

import { Permission_Base, Permission_Types } from "../../../common/permission/permission";
import "../../common/permission/project";
import "../../common/permission/team";
function getAllPermissions(obj):Permission_Base[] {
let arr:Permission_Base[] =[]
let keys = Object.keys(obj)
for (let key of keys) {
let val = obj[key]
if (val instanceof Permission_Base) {
arr.push(val)
}
}
return arr;
}
export namespace OBTPConfig {
export namespace Role {
export const Project_Role=<{
[param:string]:{
name:string,
description:"",
permission:Permission_Types.Project[]
}
}>{
admin:{
name:"admin",
description:"",
permission:getAllPermissions(Permission_Types.Project)
},
user:{
name:"user",
description:"",
permission:[Permission_Types.Project.READ,Permission_Types.Project.EDIT]
}
}
export const Team_Role=<{
[param:string]:{
name:string,
description:"",
permission:Permission_Types.Team[]
}
}>{
admin:{
name:"admin",
description:"",
permission:getAllPermissions(Permission_Types.Team)
},
user:{
name:"user",
description:"",
permission:[Permission_Types.Team.READ]
}
}
}
}