@@ -2,18 +2,16 @@ import { AccessLevelEnum } from '../../enums/index.js';
22import { IComplexPermission } from '../permission/permission.interface.js' ;
33
44export function generateCedarPolicyForGroup (
5- groupId : string ,
65 connectionId : string ,
76 isMain : boolean ,
87 permissions : IComplexPermission ,
98) : string {
109 const policies : Array < string > = [ ] ;
11- const groupRef = `RocketAdmin::Group::"${ groupId } "` ;
1210 const connectionRef = `RocketAdmin::Connection::"${ connectionId } "` ;
1311
1412 if ( isMain ) {
1513 policies . push (
16- `permit(\n principal in ${ groupRef } ,\n action,\n resource\n);` ,
14+ `permit(\n principal,\n action,\n resource\n);` ,
1715 ) ;
1816 return policies . join ( '\n\n' ) ;
1917 }
@@ -22,14 +20,14 @@ export function generateCedarPolicyForGroup(
2220 const connAccess = permissions . connection . accessLevel ;
2321 if ( connAccess === AccessLevelEnum . edit ) {
2422 policies . push (
25- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"connection:read",\n resource == ${ connectionRef } \n);` ,
23+ `permit(\n principal,\n action == RocketAdmin::Action::"connection:read",\n resource == ${ connectionRef } \n);` ,
2624 ) ;
2725 policies . push (
28- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"connection:edit",\n resource == ${ connectionRef } \n);` ,
26+ `permit(\n principal,\n action == RocketAdmin::Action::"connection:edit",\n resource == ${ connectionRef } \n);` ,
2927 ) ;
3028 } else if ( connAccess === AccessLevelEnum . readonly ) {
3129 policies . push (
32- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"connection:read",\n resource == ${ connectionRef } \n);` ,
30+ `permit(\n principal,\n action == RocketAdmin::Action::"connection:read",\n resource == ${ connectionRef } \n);` ,
3331 ) ;
3432 }
3533
@@ -38,14 +36,14 @@ export function generateCedarPolicyForGroup(
3836 const groupResourceRef = `RocketAdmin::Group::"${ permissions . group . groupId } "` ;
3937 if ( groupAccess === AccessLevelEnum . edit ) {
4038 policies . push (
41- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"group:read",\n resource == ${ groupResourceRef } \n);` ,
39+ `permit(\n principal,\n action == RocketAdmin::Action::"group:read",\n resource == ${ groupResourceRef } \n);` ,
4240 ) ;
4341 policies . push (
44- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"group:edit",\n resource == ${ groupResourceRef } \n);` ,
42+ `permit(\n principal,\n action == RocketAdmin::Action::"group:edit",\n resource == ${ groupResourceRef } \n);` ,
4543 ) ;
4644 } else if ( groupAccess === AccessLevelEnum . readonly ) {
4745 policies . push (
48- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"group:read",\n resource == ${ groupResourceRef } \n);` ,
46+ `permit(\n principal,\n action == RocketAdmin::Action::"group:read",\n resource == ${ groupResourceRef } \n);` ,
4947 ) ;
5048 }
5149
@@ -59,32 +57,32 @@ export function generateCedarPolicyForGroup(
5957 if ( access . read ) {
6058 hasReadPermission = true ;
6159 policies . push (
62- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"dashboard:read",\n resource == ${ dashboardRef } \n);` ,
60+ `permit(\n principal,\n action == RocketAdmin::Action::"dashboard:read",\n resource == ${ dashboardRef } \n);` ,
6361 ) ;
6462 }
6563 if ( access . create ) {
6664 hasCreatePermission = true ;
6765 }
6866 if ( access . edit ) {
6967 policies . push (
70- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"dashboard:edit",\n resource == ${ dashboardRef } \n);` ,
68+ `permit(\n principal,\n action == RocketAdmin::Action::"dashboard:edit",\n resource == ${ dashboardRef } \n);` ,
7169 ) ;
7270 }
7371 if ( access . delete ) {
7472 policies . push (
75- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"dashboard:delete",\n resource == ${ dashboardRef } \n);` ,
73+ `permit(\n principal,\n action == RocketAdmin::Action::"dashboard:delete",\n resource == ${ dashboardRef } \n);` ,
7674 ) ;
7775 }
7876 }
7977 const newDashboardRef = `RocketAdmin::Dashboard::"${ connectionId } /__new__"` ;
8078 if ( hasReadPermission ) {
8179 policies . push (
82- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"dashboard:read",\n resource == ${ newDashboardRef } \n);` ,
80+ `permit(\n principal,\n action == RocketAdmin::Action::"dashboard:read",\n resource == ${ newDashboardRef } \n);` ,
8381 ) ;
8482 }
8583 if ( hasCreatePermission ) {
8684 policies . push (
87- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"dashboard:create",\n resource == ${ newDashboardRef } \n);` ,
85+ `permit(\n principal,\n action == RocketAdmin::Action::"dashboard:create",\n resource == ${ newDashboardRef } \n);` ,
8886 ) ;
8987 }
9088 }
@@ -96,22 +94,22 @@ export function generateCedarPolicyForGroup(
9694 const hasAnyAccess = access . visibility || access . add || access . delete || access . edit ;
9795 if ( hasAnyAccess ) {
9896 policies . push (
99- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"table:read",\n resource == ${ tableRef } \n);` ,
97+ `permit(\n principal,\n action == RocketAdmin::Action::"table:read",\n resource == ${ tableRef } \n);` ,
10098 ) ;
10199 }
102100 if ( access . add ) {
103101 policies . push (
104- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"table:add",\n resource == ${ tableRef } \n);` ,
102+ `permit(\n principal,\n action == RocketAdmin::Action::"table:add",\n resource == ${ tableRef } \n);` ,
105103 ) ;
106104 }
107105 if ( access . edit ) {
108106 policies . push (
109- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"table:edit",\n resource == ${ tableRef } \n);` ,
107+ `permit(\n principal,\n action == RocketAdmin::Action::"table:edit",\n resource == ${ tableRef } \n);` ,
110108 ) ;
111109 }
112110 if ( access . delete ) {
113111 policies . push (
114- `permit(\n principal in ${ groupRef } ,\n action == RocketAdmin::Action::"table:delete",\n resource == ${ tableRef } \n);` ,
112+ `permit(\n principal,\n action == RocketAdmin::Action::"table:delete",\n resource == ${ tableRef } \n);` ,
115113 ) ;
116114 }
117115 }
0 commit comments