Ramendra761 75252a3d9f
feat(UI): AccessManagement UI to access the role metadata for a dataset (#8541)
Co-authored-by: Ramendra Srivastava <ramsrivastava@paypal.com>
2023-09-08 23:10:49 +05:30

28 lines
1.1 KiB
TypeScript

export function handleAccessRoles(externalRoles, loggedInUser) {
const accessRoles = new Array<any>();
if (
externalRoles?.dataset?.access &&
externalRoles?.dataset?.access.roles &&
externalRoles?.dataset?.access.roles.length > 0
) {
externalRoles?.dataset?.access?.roles?.forEach((userRoles) => {
const role = {
name: userRoles?.role?.properties?.name || ' ',
description: userRoles?.role?.properties?.description || ' ',
accessType: userRoles?.role?.properties?.type || ' ',
hasAccess:
(userRoles?.role?.actors?.users &&
userRoles?.role?.actors?.users.length > 0 &&
userRoles?.role?.actors?.users?.some(
(user) => user.user.urn === loggedInUser?.me?.corpUser.urn,
)) ||
false,
url: userRoles?.role?.properties?.requestUrl || undefined,
};
accessRoles.push(role);
});
}
return accessRoles;
}