Skip to content

Commit

Permalink
feat: add workspace pane permissions for all entities (#1171)
Browse files Browse the repository at this point in the history
  • Loading branch information
dbouwman authored Aug 18, 2023
1 parent 2d0f402 commit 8cb94f6
Show file tree
Hide file tree
Showing 6 changed files with 169 additions and 0 deletions.
21 changes: 21 additions & 0 deletions packages/common/src/content/_internal/ContentBusinessRules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ export const ContentPermissions = [
// "hub:content:delete",
"hub:content:edit",
"hub:content:view",
"hub:content:workspace:overview",
"hub:content:workspace:dashboard",
"hub:content:workspace:details",
"hub:content:workspace:settings",
] as const;

/**
Expand Down Expand Up @@ -89,4 +93,21 @@ export const ContentPermissionPolicies: IPermissionPolicy[] = [
// entityOwner: true,
// licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
// },
{
permission: "hub:content:workspace:overview",
dependencies: ["hub:content:view"],
},
{
permission: "hub:content:workspace:dashboard",
dependencies: ["hub:content:view"],
},
{
permission: "hub:content:workspace:details",
dependencies: ["hub:content:edit"],
},
{
permission: "hub:content:workspace:settings",
dependencies: ["hub:content:edit"],
entityOwner: true,
},
];
24 changes: 24 additions & 0 deletions packages/common/src/groups/_internal/GroupBusinessRules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,13 @@ export const GroupPermissions = [
"hub:group:edit",
"hub:group:view",
"hub:group:owner",
"hub:group:workspace:overview",
"hub:group:workspace:dashboard",
"hub:group:workspace:details",
"hub:group:workspace:settings",
"hub:group:workspace:collaborators",
"hub:group:workspace:content",
"hub:group:workspace:members",
] as const;

/**
Expand Down Expand Up @@ -95,4 +102,21 @@ export const GroupPermissionPolicies: IPermissionPolicy[] = [
authenticated: true,
entityOwner: true,
},
{
permission: "hub:group:workspace:details",
dependencies: ["hub:group:edit"],
},
{
permission: "hub:group:workspace:settings",
dependencies: ["hub:group:edit"],
entityOwner: true,
},
{
permission: "hub:group:workspace:content",
dependencies: ["hub:group:edit"],
},
{
permission: "hub:group:workspace:members",
dependencies: ["hub:group:edit"],
},
];
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,13 @@ export const InitiativePermissions = [
"hub:initiative:events",
"hub:initiative:content",
"hub:initiative:discussions",
"hub:initiative:workspace:overview",
"hub:initiative:workspace:dashboard",
"hub:initiative:workspace:details",
"hub:initiative:workspace:settings",
"hub:initiative:workspace:collaborators",
"hub:initiative:workspace:content",
"hub:initiative:workspace:metrics",
] as const;

/**
Expand Down Expand Up @@ -123,4 +130,33 @@ export const InitiativePermissionPolicies: IPermissionPolicy[] = [
permission: "hub:initiative:discussions",
dependencies: ["hub:initiative:view"],
},
{
permission: "hub:initiative:workspace:overview",
dependencies: ["hub:initiative:view"],
},
{
permission: "hub:initiative:workspace:dashboard",
dependencies: ["hub:initiative:view"],
},
{
permission: "hub:initiative:workspace:details",
dependencies: ["hub:initiative:edit"],
},
{
permission: "hub:initiative:workspace:settings",
dependencies: ["hub:initiative:edit"],
entityOwner: true,
},
{
permission: "hub:initiative:workspace:collaborators",
dependencies: ["hub:initiative:edit"],
},
{
permission: "hub:initiative:workspace:content",
dependencies: ["hub:initiative:edit"],
},
{
permission: "hub:initiative:workspace:metrics",
dependencies: ["hub:initiative:edit"],
},
];
21 changes: 21 additions & 0 deletions packages/common/src/pages/_internal/PageBusinessRules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@ export const PagePermissions = [
"hub:page:delete",
"hub:page:edit",
"hub:page:view",
"hub:page:workspace:overview",
"hub:page:workspace:dashboard",
"hub:page:workspace:details",
"hub:page:workspace:settings",
] as const;

/**
Expand Down Expand Up @@ -96,6 +100,23 @@ export const PagePermissionPolicies: IPermissionPolicy[] = [
authenticated: true,
entityOwner: true,
},
{
permission: "hub:page:workspace:overview",
dependencies: ["hub:page:view"],
},
{
permission: "hub:page:workspace:dashboard",
dependencies: ["hub:page:view"],
},
{
permission: "hub:page:workspace:details",
dependencies: ["hub:page:edit"],
},
{
permission: "hub:page:workspace:settings",
dependencies: ["hub:page:edit"],
entityOwner: true,
},
];

/**
Expand Down
30 changes: 30 additions & 0 deletions packages/common/src/projects/_internal/ProjectBusinessRules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -134,4 +134,34 @@ export const ProjectPermissionPolicies: IPermissionPolicy[] = [
permission: "hub:project:discussions",
dependencies: ["hub:project:view"],
},
{
permission: "hub:project:workspace:overview",
dependencies: ["hub:project:view"],
},
{
permission: "hub:project:workspace:dashboard",
dependencies: ["hub:project:view"],
environments: ["devext", "qaext"],
},
{
permission: "hub:project:workspace:details",
dependencies: ["hub:project:edit"],
},
{
permission: "hub:project:workspace:settings",
dependencies: ["hub:project:edit"],
entityOwner: true,
},
{
permission: "hub:project:workspace:collaborators",
dependencies: ["hub:project:edit"],
},
{
permission: "hub:project:workspace:content",
dependencies: ["hub:project:edit"],
},
{
permission: "hub:project:workspace:metrics",
dependencies: ["hub:project:edit"],
},
];
37 changes: 37 additions & 0 deletions packages/common/src/sites/_internal/SiteBusinessRules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,13 @@ export const SitePermissions = [
"hub:site:events",
"hub:site:content",
"hub:site:discussions",
"hub:site:workspace:overview",
"hub:site:workspace:dashboard",
"hub:site:workspace:details",
"hub:site:workspace:settings",
"hub:site:workspace:collaborators",
"hub:site:workspace:content",
"hub:site:workspace:metrics",
] as const;

/**
Expand Down Expand Up @@ -121,6 +128,36 @@ export const SitesPermissionPolicies: IPermissionPolicy[] = [
permission: "hub:site:discussions",
dependencies: ["hub:site:view"],
},
{
permission: "hub:site:workspace:overview",
dependencies: ["hub:site:view"],
},
{
permission: "hub:site:workspace:dashboard",
dependencies: ["hub:site:view"],
},
{
permission: "hub:site:workspace:details",
dependencies: ["hub:site:edit"],
},
{
permission: "hub:site:workspace:settings",
dependencies: ["hub:site:edit"],
entityOwner: true,
},
{
permission: "hub:site:workspace:collaborators",
dependencies: ["hub:site:edit"],
},
{
permission: "hub:site:workspace:content",
dependencies: ["hub:site:edit"],
},
{
permission: "hub:site:workspace:metrics",
dependencies: ["hub:site:edit"],
environments: ["devext", "qaext"],
},
];

/**
Expand Down

0 comments on commit 8cb94f6

Please sign in to comment.