{{ error.name }}
{{ error.message }}
diff --git a/apps/dafa-web/src/app/components/toast-list/toast/toast.component.ts b/apps/dafa-web/src/app/components/toast-list/toast/toast.component.ts
index ab5a78d..320fc70 100644
--- a/apps/dafa-web/src/app/components/toast-list/toast/toast.component.ts
+++ b/apps/dafa-web/src/app/components/toast-list/toast/toast.component.ts
@@ -1,5 +1,6 @@
import { AfterViewInit, ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
import { ErrorSeverity } from '@dafa-enums/error-severity.enum';
+import { IconType } from '@dafa-enums/icon-type.enum';
import { CustomError } from '@dafa-models/error/custom-error';
@Component({
@@ -12,6 +13,7 @@ export class ToastComponent implements AfterViewInit {
@Input() error: CustomError;
@Output() closeToast: EventEmitter
= new EventEmitter();
+ iconType = IconType;
errorSeverity = ErrorSeverity;
ngAfterViewInit(): void {
diff --git a/apps/dafa-web/src/app/components/toast-list/toast/toast.module.ts b/apps/dafa-web/src/app/components/toast-list/toast/toast.module.ts
index b29f33f..64dde9d 100644
--- a/apps/dafa-web/src/app/components/toast-list/toast/toast.module.ts
+++ b/apps/dafa-web/src/app/components/toast-list/toast/toast.module.ts
@@ -4,6 +4,7 @@ import { DigiNgIconInfoCircleRegModule } from '@af/digi-ng/_icon/icon-info-circl
import { DigiNgIconXModule } from '@af/digi-ng/_icon/icon-x';
import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
+import { IconModule } from '@dafa-shared/components/icon/icon.module';
import { ToastComponent } from './toast.component';
@NgModule({
@@ -15,6 +16,7 @@ import { ToastComponent } from './toast.component';
DigiNgIconExclamationCircleModule,
DigiNgIconExclamationTriangleModule,
DigiNgIconInfoCircleRegModule,
+ IconModule,
],
exports: [ToastComponent],
})
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
deleted file mode 100644
index 3341a23..0000000
--- a/apps/dafa-web/src/app/data/enums/access-group.enum.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-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/enums/authorization.enum.ts b/apps/dafa-web/src/app/data/enums/authorization.enum.ts
new file mode 100644
index 0000000..d57c73d
--- /dev/null
+++ b/apps/dafa-web/src/app/data/enums/authorization.enum.ts
@@ -0,0 +1,28 @@
+export enum Authorization {
+ UserManagement = 'UserManagement',
+ Economy = 'Economy',
+ Reports = 'Reports',
+ ParticipantManagement = 'ParticipantManagement',
+ User = 'User',
+}
+
+export enum PegaAuthorization {
+ Users = 'MeetTest:Users',
+ Administrators = 'MeetTest:Administrators',
+}
+
+export function mapPegaAuthorizationToAuthorization(pegaAuthorization: PegaAuthorization): Authorization[] {
+ const authorizations: Authorization[] = [];
+ switch (pegaAuthorization) {
+ case PegaAuthorization.Users:
+ authorizations.push(Authorization.User);
+ break;
+ case PegaAuthorization.Administrators:
+ authorizations.push(Authorization.UserManagement);
+ break;
+ default:
+ break;
+ }
+
+ return authorizations;
+}
diff --git a/apps/dafa-web/src/app/data/enums/icon-type.enum.ts b/apps/dafa-web/src/app/data/enums/icon-type.enum.ts
index 9e13103..37167f2 100644
--- a/apps/dafa-web/src/app/data/enums/icon-type.enum.ts
+++ b/apps/dafa-web/src/app/data/enums/icon-type.enum.ts
@@ -9,4 +9,8 @@ export enum IconType {
ENVELOPE = 'envelope',
SOK_KANDIDAT = 'sok-kandidat',
EDIT = 'edit',
+ INFO = 'info',
+ WARNING = 'warning',
+ APPROVED = 'approved',
+ X = 'x',
}
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 55449e2..0c2d0f2 100644
--- a/apps/dafa-web/src/app/data/models/employee.model.ts
+++ b/apps/dafa-web/src/app/data/models/employee.model.ts
@@ -1,7 +1,7 @@
-import { mapPegaAccessGroupToAccessGroups, PegaAccessGroup } from '@dafa-enums/access-group.enum';
-import { Agency } from '@dafa-models/agency.model';
+import { mapPegaAuthorizationToAuthorization, PegaAuthorization } from '@dafa-enums/authorization.enum';
+import { Service } from '@dafa-enums/service.enum';
import { Participant } from './participant.model';
-import { User } from './user.model';
+import { User, UserApiResponse } from './user.model';
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface Employee extends User {
@@ -10,12 +10,19 @@ export interface Employee extends User {
start: Date;
end: Date;
}[];
- ssn: string;
- agencies: Agency[];
+ participants: Participant[];
+ services: Service[];
+ active: boolean;
+}
+
+export interface EmployeeApiResponse extends UserApiResponse {
+ active: boolean;
+ services: Service[];
+ languages: string[];
participants: Participant[];
}
-export interface EmployeesApiResponse {
+export interface PegaEmployeesApiResponse {
pxMore: string;
pxObjClass: string;
pxPageCount: string;
@@ -24,11 +31,11 @@ export interface EmployeesApiResponse {
pxTotalResultCount: string;
pyMaxRecords: string;
pyObjClass: string;
- pxResults: EmployeeApiResponse[];
+ pxResults: PegaEmployeeApiResponse[];
pzPerformanceSettings: string[];
}
-export interface EmployeeApiResponse {
+export interface PegaEmployeeApiResponse {
pxInsHandle: string;
pxObjClass: string;
pyAccessGroup: string;
@@ -42,13 +49,13 @@ export interface EmployeeApiResponse {
pyUserName: string;
}
-export interface EmployeeApiRequestData {
+export interface PegaEmployeeApiRequestData {
pyFirstName: string;
pyLastName: string;
pyTelephone: string;
}
-export interface EmployeeApiPostResponse {
+export interface PegaEmployeeApiPostResponse {
pxObjClass: string;
pyErrorMessage: string;
pyFirstName: string;
@@ -58,7 +65,7 @@ export interface EmployeeApiPostResponse {
pyUserIdentifier: string;
}
-export function mapEmployeeToEmployeeApiRequestData(data: Employee): EmployeeApiRequestData {
+export function mapEmployeeToEmployeeApiRequestData(data: Employee): PegaEmployeeApiRequestData {
return {
pyFirstName: data.firstName,
pyLastName: data.lastName,
@@ -66,24 +73,65 @@ export function mapEmployeeToEmployeeApiRequestData(data: Employee): EmployeeApi
};
}
-export function mapEmployeeReponseToEmployee(data: EmployeeApiResponse): Employee {
+export function mapPegaEmployeeReponseToEmployee(data: PegaEmployeeApiResponse): Employee {
return {
id: data.pyUserIdentifier,
lastName: data.pyLastName,
firstName: data.pyFirstName,
fullName: `${data.pyFirstName} ${data.pyLastName}`,
- organization: data.pyOrganization,
- organizationDivision: data.pyOrgDivision,
- organizationUnit: data.pyOrgUnit,
+ organization: {
+ id: '',
+ name: data.pyOrganization,
+ kaNumber: null,
+ address: {
+ street: null,
+ houseNumber: null,
+ postalCode: null,
+ city: null,
+ kommun: null,
+ },
+ },
phone: data.pyTelephone,
email: '',
- accessGroups: mapPegaAccessGroupToAccessGroups(data.pyAccessGroup as PegaAccessGroup),
- utforandeverksamhet: '',
- service: '',
+ authorizations: mapPegaAuthorizationToAuthorization(data.pyAccessGroup as PegaAuthorization),
+ services: [],
languages: [],
outOfOffice: null,
ssn: '',
- agencies: [],
participants: [],
+ active: true,
+ };
+}
+
+export function mapEmployeeReponseToEmployee(data: EmployeeApiResponse): Employee {
+ const {
+ id,
+ firstName,
+ lastName,
+ phone,
+ email,
+ ssn,
+ active,
+ services,
+ languages,
+ organization,
+ authorizations,
+ participants,
+ } = data;
+ return {
+ id,
+ firstName,
+ lastName,
+ fullName: `${firstName} ${lastName}`,
+ organization,
+ phone,
+ email,
+ authorizations,
+ services,
+ languages,
+ outOfOffice: null,
+ ssn,
+ participants,
+ active,
};
}
diff --git a/apps/dafa-web/src/app/data/models/agency.model.ts b/apps/dafa-web/src/app/data/models/organization.model.ts
similarity index 51%
rename from apps/dafa-web/src/app/data/models/agency.model.ts
rename to apps/dafa-web/src/app/data/models/organization.model.ts
index da464b6..62f8e2b 100644
--- a/apps/dafa-web/src/app/data/models/agency.model.ts
+++ b/apps/dafa-web/src/app/data/models/organization.model.ts
@@ -1,11 +1,11 @@
-export interface Agency {
+export interface Organization {
id: string;
name: string;
- kaNumber: number;
+ kaNumber: string;
address: {
street: string;
- houseNumber: number;
- postalCode: number;
+ houseNumber: string;
+ postalCode: string;
city: string;
kommun: string;
};
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 57903c7..07ed5ed 100644
--- a/apps/dafa-web/src/app/data/models/user.model.ts
+++ b/apps/dafa-web/src/app/data/models/user.model.ts
@@ -1,21 +1,30 @@
-import { AccessGroup, mapPegaAccessGroupToAccessGroups, PegaAccessGroup } from '@dafa-enums/access-group.enum';
+import { Authorization, mapPegaAuthorizationToAuthorization, PegaAuthorization } from '@dafa-enums/authorization.enum';
+import { Organization } from './organization.model';
export interface User {
id: string;
firstName: string;
lastName: string;
fullName: string;
- organization: string;
- organizationDivision: string;
- organizationUnit: string;
+ ssn: string;
phone: string;
email: string;
- accessGroups: AccessGroup[];
- utforandeverksamhet: string;
- service: string;
+ organization: Organization;
+ authorizations: Authorization[];
}
export interface UserApiResponse {
+ id: string;
+ firstName: string;
+ lastName: string;
+ ssn: string;
+ phone: string;
+ email: string;
+ organization: Organization;
+ authorizations: Authorization[];
+}
+
+export interface PegaUserApiResponse {
pxInsName: string;
pxLimitedAccess: string;
pxObjClass: string;
@@ -39,19 +48,42 @@ export interface UserApiResponse {
};
}
-export function mapUserApiReponseToUser(data: UserApiResponse): User {
+export function mapUserApiResponseToUser(data: UserApiResponse): User {
+ const { id, firstName, lastName, ssn, organization, phone, email, authorizations } = data;
+ return {
+ id,
+ firstName,
+ lastName,
+ fullName: `${firstName} ${lastName}`,
+ ssn,
+ organization,
+ phone,
+ email,
+ authorizations,
+ };
+}
+
+export function mapPegaUserApiReponseToUser(data: PegaUserApiResponse): User {
return {
id: data.pyUserIdentifier,
lastName: data.pyLastName,
firstName: data.pyFirstName,
fullName: `${data.pyFirstName} ${data.pyLastName}`,
- organization: data.pyOrganization,
- organizationDivision: data.pyOrgDivision,
- organizationUnit: data.pyOrgUnit,
+ ssn: null,
+ organization: {
+ id: '',
+ name: data.pyOrganization,
+ kaNumber: null,
+ address: {
+ street: null,
+ houseNumber: null,
+ postalCode: null,
+ city: null,
+ kommun: null,
+ },
+ },
phone: data.pyTelephone,
email: data.pyAddresses.Email.pyEmailAddress,
- accessGroups: mapPegaAccessGroupToAccessGroups(data.pyAccessGroup as PegaAccessGroup),
- utforandeverksamhet: '',
- service: '',
+ authorizations: mapPegaAuthorizationToAuthorization(data.pyAccessGroup as PegaAuthorization),
};
}
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 2642210..004fe7d 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
@@ -29,22 +29,14 @@
Uppgifter om arbete
- - Organisation
- - {{ detailedEmployeeData.organization }}
- - Avdelning
- -
- {{ detailedEmployeeData.organizationDivision }}
+
- Utförandeverksamhet
+ -
+ {{ detailedEmployeeData.organization.address.city }}
- Behörigheter
- -
- {{ detailedEmployeeData.accessGroups.join(', ') }}
+
-
+ {{ detailedEmployeeData.authorizations.join(', ') }}
- - Behörighet
-
- -
- {{ item }}
-
-
- Frånvaroperiod
-
@@ -52,7 +44,9 @@
- Tjänst
- - {{ detailedEmployeeData.service }}
+ -
+ {{ detailedEmployeeData.services.join(', ') }}
+
- Språk
- {{ detailedEmployeeData.languages?.join(', ') }}
diff --git a/apps/dafa-web/src/app/pages/administration/pages/employees/components/employees-list/employees-list.component.html b/apps/dafa-web/src/app/pages/administration/pages/employees/components/employees-list/employees-list.component.html
index 7a1fc4d..92651ab 100644
--- a/apps/dafa-web/src/app/pages/administration/pages/employees/components/employees-list/employees-list.component.html
+++ b/apps/dafa-web/src/app/pages/administration/pages/employees/components/employees-list/employees-list.component.html
@@ -13,18 +13,18 @@
- |
-
+
Utförandeverksamhet
-
+
@@ -37,8 +37,8 @@
|
{{ employees.fullName }}
|
- {{ employees.service || '-' }} |
- {{ employees.kommun || '-' }} |
+ {{ employees.services.length ? employees.services.join(', ') : '-' }} |
+ {{ employees.organization.address.city || '-' }} |
diff --git a/apps/dafa-web/src/app/services/api/employee.service.ts b/apps/dafa-web/src/app/services/api/employee.service.ts
index 2b2b897..1748091 100644
--- a/apps/dafa-web/src/app/services/api/employee.service.ts
+++ b/apps/dafa-web/src/app/services/api/employee.service.ts
@@ -4,10 +4,10 @@ import { ErrorType } from '@dafa-enums/error-type.enum';
import { environment } from '@dafa-environment';
import {
Employee,
- EmployeeApiPostResponse,
- EmployeesApiResponse,
+ EmployeeApiResponse,
mapEmployeeReponseToEmployee,
mapEmployeeToEmployeeApiRequestData,
+ PegaEmployeeApiPostResponse,
} from '@dafa-models/employee.model';
import { SortBy } from '@dafa-models/sort-by.model';
import { sort } from '@dafa-utils/sort.util';
@@ -23,14 +23,13 @@ const API_HEADERS = { headers: environment.api.headers };
providedIn: 'root',
})
export class EmployeeService {
- private _employeesApiUrl = `${environment.api.meet}/employees`;
- private _employeeApiUrl = `${environment.api.meet}/employee`;
- private _employeesRawData: Observable = this.httpClient.get(
- this._employeesApiUrl,
+ private _employeeApiUrl = `${environment.api.url}/employee`;
+ private _employeesRawData: Observable = this.httpClient.get(
+ this._employeeApiUrl,
API_HEADERS
);
private _allEmployees$: Observable = this._employeesRawData.pipe(
- map(({ pxResults }) => pxResults.map(result => mapEmployeeReponseToEmployee(result)))
+ map(results => results.map(result => mapEmployeeReponseToEmployee(result)))
);
private _employeesSortBy$ = new BehaviorSubject({ key: 'fullName', reverse: false });
@@ -42,7 +41,7 @@ export class EmployeeService {
map(([employees, searchFilter]) => filterEmployees(employees, searchFilter))
);
- public resultCount$: Observable = this._employeesRawData.pipe(map(({ pxResultCount }) => +pxResultCount));
+ public resultCount$: Observable = this._employeesRawData.pipe(map(results => results.length)); // TODO: need META
public filteredEmployees$: Observable = combineLatest([
this._filteredEmployees$,
this._employeesSortBy$,
@@ -56,8 +55,8 @@ export class EmployeeService {
public getDetailedEmployeeData(id: string): Observable {
return this.httpClient
- .get(`${this._employeeApiUrl}`, { ...API_HEADERS, params: { OperatorId: id } })
- .pipe(map(({ pxResults }) => mapEmployeeReponseToEmployee(pxResults[0])));
+ .get(`${this._employeeApiUrl}/${id}`, { ...API_HEADERS })
+ .pipe(map(result => mapEmployeeReponseToEmployee(result)));
}
public setSearchFilter(value: string) {
@@ -72,7 +71,7 @@ export class EmployeeService {
public postNewEmployee(employeeData: Employee): Observable {
return this.httpClient
- .post(
+ .post(
this._employeeApiUrl,
mapEmployeeToEmployeeApiRequestData(employeeData),
API_HEADERS
diff --git a/apps/dafa-web/src/app/services/api/participants.service.ts b/apps/dafa-web/src/app/services/api/participants.service.ts
index 925753e..354956f 100644
--- a/apps/dafa-web/src/app/services/api/participants.service.ts
+++ b/apps/dafa-web/src/app/services/api/participants.service.ts
@@ -22,7 +22,7 @@ function filterParticipants(participants: Participant[], searchFilter: string):
})
export class ParticipantsService {
private _allParticipants$: Observable = this.httpClient.get(
- `${environment.api.meet}/participants`
+ `${environment.api.url}/participants`
);
private _activeParticipantsSortBy$ = new BehaviorSubject({ key: 'handleBefore', reverse: false });
public activeParticipantsSortBy$: Observable = this._activeParticipantsSortBy$.asObservable();
diff --git a/apps/dafa-web/src/app/services/api/user.service.ts b/apps/dafa-web/src/app/services/api/user.service.ts
index 856df34..9f4c38d 100644
--- a/apps/dafa-web/src/app/services/api/user.service.ts
+++ b/apps/dafa-web/src/app/services/api/user.service.ts
@@ -1,20 +1,20 @@
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { environment } from '@dafa-environment';
-import { mapUserApiReponseToUser, User, UserApiResponse } from '@dafa-models/user.model';
+import { mapUserApiResponseToUser, User, UserApiResponse } from '@dafa-models/user.model';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
+const API_HEADERS = { headers: environment.api.headers };
+
@Injectable({
providedIn: 'root',
})
export class UserService {
- private _userApiUrl = `${environment.api.default}/D_OperatorID`;
+ private _userApiUrl = `${environment.api.url}/currentUser`;
public currentUser$: Observable = this.httpClient
- .get(this._userApiUrl, {
- headers: environment.api.headers,
- })
- .pipe(map(response => mapUserApiReponseToUser(response)));
+ .get(this._userApiUrl, API_HEADERS)
+ .pipe(map(response => mapUserApiResponseToUser(response)));
constructor(private httpClient: HttpClient) {}
}
diff --git a/apps/dafa-web/src/app/shared/components/icon/icon.component.html b/apps/dafa-web/src/app/shared/components/icon/icon.component.html
index 67cf390..142b4fe 100644
--- a/apps/dafa-web/src/app/shared/components/icon/icon.component.html
+++ b/apps/dafa-web/src/app/shared/components/icon/icon.component.html
@@ -35,5 +35,12 @@
+
+
+
+
diff --git a/apps/dafa-web/src/app/utils/map-paths-to-breadcrumbs.util.ts b/apps/dafa-web/src/app/utils/map-paths-to-breadcrumbs.util.ts
index 5c076ee..02e2d04 100644
--- a/apps/dafa-web/src/app/utils/map-paths-to-breadcrumbs.util.ts
+++ b/apps/dafa-web/src/app/utils/map-paths-to-breadcrumbs.util.ts
@@ -14,7 +14,7 @@ export function mapPathsToBreadcrumbs(
];
if (isEmployeeCardRoute(paths)) {
- breadcrumbs[breadcrumbs.length - 1].text = 'Personalkort';
+ breadcrumbs[breadcrumbs.length - 1].text = 'Personal information';
}
return breadcrumbs;
diff --git a/apps/dafa-web/src/environments/environment.dotnet.ts b/apps/dafa-web/src/environments/environment.dotnet.ts
new file mode 100644
index 0000000..9d92cce
--- /dev/null
+++ b/apps/dafa-web/src/environments/environment.dotnet.ts
@@ -0,0 +1,7 @@
+export const environment = {
+ production: false,
+ api: {
+ url: '/api',
+ headers: {},
+ },
+};
diff --git a/apps/dafa-web/src/environments/environment.prod.ts b/apps/dafa-web/src/environments/environment.prod.ts
index 5e443c0..9be669f 100644
--- a/apps/dafa-web/src/environments/environment.prod.ts
+++ b/apps/dafa-web/src/environments/environment.prod.ts
@@ -1,8 +1,7 @@
export const environment = {
production: true,
api: {
- meet: '/api',
- default: '/api',
+ url: '/api',
headers: {},
},
};
diff --git a/apps/dafa-web/src/environments/environment.ts b/apps/dafa-web/src/environments/environment.ts
index 4000b68..9d92cce 100644
--- a/apps/dafa-web/src/environments/environment.ts
+++ b/apps/dafa-web/src/environments/environment.ts
@@ -1,8 +1,7 @@
export const environment = {
production: false,
api: {
- meet: '/api',
- default: '/api',
+ url: '/api',
headers: {},
},
};
diff --git a/config/proxy.conf.dotnet.json b/config/proxy.conf.dotnet.json
new file mode 100644
index 0000000..344a0d3
--- /dev/null
+++ b/config/proxy.conf.dotnet.json
@@ -0,0 +1,6 @@
+{
+ "/api": {
+ "target": "http://localhost:6001",
+ "secure": false
+ }
+}
diff --git a/config/proxy.conf.json b/config/proxy.conf.json
index df0ebaa..9431dd7 100644
--- a/config/proxy.conf.json
+++ b/config/proxy.conf.json
@@ -1,6 +1,9 @@
{
"/api": {
- "target": "http://localhost:8000/",
- "secure": false
+ "target": "http://localhost:8000",
+ "secure": false,
+ "pathRewrite": {
+ "^/api": "/"
+ }
}
}
diff --git a/mock-api/dafa-web/routes.json b/mock-api/dafa-web/routes.json
index 11f3596..debab6d 100644
--- a/mock-api/dafa-web/routes.json
+++ b/mock-api/dafa-web/routes.json
@@ -1,5 +1,7 @@
{
"/api/*": "/$1",
"/participants": "/participants?_embed=employees",
- "/participant/:id": "/participants/:id?_embed=employees"
+ "/participant/:id": "/participants/:id?_embed=employees",
+ "/employee": "/employees",
+ "/employee/:id": "/employees/:id"
}
diff --git a/mock-api/dafa-web/scripts/current-user.js b/mock-api/dafa-web/scripts/current-user.js
new file mode 100644
index 0000000..dd9678b
--- /dev/null
+++ b/mock-api/dafa-web/scripts/current-user.js
@@ -0,0 +1,28 @@
+import faker from 'faker';
+import organizations from './organizations.js';
+import chooseRandom from './utils/choose-random.util.js';
+
+faker.locale = 'sv';
+
+const ORGANIZATIONS = organizations.generate();
+const AUTHORIZATIONS = ['Hantera användare', 'Hantera origisation', 'Hantera ekonomi'];
+
+function generateCurrentUser() {
+ return {
+ id: faker.datatype.uuid(),
+ firstName: faker.name.firstName(),
+ lastName: faker.name.lastName(),
+ ssn: `${faker.date.between('1950', '2000').toISOString().split('T')[0].replace(/-/g, '')}-${faker.datatype.number({
+ min: 1000,
+ max: 9999,
+ })}`,
+ phone: `07${faker.datatype.number(9)}-${faker.datatype.number({ min: 1000000, max: 9999999 })}`,
+ email: faker.internet.email(),
+ organization: ORGANIZATIONS[Math.floor(Math.random() * ORGANIZATIONS.length)],
+ authorizations: chooseRandom(AUTHORIZATIONS, faker.datatype.number(3)),
+ };
+}
+
+export default {
+ generate: generateCurrentUser,
+};
diff --git a/mock-api/dafa-web/scripts/employees.js b/mock-api/dafa-web/scripts/employees.js
index 928843b..24e1850 100644
--- a/mock-api/dafa-web/scripts/employees.js
+++ b/mock-api/dafa-web/scripts/employees.js
@@ -1,18 +1,17 @@
import faker from 'faker';
-import agencies from './agencies.js';
import kommuner from './kommuner.js';
import languages from './languages.js';
+import organizations from './organizations.js';
import services from './services.js';
-import chooseRandom from './utils/choose-random.util.js';
faker.locale = 'sv';
const SERVICES = services.generate();
const KOMMUN = kommuner.generate();
-const AGENCIES = agencies.generate();
+const ORGANIZATIONS = organizations.generate();
const STATUSES = [true, false];
const LANGUAGES = languages.generate();
-const AUTHORISATIONS = ['Hantera användare', 'Hantera origisation', 'Hantera ekonomi'];
+const AUTHORIZATIONS = ['Hantera användare', 'Hantera origisation', 'Hantera ekonomi'];
function generateEmployees(amount = 10) {
const employees = [];
@@ -20,16 +19,8 @@ function generateEmployees(amount = 10) {
for (let i = 1; i <= amount; ++i) {
const person = {
id: faker.datatype.uuid(),
- employeeId: faker.datatype.number(),
firstName: faker.name.firstName(),
lastName: faker.name.lastName(),
- kommun: KOMMUN[Math.floor(Math.random() * KOMMUN.length)].kommun,
- active: STATUSES[Math.floor(Math.random() * STATUSES.length)],
- service: SERVICES[Math.floor(Math.random() * SERVICES.length)].name,
- languages: [
- LANGUAGES.find(language => language.name === 'Svenska'),
- ...chooseRandom(LANGUAGES, faker.datatype.number(3)),
- ],
ssn: `${faker.date.between('1950', '2000').toISOString().split('T')[0].replace(/-/g, '')}-${faker.datatype.number(
{
min: 1000,
@@ -38,19 +29,25 @@ function generateEmployees(amount = 10) {
)}`,
phone: `07${faker.datatype.number(9)}-${faker.datatype.number({ min: 1000000, max: 9999999 })}`,
email: faker.internet.email(),
- authorisations: chooseRandom(AUTHORISATIONS, faker.datatype.number(3)),
- outOfOffice: STATUSES[Math.floor(Math.random() * STATUSES.length)]
- ? [
- {
- start: new Date('2021-07-12'),
- end: new Date('2021-07-24'),
- },
- ]
- : [],
- agencies: chooseRandom(AGENCIES, faker.datatype.number(3)),
+ organization: ORGANIZATIONS[Math.floor(Math.random() * ORGANIZATIONS.length)],
+ services: [SERVICES[Math.floor(Math.random() * SERVICES.length)].name],
+ authorizations: AUTHORIZATIONS,
+ // active: STATUSES[Math.floor(Math.random() * STATUSES.length)],
+ // languages: [
+ // LANGUAGES.find(language => language.name === 'Svenska'),
+ // ...chooseRandom(LANGUAGES, faker.datatype.number(3)),
+ // ],
+ // outOfOffice: STATUSES[Math.floor(Math.random() * STATUSES.length)]
+ // ? [
+ // {
+ // start: new Date('2021-07-12'),
+ // end: new Date('2021-07-24'),
+ // },
+ // ]
+ // : [],
};
- employees.push({ ...person, fullName: `${person.firstName} ${person.lastName}` });
+ employees.push(person);
}
console.info('Employees generated...');
diff --git a/mock-api/dafa-web/scripts/generate-api.js b/mock-api/dafa-web/scripts/generate-api.js
index 2fe9144..63cea54 100644
--- a/mock-api/dafa-web/scripts/generate-api.js
+++ b/mock-api/dafa-web/scripts/generate-api.js
@@ -1,23 +1,25 @@
import fs from 'fs';
-import agencies from './agencies.js';
+import currentUser from './current-user.js';
import employees from './employees.js';
import kommuner from './kommuner.js';
import languages from './languages.js';
+import organizations from './organizations.js';
import participants from './participants.js';
import services from './services.js';
-const generatedEmployees = employees.generate(5);
+const generatedEmployees = employees.generate(10);
const apiData = {
services: services.generate(),
languages: languages.generate(),
employees: generatedEmployees,
kommuner: kommuner.generate(),
- agencies: agencies.generate(),
+ organizations: organizations.generate(),
participants: participants.generate(50).map(participant => ({
...participant,
employeeId: generatedEmployees[Math.floor(Math.random() * generatedEmployees.length)].id,
})),
+ currentUser: currentUser.generate(),
};
fs.writeFileSync('api.json', JSON.stringify(apiData, null, '\t'));
diff --git a/mock-api/dafa-web/scripts/agencies.js b/mock-api/dafa-web/scripts/organizations.js
similarity index 75%
rename from mock-api/dafa-web/scripts/agencies.js
rename to mock-api/dafa-web/scripts/organizations.js
index fbcfcca..2e47ef9 100644
--- a/mock-api/dafa-web/scripts/agencies.js
+++ b/mock-api/dafa-web/scripts/organizations.js
@@ -5,11 +5,11 @@ faker.locale = 'sv';
const KOMMUN = kommuner.generate();
-function generateAgencies(amount = 10) {
- const agencies = [];
+function generateOrganizations(amount = 10) {
+ const organizations = [];
for (let i = 1; i <= amount; ++i) {
- agencies.push({
+ organizations.push({
id: faker.datatype.uuid(),
name: faker.company.companyName(),
kaNumber: faker.datatype.number({ min: 100000, max: 999999 }),
@@ -23,11 +23,11 @@ function generateAgencies(amount = 10) {
});
}
- console.info('Agencies generated...');
+ console.info('Organizations generated...');
- return agencies;
+ return organizations;
}
export default {
- generate: generateAgencies,
+ generate: generateOrganizations,
};
diff --git a/mock-api/dafa-web/scripts/services.js b/mock-api/dafa-web/scripts/services.js
index 5b59e15..c03fe2e 100644
--- a/mock-api/dafa-web/scripts/services.js
+++ b/mock-api/dafa-web/scripts/services.js
@@ -6,20 +6,20 @@ function generateServices() {
},
{
id: 2,
- name: 'STOM',
- },
- {
- id: 3,
name: 'KVL',
},
- {
- id: 4,
- name: 'YSM',
- },
- {
- id: 5,
- name: 'AUB',
- },
+ // {
+ // id: 3,
+ // name: 'STOM',
+ // },
+ // {
+ // id: 4,
+ // name: 'YSM',
+ // },
+ // {
+ // id: 5,
+ // name: 'AUB',
+ // },
];
console.info('Services generated...');
diff --git a/package.json b/package.json
index aed525e..dfaddfe 100644
--- a/package.json
+++ b/package.json
@@ -12,8 +12,10 @@
"nx": "nx",
"start": "ng serve dafa-web",
"start:pega": "ng serve dafa-web --configuration pega",
+ "start:dotnet": "ng serve dafa-web --configuration dotnet",
"build": "ng build dafa-web",
"build:pega": "ng build dafa-web --configuration pega",
+ "build:dotnet": "ng build dafa-web --configuration dotnet",
"test": "ng test dafa-web",
"release": "bash ./tools/release.sh",
"release:dry": "bash ./tools/release.sh dry",
|