diff --git a/backend/src/ee/services/identity-project-additional-privilege/identity-project-additional-privilege-service.ts b/backend/src/ee/services/identity-project-additional-privilege/identity-project-additional-privilege-service.ts index e4c2c690d..70753ee09 100644 --- a/backend/src/ee/services/identity-project-additional-privilege/identity-project-additional-privilege-service.ts +++ b/backend/src/ee/services/identity-project-additional-privilege/identity-project-additional-privilege-service.ts @@ -48,6 +48,11 @@ export const UnpackedPermissionSchema = z.object({ .optional() }); +const unpackPermissions = (permissions: unknown) => + UnpackedPermissionSchema.array().parse( + unpackRules((permissions || []) as PackRule>>[]) + ); + export const identityProjectAdditionalPrivilegeServiceFactory = ({ identityProjectAdditionalPrivilegeDAL, identityProjectDAL, @@ -106,11 +111,7 @@ export const identityProjectAdditionalPrivilegeServiceFactory = ({ }); return { ...additionalPrivilege, - permissions: UnpackedPermissionSchema.array().parse( - unpackRules( - (additionalPrivilege.permissions || []) as PackRule>>[] - ) - ) + permissions: unpackPermissions(additionalPrivilege.permissions) }; } @@ -127,11 +128,7 @@ export const identityProjectAdditionalPrivilegeServiceFactory = ({ }); return { ...additionalPrivilege, - permissions: UnpackedPermissionSchema.array().parse( - unpackRules( - (additionalPrivilege.permissions || []) as PackRule>>[] - ) - ) + permissions: unpackPermissions(additionalPrivilege.permissions) }; }; @@ -197,11 +194,8 @@ export const identityProjectAdditionalPrivilegeServiceFactory = ({ }); return { ...additionalPrivilege, - permissions: UnpackedPermissionSchema.array().parse( - unpackRules( - (additionalPrivilege.permissions || []) as PackRule>>[] - ) - ) + + permissions: unpackPermissions(additionalPrivilege.permissions) }; } @@ -215,11 +209,8 @@ export const identityProjectAdditionalPrivilegeServiceFactory = ({ }); return { ...additionalPrivilege, - permissions: UnpackedPermissionSchema.array().parse( - unpackRules( - (additionalPrivilege.permissions || []) as PackRule>>[] - ) - ) + + permissions: unpackPermissions(additionalPrivilege.permissions) }; }; @@ -268,9 +259,8 @@ export const identityProjectAdditionalPrivilegeServiceFactory = ({ const deletedPrivilege = await identityProjectAdditionalPrivilegeDAL.deleteById(identityPrivilege.id); return { ...deletedPrivilege, - permissions: UnpackedPermissionSchema.array().parse( - unpackRules((deletedPrivilege.permissions || []) as PackRule>>[]) - ) + + permissions: unpackPermissions(deletedPrivilege.permissions) }; }; @@ -307,9 +297,7 @@ export const identityProjectAdditionalPrivilegeServiceFactory = ({ return { ...identityPrivilege, - permissions: UnpackedPermissionSchema.array().parse( - unpackRules((identityPrivilege.permissions || []) as PackRule>>[]) - ) + permissions: unpackPermissions(identityPrivilege.permissions) }; }; @@ -342,9 +330,8 @@ export const identityProjectAdditionalPrivilegeServiceFactory = ({ }); return identityPrivileges.map((el) => ({ ...el, - permissions: UnpackedPermissionSchema.array().parse( - unpackRules((el.permissions || []) as PackRule>>[]) - ) + + permissions: unpackPermissions(el.permissions) })); };