diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/slutredovisning-form/utils/forms-to-slutredovisning-form-data.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/slutredovisning-form/utils/forms-to-slutredovisning-form-data.ts index cda4d41..b994a93 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/slutredovisning-form/utils/forms-to-slutredovisning-form-data.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/slutredovisning-form/utils/forms-to-slutredovisning-form-data.ts @@ -1,4 +1,7 @@ -import { SlutredovisningRequest } from '@msfa-models/api/slutredovisning.request.model'; +import { + SlutredovisningRequest, + SlutredovisningRequestMainOccupationType, +} from '@msfa-models/api/slutredovisning.request.model'; import { Anstallningsform, MainOccupation, @@ -90,8 +93,20 @@ export function formsToSlutredovisningFormData( export function slutredovisningFormDataToSlutredovisningRequest( slutredovisningResponse: SlutredovisningFormData ): SlutredovisningRequest { + const mainOccupationToSwedish: { [key: string]: SlutredovisningRequestMainOccupationType } = { + [MainOccupation.Work]: 'arbete', + [MainOccupation.Education]: 'utbildning', + [MainOccupation.ByteTillNyLeverantorIRustaOchMatcha]: 'byte till ny leverantör i rusta och matcha', + [MainOccupation.StillUnemployed]: 'fortsatt arbetssökande', + [MainOccupation.Other]: 'annat', + }; + return { ...slutredovisningResponse, + mainOccupation: { + ...slutredovisningResponse.mainOccupation, + type: mainOccupationToSwedish[slutredovisningResponse.mainOccupation.type], + }, activities: slutredovisningResponse.activities.map(({ whatHasBeenDone, id }) => ({ whatHasBeenDone, id })), }; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/api/slutredovisning.request.model.ts b/apps/mina-sidor-fa/src/app/shared/models/api/slutredovisning.request.model.ts index a176ff2..d349c59 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/api/slutredovisning.request.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/api/slutredovisning.request.model.ts @@ -2,7 +2,6 @@ import { Anstallningsform, EducationLength, EducationLevel, - MainOccupation, Omfattning, StillUnemployedReason, } from '@msfa-models/slutredovisning.model'; @@ -17,7 +16,7 @@ export interface SlutredovisningRequestMainOccupationWorkDetails { } export interface SlutredovisningRequestMainOccupationWork { - type: MainOccupation.Work; + type: 'arbete'; work: SlutredovisningRequestMainOccupationWorkDetails[]; } @@ -28,8 +27,20 @@ export interface SlutredovisningRequestMainOccupationEducationDetails { educationSpecification: string; } -export interface SlutredovisningRequestMainOccupationEducation { - type: MainOccupation.Education; +export type SlutredovisningRequestMainOccupationType = + | 'arbete' + | 'utbildning' + | 'annat' + | 'fortsatt arbetssökande' + | 'byte till ny leverantör i rusta och matcha'; + +interface SlutredovisningRequestMainOccupationEducationBase { + type: SlutredovisningRequestMainOccupationType; +} + +export interface SlutredovisningRequestMainOccupationEducation + extends SlutredovisningRequestMainOccupationEducationBase { + type: 'utbildning'; education: SlutredovisningRequestMainOccupationEducationDetails; } @@ -37,8 +48,7 @@ export interface SlutredovisningRequestMainOccupationOtherDetails { otherExplanation: string; } -export interface SlutredovisningRequestMainOccupationOther { - type: MainOccupation.Other; +export interface SlutredovisningRequestMainOccupationOther extends SlutredovisningRequestMainOccupationEducationBase { other: SlutredovisningRequestMainOccupationOtherDetails; } @@ -47,13 +57,11 @@ export interface SlutredovisningRequestMainOccupationStillUnemployedDetails { otherExplanation: string; } -export interface SlutredovisningRequestMainOccupationStillUnemployed { - type: MainOccupation.StillUnemployed; +export interface SlutredovisningRequestMainOccupationStillUnemployed + extends SlutredovisningRequestMainOccupationEducationBase { stillUnemployed: SlutredovisningRequestMainOccupationStillUnemployedDetails; } -export interface SlutredovisningRequestMainOccupationChangeVendor { - type: MainOccupation.ByteTillNyLeverantorIRustaOchMatcha; -} +export type SlutredovisningRequestMainOccupationChangeVendor = SlutredovisningRequestMainOccupationEducationBase; export type SlutredovisningRequestMainOccupationDetails = | SlutredovisningRequestMainOccupationWork