diff --git a/auth-web/package-lock.json b/auth-web/package-lock.json index 1585cd359..b90cfcd1f 100644 --- a/auth-web/package-lock.json +++ b/auth-web/package-lock.json @@ -1,12 +1,12 @@ { "name": "auth-web", - "version": "2.8.11", + "version": "2.8.12", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "auth-web", - "version": "2.8.11", + "version": "2.8.12", "dependencies": { "@bcrs-shared-components/base-address": "2.0.39", "@bcrs-shared-components/bread-crumb": "1.0.8", diff --git a/auth-web/package.json b/auth-web/package.json index fc6e20532..ea2bb88f7 100644 --- a/auth-web/package.json +++ b/auth-web/package.json @@ -1,6 +1,6 @@ { "name": "auth-web", - "version": "2.8.11", + "version": "2.8.12", "appName": "Auth Web", "sbcName": "SBC Common Components", "private": true, diff --git a/auth-web/src/stores/org.ts b/auth-web/src/stores/org.ts index a24f89490..7d062bd6a 100644 --- a/auth-web/src/stores/org.ts +++ b/auth-web/src/stores/org.ts @@ -315,31 +315,35 @@ export const useOrgStore = defineStore('org', () => { return response } - const rolesMapping = { - [Role.ContactCentreStaff]: { + const rolesMapping = [ + { + role: Role.ContactCentreStaff, permissions: CommonUtils.getContactCentreStaffPermissions(), membershipType: MembershipType.Admin }, - [Role.StaffManageAccounts]: { + { + role: Role.StaffManageAccounts, permissions: CommonUtils.getAdminPermissions(), membershipType: MembershipType.Admin }, - [Role.StaffViewAccounts]: { + { + role: Role.StaffViewAccounts, permissions: CommonUtils.getViewOnlyPermissions(), membershipType: MembershipType.User } - } + ] async function syncMembership (orgId: number): Promise { const { roles } = KeyCloakService.getUserInfo() - // If user has any of the roles in the mapping, assign the permissions and membership type - const assignedRole = roles.find(role => Object.prototype.hasOwnProperty.call(rolesMapping, role)) + // In the sequential order of the rolesMapping array, check if user has any of the roles in the mapping + // and assign the permissions and membership type + const assignedRole = rolesMapping.find((role) => roles.includes(role.role)) if (assignedRole) { - state.permissions = rolesMapping[assignedRole].permissions + state.permissions = assignedRole.permissions state.currentMembership = { - membershipTypeCode: rolesMapping[assignedRole].membershipType, + membershipTypeCode: assignedRole.membershipType, id: null, membershipStatus: MembershipStatus.Active, user: null