Fix missing objectRecordsPermissions from the API when permissions v2 is enabled (#12353)

This commit is contained in:
Weiko
2025-05-28 14:33:03 +02:00
committed by GitHub
parent 689e4ccfee
commit ee00e2319e
2 changed files with 28 additions and 13 deletions

View File

@ -135,15 +135,15 @@ export class UserResolver {
}); });
settingsPermissions = permissions.settingsPermissions; settingsPermissions = permissions.settingsPermissions;
objectPermissions = Object.entries( objectPermissions = Object.entries(permissions.objectPermissions).map(
permissions.objectRecordsPermissions, ([objectMetadataId, permissions]) => ({
).map(([objectMetadataId, permissions]) => ({ objectMetadataId,
objectMetadataId, canReadObjectRecords: permissions.canRead,
canReadObjectRecords: permissions.canRead, canUpdateObjectRecords: permissions.canUpdate,
canUpdateObjectRecords: permissions.canUpdate, canSoftDeleteObjectRecords: permissions.canSoftDelete,
canSoftDeleteObjectRecords: permissions.canSoftDelete, canDestroyObjectRecords: permissions.canDestroy,
canDestroyObjectRecords: permissions.canDestroy, }),
})); );
objectRecordsPermissions = permissions.objectRecordsPermissions; objectRecordsPermissions = permissions.objectRecordsPermissions;
} else { } else {
const permissions = const permissions =

View File

@ -35,7 +35,8 @@ export class PermissionsService {
workspaceId: string; workspaceId: string;
}): Promise<{ }): Promise<{
settingsPermissions: Record<SettingPermissionType, boolean>; settingsPermissions: Record<SettingPermissionType, boolean>;
objectRecordsPermissions: ObjectRecordsPermissions; objectRecordsPermissions: Record<PermissionsOnAllObjectRecords, boolean>;
objectPermissions: ObjectRecordsPermissions;
}> { }> {
const [roleOfUserWorkspace] = await this.userRoleService const [roleOfUserWorkspace] = await this.userRoleService
.getRolesByUserWorkspaces({ .getRolesByUserWorkspaces({
@ -76,12 +77,26 @@ export class PermissionsService {
workspaceId, workspaceId,
}); });
const objectRecordsPermissions = const objectPermissions = rolesPermissions[roleOfUserWorkspace.id] ?? {};
rolesPermissions[roleOfUserWorkspace.id] ?? {};
const objectRecordsPermissionsMap: Record<
PermissionsOnAllObjectRecords,
boolean
> = {
[PermissionsOnAllObjectRecords.READ_ALL_OBJECT_RECORDS]:
roleOfUserWorkspace.canReadAllObjectRecords ?? false,
[PermissionsOnAllObjectRecords.UPDATE_ALL_OBJECT_RECORDS]:
roleOfUserWorkspace.canUpdateAllObjectRecords ?? false,
[PermissionsOnAllObjectRecords.SOFT_DELETE_ALL_OBJECT_RECORDS]:
roleOfUserWorkspace.canSoftDeleteAllObjectRecords ?? false,
[PermissionsOnAllObjectRecords.DESTROY_ALL_OBJECT_RECORDS]:
roleOfUserWorkspace.canDestroyAllObjectRecords ?? false,
};
return { return {
settingsPermissions: settingsPermissionsMap, settingsPermissions: settingsPermissionsMap,
objectRecordsPermissions: objectRecordsPermissions, objectRecordsPermissions: objectRecordsPermissionsMap,
objectPermissions,
}; };
} }