feat(avrop): Created mock-api and models for avrop. (TV-288)
Squashed commit of the following:
commit 36959e892dea1213659ba26ceba797b81e1c7769
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Fri Aug 6 14:28:04 2021 +0200
Added relationships to the mock-api data
commit e2b86b43908952cd4c46af7f58885c6e34b7eb2e
Merge: ece070a 229fb83
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Fri Aug 6 10:08:37 2021 +0200
Merge branch 'develop' into feature/TV-288-avrop-mock-and-models
commit ece070ac9f04a3aa1984611371586b32c9d5a222
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Fri Aug 6 09:25:59 2021 +0200
Removed duplicates from avrop mock-data
commit 005acd29f452316f1337132cf4721e4b3a409097
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Thu Aug 5 14:53:03 2021 +0200
Added more mock-data
commit 23ce076912c5b9e7dfa9615d28654d8d09622775
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Thu Aug 5 12:04:37 2021 +0200
Added example api-call to avrop-api service
commit 01629a1e1089e38914825408991276b5e847a709
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Thu Aug 5 11:43:48 2021 +0200
Added mappings
commit b489c2edb99e07929b84309f784eb097d43f31cd
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Thu Aug 5 11:22:49 2021 +0200
Added avrop models and mock-data
commit fe3d61962115e8e5b8bac3bade1609c2ef6a9bac
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Wed Aug 4 15:16:33 2021 +0200
WIP
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
export interface AvropResponse {
|
||||
id: string;
|
||||
deltagare: string;
|
||||
genomforandeReferens: number;
|
||||
orgId: string;
|
||||
leverantorId: number;
|
||||
organisationsnummer: string;
|
||||
utforandeVerksamhetId: number;
|
||||
utforandeverksamhet: string;
|
||||
kommunKod: string;
|
||||
kommun: string;
|
||||
utforandeAdressId: number;
|
||||
adress: string;
|
||||
ordernummer: string;
|
||||
bokningsId: number;
|
||||
personnummer: string;
|
||||
sokandeId: number;
|
||||
tjanstekod: string;
|
||||
tjansteNamn: string;
|
||||
deltagandeGrad: number;
|
||||
startdatumAvrop: string;
|
||||
slutdatumAvrop: string;
|
||||
aktnummerDiariet: string;
|
||||
tolkbehov: string;
|
||||
sprakstod: string;
|
||||
sparkod: string;
|
||||
sparNamn: string;
|
||||
supervisorId: number;
|
||||
recievedTimestamp: string;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
export interface KommunResponse {
|
||||
id: number;
|
||||
name: string;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
export interface TjanstResponse {
|
||||
code: string;
|
||||
name: string;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
export interface UtforandeVerksamhetResponse {
|
||||
id: number;
|
||||
name: string;
|
||||
}
|
||||
54
apps/dafa-web/src/app/shared/models/avrop.model.ts
Normal file
54
apps/dafa-web/src/app/shared/models/avrop.model.ts
Normal file
@@ -0,0 +1,54 @@
|
||||
import { AvropResponse } from './api/avrop.response.model';
|
||||
|
||||
export interface AvropCompact {
|
||||
id: string; // id
|
||||
sokandeId: number; // sokandeId
|
||||
name: string; // deltagare
|
||||
tjanst: string; // tjansteNamn
|
||||
startDate: Date; // startdatumAvrop
|
||||
endDate: Date; // slutdatumAvrop
|
||||
translator: string; // tolkbehov
|
||||
languageSupport: string; // sprakstod
|
||||
utforandeAdress: string; // adress
|
||||
trackCode: string; // sparkod
|
||||
}
|
||||
|
||||
export interface Avrop extends AvropCompact {
|
||||
genomforandeReferens: number; // genomforandeReferens
|
||||
participationFrequency: number; // deltagandeGrad
|
||||
utforandeVerksamhet: string; // utforandeverksamhet
|
||||
}
|
||||
|
||||
export function mapAvropResponseToAvrop(data: AvropResponse): Avrop {
|
||||
const {
|
||||
id,
|
||||
sokandeId,
|
||||
deltagare,
|
||||
tjansteNamn,
|
||||
startdatumAvrop,
|
||||
slutdatumAvrop,
|
||||
tolkbehov,
|
||||
sprakstod,
|
||||
adress,
|
||||
sparkod,
|
||||
genomforandeReferens,
|
||||
deltagandeGrad,
|
||||
utforandeverksamhet,
|
||||
} = data;
|
||||
|
||||
return {
|
||||
id,
|
||||
sokandeId,
|
||||
name: deltagare,
|
||||
tjanst: tjansteNamn,
|
||||
startDate: new Date(startdatumAvrop),
|
||||
endDate: new Date(slutdatumAvrop),
|
||||
translator: tolkbehov,
|
||||
languageSupport: sprakstod,
|
||||
utforandeAdress: adress,
|
||||
trackCode: sparkod,
|
||||
genomforandeReferens,
|
||||
participationFrequency: deltagandeGrad,
|
||||
utforandeVerksamhet: utforandeverksamhet,
|
||||
};
|
||||
}
|
||||
15
apps/dafa-web/src/app/shared/models/kommun.model.ts
Normal file
15
apps/dafa-web/src/app/shared/models/kommun.model.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { KommunResponse } from './api/kommun.response.model';
|
||||
|
||||
export interface Kommun {
|
||||
id: number;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export function mapKommunResponseToKommun(data: KommunResponse): Kommun {
|
||||
const { id, name } = data;
|
||||
|
||||
return {
|
||||
id,
|
||||
name,
|
||||
};
|
||||
}
|
||||
15
apps/dafa-web/src/app/shared/models/tjanst.model.ts
Normal file
15
apps/dafa-web/src/app/shared/models/tjanst.model.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { TjanstResponse } from './api/tjanst.response.model';
|
||||
|
||||
export interface Tjanst {
|
||||
code: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export function mapTjanstResponseToTjanst(data: TjanstResponse): Tjanst {
|
||||
const { code, name } = data;
|
||||
|
||||
return {
|
||||
code,
|
||||
name,
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import { UtforandeVerksamhetResponse } from './api/utforande-verksamhet.response.model';
|
||||
|
||||
export interface UtforandeVerksamhet {
|
||||
id: number;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export function mapUtforandeVerksamhetResponseToUtforandeVerksamhet(
|
||||
data: UtforandeVerksamhetResponse
|
||||
): UtforandeVerksamhet {
|
||||
const { id, name } = data;
|
||||
|
||||
return {
|
||||
id,
|
||||
name,
|
||||
};
|
||||
}
|
||||
@@ -1,9 +1,13 @@
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Observable, of } from 'rxjs';
|
||||
import { delay } from 'rxjs/operators';
|
||||
import { environment } from '@dafa-environment';
|
||||
import { AvropResponse } from '@dafa-models/api/avrop.response.model';
|
||||
import { Avrop, mapAvropResponseToAvrop } from '@dafa-models/avrop.model';
|
||||
import { MultiselectFilterOption } from '@dafa-models/multiselect-filter-option';
|
||||
import { HandledareAvrop } from '../../../pages/avrop/models/handledare-avrop';
|
||||
import { Observable, of } from 'rxjs';
|
||||
import { delay, map } from 'rxjs/operators';
|
||||
import { DeltagareAvrop } from '../../../pages/avrop/models/deltagare-avrop';
|
||||
import { HandledareAvrop } from '../../../pages/avrop/models/handledare-avrop';
|
||||
|
||||
const tempHandledareMock: HandledareAvrop[] = [
|
||||
{ id: '1', fullName: 'Göran Persson' },
|
||||
@@ -28,10 +32,24 @@ const tempTjansterMock: MultiselectFilterOption[] = [
|
||||
|
||||
const tempMockDelay = 300;
|
||||
|
||||
const API_HEADERS = { headers: environment.api.headers };
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class AvropApiService {
|
||||
private _apiBaseUrl = `${environment.api.url}/avrop`;
|
||||
|
||||
private _fetchAllAvrop$: Observable<AvropResponse[]> = this.httpClient.get<AvropResponse[]>(`${this._apiBaseUrl}`, {
|
||||
...API_HEADERS,
|
||||
});
|
||||
|
||||
constructor(private httpClient: HttpClient) {}
|
||||
|
||||
public allAvrop$: Observable<Avrop[]> = this._fetchAllAvrop$.pipe(
|
||||
map(response => response.map(data => mapAvropResponseToAvrop(data)))
|
||||
);
|
||||
|
||||
getNyaDeltagare$(
|
||||
tjanstIds: MultiselectFilterOption[],
|
||||
kommunIds: MultiselectFilterOption[],
|
||||
|
||||
Reference in New Issue
Block a user