diff --git a/apps/dafa-web/src/app/data/enums/access-group.enum.ts b/apps/dafa-web/src/app/data/enums/access-group.enum.ts new file mode 100644 index 0000000..3341a23 --- /dev/null +++ b/apps/dafa-web/src/app/data/enums/access-group.enum.ts @@ -0,0 +1,28 @@ +export enum AccessGroup { + UserManagement = 'UserManagement', + Economy = 'Economy', + Reports = 'Reports', + ParticipantManagement = 'ParticipantManagement', + User = 'User', +} + +export enum PegaAccessGroup { + Users = 'MeetTest:Users', + Administrators = 'MeetTest:Administrators', +} + +export function mapPegaAccessGroupToAccessGroups(pegaAccessGroup: PegaAccessGroup): AccessGroup[] { + const accessGroups: AccessGroup[] = []; + switch (pegaAccessGroup) { + case PegaAccessGroup.Users: + accessGroups.push(AccessGroup.User); + break; + case PegaAccessGroup.Administrators: + accessGroups.push(AccessGroup.UserManagement); + break; + default: + break; + } + + return accessGroups; +} diff --git a/apps/dafa-web/src/app/data/models/api/user-response.model.ts b/apps/dafa-web/src/app/data/models/api/user-response.model.ts index 346381e..78610dc 100644 --- a/apps/dafa-web/src/app/data/models/api/user-response.model.ts +++ b/apps/dafa-web/src/app/data/models/api/user-response.model.ts @@ -8,6 +8,7 @@ export interface UserResponse { pyLastSignon: string; pyOrganization: string; pyOrgDivision: string; + pyOrgUnit: string; pyTelephone: string; pyUserIdentifier: string; pyUserName: string; diff --git a/apps/dafa-web/src/app/data/models/employee.model.ts b/apps/dafa-web/src/app/data/models/employee.model.ts index 111053f..63ed837 100644 --- a/apps/dafa-web/src/app/data/models/employee.model.ts +++ b/apps/dafa-web/src/app/data/models/employee.model.ts @@ -1,21 +1,11 @@ +import { mapPegaAccessGroupToAccessGroups, PegaAccessGroup } from '@dafa-enums/access-group.enum'; import { Agency } from '@dafa-models/agency.model'; import { EmployeeResponse } from './api/employee-response.model'; import { Participant } from './participant.model'; +import { User } from './user.model'; -export interface Employee { - id: string; - firstName: string; - lastName: string; - fullName: string; - organization: string; - organizationDivision: string; - organizationUnit: string; - phone: string; - email: string; - accessGroup: string; - utforandeverksamhet: string; - service: string; -} +// eslint-disable-next-line @typescript-eslint/no-empty-interface +export interface Employee extends User {} export interface EmployeeDetail extends Employee { languages: string[]; @@ -42,7 +32,7 @@ export function mapEmployeeReponseToEmployee(data: EmployeeResponse): Employee { organizationUnit: data.pyOrgUnit, phone: data.pyTelephone, email: '', - accessGroup: data.pyAccessGroup, + accessGroups: mapPegaAccessGroupToAccessGroups(data.pyAccessGroup as PegaAccessGroup), utforandeverksamhet: '', service: '', }; diff --git a/apps/dafa-web/src/app/data/models/user.model.ts b/apps/dafa-web/src/app/data/models/user.model.ts index ee4dad0..df744c0 100644 --- a/apps/dafa-web/src/app/data/models/user.model.ts +++ b/apps/dafa-web/src/app/data/models/user.model.ts @@ -1,3 +1,4 @@ +import { AccessGroup, mapPegaAccessGroupToAccessGroups, PegaAccessGroup } from '@dafa-enums/access-group.enum'; import { UserResponse } from './api/user-response.model'; export interface User { @@ -5,9 +6,14 @@ export interface User { firstName: string; lastName: string; fullName: string; - userName: string; + organization: string; + organizationDivision: string; + organizationUnit: string; phone: string; email: string; + accessGroups: AccessGroup[]; + utforandeverksamhet: string; + service: string; } export function mapUserReponseToUser(data: UserResponse): User { @@ -16,8 +22,13 @@ export function mapUserReponseToUser(data: UserResponse): User { lastName: data.pyLastName, firstName: data.pyFirstName, fullName: `${data.pyFirstName} ${data.pyLastName}`, - userName: data.pyUserName, + organization: data.pyOrganization, + organizationDivision: data.pyOrgDivision, + organizationUnit: data.pyOrgUnit, phone: data.pyTelephone, email: data.pyAddresses.Email.pyEmailAddress, + accessGroups: mapPegaAccessGroupToAccessGroups(data.pyAccessGroup as PegaAccessGroup), + utforandeverksamhet: '', + service: '', }; } diff --git a/apps/dafa-web/src/app/pages/administration/pages/employee-card/employee-card.component.html b/apps/dafa-web/src/app/pages/administration/pages/employee-card/employee-card.component.html index 0235f02..2642210 100644 --- a/apps/dafa-web/src/app/pages/administration/pages/employee-card/employee-card.component.html +++ b/apps/dafa-web/src/app/pages/administration/pages/employee-card/employee-card.component.html @@ -13,14 +13,12 @@