feat(api): Added connection to the dotnet api (TV-189)

Squashed commit of the following:

commit 6f06bf69b87c77473c21fbe5fcc5669964793b17
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Thu May 20 15:01:16 2021 +0200

    Fixed issue with including qp insde breadcrumbs

commit 579b6105acc7a60864f07b6082329872a2105bd3
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Thu May 20 14:46:54 2021 +0200

    Added some more data to the mock-api and fixed navigation-bar

commit f9b820136017584655fadafaf716155aec85316e
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Thu May 20 10:11:55 2021 +0200

    Updated mock-api

commit 5367d2a475b1c0b8807cf5a9c3f8987b3a586de4
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Wed May 19 16:00:07 2021 +0200

    Added different config for dotnet api

commit 47de5b8ad7c0924c82f07568aa2a4386613e3bd6
Merge: 22d5e9a dc40953
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Wed May 19 07:54:55 2021 +0200

    Merged develop

commit 22d5e9a126e3c1237531407ec3e6d47fbfea55e8
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Wed May 12 11:48:25 2021 +0200

    Added new configuration to talk with local API
This commit is contained in:
Erik Tiekstra
2021-05-20 15:20:29 +02:00
parent dc40953aba
commit 4334fd7364
32 changed files with 339 additions and 204 deletions

View File

@@ -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<EmployeesApiResponse> = this.httpClient.get<EmployeesApiResponse>(
this._employeesApiUrl,
private _employeeApiUrl = `${environment.api.url}/employee`;
private _employeesRawData: Observable<EmployeeApiResponse[]> = this.httpClient.get<EmployeeApiResponse[]>(
this._employeeApiUrl,
API_HEADERS
);
private _allEmployees$: Observable<Employee[]> = this._employeesRawData.pipe(
map(({ pxResults }) => pxResults.map(result => mapEmployeeReponseToEmployee(result)))
map(results => results.map(result => mapEmployeeReponseToEmployee(result)))
);
private _employeesSortBy$ = new BehaviorSubject<SortBy | null>({ key: 'fullName', reverse: false });
@@ -42,7 +41,7 @@ export class EmployeeService {
map(([employees, searchFilter]) => filterEmployees(employees, searchFilter))
);
public resultCount$: Observable<number> = this._employeesRawData.pipe(map(({ pxResultCount }) => +pxResultCount));
public resultCount$: Observable<number> = this._employeesRawData.pipe(map(results => results.length)); // TODO: need META
public filteredEmployees$: Observable<Employee[]> = combineLatest([
this._filteredEmployees$,
this._employeesSortBy$,
@@ -56,8 +55,8 @@ export class EmployeeService {
public getDetailedEmployeeData(id: string): Observable<Employee> {
return this.httpClient
.get<EmployeesApiResponse>(`${this._employeeApiUrl}`, { ...API_HEADERS, params: { OperatorId: id } })
.pipe(map(({ pxResults }) => mapEmployeeReponseToEmployee(pxResults[0])));
.get<EmployeeApiResponse>(`${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<string> {
return this.httpClient
.post<EmployeeApiPostResponse>(
.post<PegaEmployeeApiPostResponse>(
this._employeeApiUrl,
mapEmployeeToEmployeeApiRequestData(employeeData),
API_HEADERS