Skip to content

Commit 6a63a63

Browse files
committed
feat: add connection edit permissions and enhance user access control
1 parent 20f69cd commit 6a63a63

2 files changed

Lines changed: 867 additions & 1 deletion

File tree

backend/src/entities/cedar-authorization/cedar-permissions.service.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,24 @@ export class CedarPermissionsService implements IUserAccessRepository {
112112
return [];
113113
}
114114

115+
// If user has connection:edit, they get full access to all tables
116+
const connEditEntities = buildCedarEntities(cognitoUserName, userGroups, connectionId);
117+
const hasConnectionEdit = this.evaluatePolicies(
118+
cognitoUserName, CedarAction.ConnectionEdit, CedarResourceType.Connection, connectionId, groupPolicies, connEditEntities,
119+
);
120+
if (hasConnectionEdit) {
121+
return tableNames.map((tableName) => ({
122+
tableName,
123+
accessLevel: {
124+
visibility: true,
125+
readonly: false,
126+
add: true,
127+
delete: true,
128+
edit: true,
129+
},
130+
}));
131+
}
132+
115133
const actions = [CedarAction.TableRead, CedarAction.TableAdd, CedarAction.TableEdit, CedarAction.TableDelete];
116134
const result: Array<ITablePermissionData> = [];
117135

0 commit comments

Comments
 (0)