diff --git a/apps/dafa-web/src/app/shared/models/education.model.ts b/apps/dafa-web/src/app/shared/models/education.model.ts index 9b6b823..4dd0027 100644 --- a/apps/dafa-web/src/app/shared/models/education.model.ts +++ b/apps/dafa-web/src/app/shared/models/education.model.ts @@ -1,3 +1,4 @@ +import { formatToIsoDate } from '@dafa-utils/format-to-iso-date.util'; import { EducationResponse } from './api/education.response.model'; export interface Education { @@ -15,7 +16,7 @@ export function mapResponseToEducation(data: EducationResponse): Education { education: utbildning, description: beskrivning, organizer: anordnare, - dateFrom: period_from, - dateTo: period_tom, + dateFrom: formatToIsoDate(period_from), + dateTo: formatToIsoDate(period_tom), }; } diff --git a/apps/dafa-web/src/app/shared/models/work-experience.model.ts b/apps/dafa-web/src/app/shared/models/work-experience.model.ts index ae2754f..eb25bf3 100644 --- a/apps/dafa-web/src/app/shared/models/work-experience.model.ts +++ b/apps/dafa-web/src/app/shared/models/work-experience.model.ts @@ -1,3 +1,4 @@ +import { formatToIsoDate } from '@dafa-utils/format-to-iso-date.util'; import { WorkExperienceResponse } from './api/work-experience.response.model'; export interface WorkExperience { @@ -15,7 +16,7 @@ export function mapResponseToWorkExperience(data: WorkExperienceResponse): WorkE profession: yrke, description: beskrivning, employer: arbetsgivare, - dateFrom: period_from, - dateTo: period_tom, + dateFrom: formatToIsoDate(period_from), + dateTo: formatToIsoDate(period_tom), }; } diff --git a/apps/dafa-web/src/app/shared/services/api/deltagare.service.ts b/apps/dafa-web/src/app/shared/services/api/deltagare.service.ts index d88878f..5d1444d 100644 --- a/apps/dafa-web/src/app/shared/services/api/deltagare.service.ts +++ b/apps/dafa-web/src/app/shared/services/api/deltagare.service.ts @@ -18,7 +18,7 @@ import { Education, mapResponseToEducation } from '@dafa-models/education.model' import { HighestEducation, mapResponseToHighestEducation } from '@dafa-models/highest-education.model'; import { mapResponseToWorkExperience, WorkExperience } from '@dafa-models/work-experience.model'; import { combineLatest, Observable } from 'rxjs'; -import { map } from 'rxjs/operators'; +import { map, tap } from 'rxjs/operators'; const API_HEADERS = { headers: environment.api.headers }; @@ -80,10 +80,11 @@ export class DeltagareService { } private _fetchDisabilities$(id: string): Observable { return this.httpClient - .get(`${this._apiBaseUrl}/work/disability/${id}`, { ...API_HEADERS }) + .get(`${this._apiBaseUrl}/work/disability/${id}`, { ...API_HEADERS }) .pipe( + tap(response => console.log(response)), map(response => - response ? response.map(funktionsnedsattning => mapResponseToDisability(funktionsnedsattning)) : [] + response ? response[0].map(funktionsnedsattning => mapResponseToDisability(funktionsnedsattning)) : [] ) ); } @@ -102,7 +103,7 @@ export class DeltagareService { // } private _fetchWorkExperiences$(id: string): Observable { return this.httpClient - .get<{ data: WorkExperiencesResponse }>(`${this._apiBaseUrl}/work/${id}`, { ...API_HEADERS }) + .get<{ data: WorkExperiencesResponse }>(`${this._apiBaseUrl}/work/experience/${id}`, { ...API_HEADERS }) .pipe( map(response => response.data.arbetslivserfarenheter @@ -133,16 +134,27 @@ export class DeltagareService { this._fetchTranslator$(id), this._fetchWorkLanguages$(id), this._fetchDisabilities$(id), + this._fetchWorkExperiences$(id), ]).pipe( map( - ([contactInformation, driversLicense, highestEducation, educations, translator, workLanguages, disabilities]: [ + ([ + contactInformation, + driversLicense, + highestEducation, + educations, + translator, + workLanguages, + disabilities, + workExperiences, + ]: [ ContactInformation, DriversLicense, HighestEducation, Education[], string, string[], - Disability[] + Disability[], + WorkExperience[] ]) => ({ id, ...contactInformation, @@ -152,6 +164,7 @@ export class DeltagareService { translator, workLanguages, disabilities, + workExperiences, }) ) ); diff --git a/apps/dafa-web/src/app/shared/utils/format-to-iso-date.util.ts b/apps/dafa-web/src/app/shared/utils/format-to-iso-date.util.ts new file mode 100644 index 0000000..a1249e2 --- /dev/null +++ b/apps/dafa-web/src/app/shared/utils/format-to-iso-date.util.ts @@ -0,0 +1,10 @@ +// Takes either 6 or 8 characters string (YYYYMMDD) and formats it to ISO standard (YYYY-MM-DD). +export function formatToIsoDate(date: string): string { + if (date.length === 6) { + return `${date.substring(0, 4)}-${date.substring(4)}`; + } else if (date.length === 8) { + return `${date.substring(0, 4)}-${date.substring(4, 6)}-${date.substring(6)}`; + } + + return date; +}