mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-05-10 04:25:01 +00:00
dashboard/api: add support for Zeppelin staff members; add ViewGuild permission; code cleanup
This commit is contained in:
parent
7e60950900
commit
d03d729438
13 changed files with 175 additions and 75 deletions
|
@ -3,6 +3,7 @@ export enum ApiPermissions {
|
|||
ManageAccess = "MANAGE_ACCESS",
|
||||
EditConfig = "EDIT_CONFIG",
|
||||
ReadConfig = "READ_CONFIG",
|
||||
ViewGuild = "VIEW_GUILD",
|
||||
}
|
||||
|
||||
const reverseApiPermissions = Object.entries(ApiPermissions).reduce((map, [key, value]) => {
|
||||
|
@ -15,13 +16,24 @@ export const permissionNames = {
|
|||
[ApiPermissions.ManageAccess]: "Manage dashboard access",
|
||||
[ApiPermissions.EditConfig]: "Edit config",
|
||||
[ApiPermissions.ReadConfig]: "Read config",
|
||||
[ApiPermissions.ViewGuild]: "View server",
|
||||
};
|
||||
|
||||
export type TPermissionHierarchy = Array<ApiPermissions | [ApiPermissions, TPermissionHierarchy]>;
|
||||
|
||||
// prettier-ignore-start
|
||||
export const permissionHierarchy: TPermissionHierarchy = [
|
||||
[ApiPermissions.Owner, [[ApiPermissions.ManageAccess, [[ApiPermissions.EditConfig, [ApiPermissions.ReadConfig]]]]]],
|
||||
[
|
||||
ApiPermissions.Owner,
|
||||
[
|
||||
[
|
||||
ApiPermissions.ManageAccess,
|
||||
[[ApiPermissions.EditConfig, [[ApiPermissions.ReadConfig, [ApiPermissions.ViewGuild]]]]],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
// prettier-ignore-end
|
||||
|
||||
export function permissionArrToSet(permissions: string[]): Set<ApiPermissions> {
|
||||
return new Set(permissions.filter(p => reverseApiPermissions[p])) as Set<ApiPermissions>;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue