Fix missing objectRecordsPermissions from the API when permissions v2 is enabled (#12353)
This commit is contained in:
@ -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 =
|
||||||
|
|||||||
@ -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,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user