diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-views/avvikelse-report-view/avvikelse-report-view.service.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-views/avvikelse-report-view/avvikelse-report-view.service.ts index dbb7d1e..811e052 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-views/avvikelse-report-view/avvikelse-report-view.service.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-views/avvikelse-report-view/avvikelse-report-view.service.ts @@ -30,8 +30,8 @@ export class AvvikelseReportViewService { switchMap(([reasons, questions]) => { return this.handlingarApiService.fetchAvvikelseReport$(handlingId).pipe( map(({ data }) => ({ - genomforandeReferens: data.genomforandeReferens, - avvikelse: mapResponseToAvvikelse(data.avvikelseAlternativ, reasons, questions), + genomforandeReferens: data.content.genomforandeReferens, + avvikelse: mapResponseToAvvikelse(data.content.avvikelseAlternativ, reasons, questions), })) ); }) diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-views/franvaro-report-view/franvaro-report-view.service.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-views/franvaro-report-view/franvaro-report-view.service.ts index 659dc9f..5ff5152 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-views/franvaro-report-view/franvaro-report-view.service.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-views/franvaro-report-view/franvaro-report-view.service.ts @@ -31,8 +31,8 @@ export class FranvaroReportViewService { switchMap(([reasons, otherReasons]) => { return this.handlingarApiService.fetchFranvaroReport$(handlingId).pipe( map(({ data }) => ({ - genomforandeReferens: data.genomforandeReferens, - franvaro: mapResponseToFranvaro(data.franvaro, reasons, otherReasons), + genomforandeReferens: data.content.genomforandeReferens, + franvaro: mapResponseToFranvaro(data.content.franvaro, reasons, otherReasons, data.motivation, data.status), })) ); }) diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-views/slutredovisning-view/slutredovisning-view.service.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-views/slutredovisning-view/slutredovisning-view.service.ts index 35a62b7..395975f 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-views/slutredovisning-view/slutredovisning-view.service.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-views/slutredovisning-view/slutredovisning-view.service.ts @@ -5,6 +5,7 @@ import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service'; import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; +import { mapSlutredovisningResponseToSlutredovisning, Slutredovisning } from '@msfa-models/slutredovisning.model'; @Injectable() export class SlutredovisningViewService { @@ -14,7 +15,12 @@ export class SlutredovisningViewService { return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens); } - public fetchSlutredovisning$(handlingId: string): Observable { - return this.handlingarApiService.fetchSlutredovisning$(handlingId).pipe(map(({ data }) => data)); + public fetchSlutredovisning$(handlingId: string): Observable { + return this.handlingarApiService.fetchSlutredovisning$(handlingId).pipe( + map(({ data }) => data), + map((slutredovisningResponse: SlutredovisningResponse) => + mapSlutredovisningResponseToSlutredovisning(slutredovisningResponse) + ) + ); } } diff --git a/apps/mina-sidor-fa/src/app/shared/models/api/avvikelse-response.model.ts b/apps/mina-sidor-fa/src/app/shared/models/api/avvikelse-response.model.ts index 3cad2d2..15d0b2d 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/api/avvikelse-response.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/api/avvikelse-response.model.ts @@ -8,6 +8,10 @@ export interface AvvikelseResponse { } export interface AvvikelseReportResponse { - genomforandeReferens: number; - avvikelseAlternativ: AvvikelseResponse; + content: { + genomforandeReferens: number; + avvikelseAlternativ: AvvikelseResponse; + }; + status?: string; + motivering?: string; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/api/franvaro-response.model.ts b/apps/mina-sidor-fa/src/app/shared/models/api/franvaro-response.model.ts index 9a80473..5ca5ae6 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/api/franvaro-response.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/api/franvaro-response.model.ts @@ -15,6 +15,10 @@ export interface FranvaroResponse { } export interface FranvaroReportResponse { - genomforandeReferens: number; - franvaro: FranvaroResponse; + content: { + genomforandeReferens: number; + franvaro: FranvaroResponse; + }; + motivation?: string; + status?: string; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/api/gemensam-planering.response.model.ts b/apps/mina-sidor-fa/src/app/shared/models/api/gemensam-planering.response.model.ts index 77dce8c..fce3337 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/api/gemensam-planering.response.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/api/gemensam-planering.response.model.ts @@ -2,4 +2,6 @@ export interface GemensamPlaneringResponse { genomforandeReferens: string; distans: boolean; aktivitetsIds: number[]; + status?: string; + motivation?: string; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/api/informativ-rapport.response.model.ts b/apps/mina-sidor-fa/src/app/shared/models/api/informativ-rapport.response.model.ts index 31c146c..55dd8dc 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/api/informativ-rapport.response.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/api/informativ-rapport.response.model.ts @@ -1,7 +1,11 @@ import { InformativRapportCategoryKey } from '@msfa-enums/informativ-rapport-category.enum'; export interface InformativRapportResponse { - genomforandeReferens: number; - category: InformativRapportCategoryKey; - comment: string; + content: { + genomforandeReferens: number; + category: InformativRapportCategoryKey; + comment: string; + }; + motivation?: string; + status?: string; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/api/periodisk-redovisning.response.model.ts b/apps/mina-sidor-fa/src/app/shared/models/api/periodisk-redovisning.response.model.ts index 727d240..ee5d7d5 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/api/periodisk-redovisning.response.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/api/periodisk-redovisning.response.model.ts @@ -6,38 +6,13 @@ export interface PeriodiskRedovisningActivityResponse { } export interface PeriodiskRedovisningResponse { - genomforandeReferens: number; - period: string; - hasOfferedLanguageSupport: boolean; - hasOfferedJob: boolean; - activities: PeriodiskRedovisningActivityResponse[]; -} - -export function mockOnePeriodiskRedovisningResponse(): PeriodiskRedovisningResponse { - return { - genomforandeReferens: 100003857, - hasOfferedJob: false, - hasOfferedLanguageSupport: true, - period: '2021-10', - activities: [ - { - id: 24, - performedRemotely: false, - performedPhysically: true, - hours: 25, - }, - { - id: 19, - performedRemotely: true, - performedPhysically: false, - hours: 3, - }, - { - id: 31, - performedRemotely: true, - performedPhysically: true, - hours: 2, - }, - ], + content: { + genomforandeReferens: number; + period: string; + hasOfferedLanguageSupport: boolean; + hasOfferedJob: boolean; + activities: PeriodiskRedovisningActivityResponse[]; }; + status?: string; + motivation?: string; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/api/signal.response.model.ts b/apps/mina-sidor-fa/src/app/shared/models/api/signal.response.model.ts index 412bc68..aabe2ef 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/api/signal.response.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/api/signal.response.model.ts @@ -9,9 +9,13 @@ export enum SignalResponseOmfattning { } export interface SignalResponse { - genomforandereferens: number; - type: SignalResponseType; - omfattning: SignalResponseOmfattning; - omfattningPercent: number; - startDate: string; + content: { + genomforandereferens: number; + type: SignalResponseType; + omfattning: SignalResponseOmfattning; + omfattningPercent: number; + startDate: string; + }; + status?: string; + motivation?: string; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/api/slutredovisning.response.model.ts b/apps/mina-sidor-fa/src/app/shared/models/api/slutredovisning.response.model.ts index 22854c8..9635eb1 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/api/slutredovisning.response.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/api/slutredovisning.response.model.ts @@ -65,12 +65,14 @@ export type SlutredovisningResponseMainOccupationDetails = | SlutredovisningResponseMainOccupationStillUnemployed; export interface SlutredovisningResponse { - genomforandereferens: number; - mainOccupation: SlutredovisningResponseMainOccupationDetails; - activities: { id: string; whatHasBeenDone: string; name: string }[]; - progressDescription: string; - nextStepDescription: string; - otherInformation: string; + content: { + genomforandereferens: number; + mainOccupation: SlutredovisningResponseMainOccupationDetails; + activities: { id: string; whatHasBeenDone: string; name: string }[]; + progressDescription: string; + nextStepDescription: string; + otherInformation: string; + }; status?: string; motivation?: string; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/avvikelse.model.ts b/apps/mina-sidor-fa/src/app/shared/models/avvikelse.model.ts index cd46c64..6bd9a18 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/avvikelse.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/avvikelse.model.ts @@ -9,6 +9,8 @@ export interface Avvikelse { answer: string; }[]; date: Date; + motivation?: string; + status?: string; } export interface AvvikelseReport { @@ -19,7 +21,9 @@ export interface AvvikelseReport { export function mapResponseToAvvikelse( data: AvvikelseResponse, reasons: AvvikelseReason[], - questions: AvvikelseQuestion[] + questions: AvvikelseQuestion[], + motivation?: string, + status?: string ): Avvikelse { const { avvikelseOrsakskod, rapporteringsdatum, frageformular } = data; @@ -30,5 +34,7 @@ export function mapResponseToAvvikelse( answer: fraga.svar, })), date: new Date(rapporteringsdatum), + motivation, + status, }; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/franvaro.model.ts b/apps/mina-sidor-fa/src/app/shared/models/franvaro.model.ts index 87a667b..6b5f589 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/franvaro.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/franvaro.model.ts @@ -11,6 +11,8 @@ export interface Franvaro { expectedPresenceEndTime: string; otherKnownReason: string; knownReasonComment: string; + motivation?: string; + status?: string; } export interface FranvaroReport { @@ -21,7 +23,9 @@ export interface FranvaroReport { export function mapResponseToFranvaro( data: FranvaroResponse, reasons: FranvaroReason[], - otherKnownReasons: FranvaroReason[] + otherKnownReasons: FranvaroReason[], + motivation?: string, + status?: string ): Franvaro { const { avvikelseOrsaksKod, datum, heldag, startTid, slutTid, alternativForKandaOrsaker, forvantadNarvaro } = data; @@ -37,5 +41,7 @@ export function mapResponseToFranvaro( knownReasonComment: alternativForKandaOrsaker?.motivering || null, expectedPresenceStartTime: forvantadNarvaro.startTid, expectedPresenceEndTime: forvantadNarvaro.slutTid, + motivation, + status, }; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/gemensam-planering.model.ts b/apps/mina-sidor-fa/src/app/shared/models/gemensam-planering.model.ts index e923d4e..5b8596a 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/gemensam-planering.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/gemensam-planering.model.ts @@ -12,6 +12,8 @@ export interface GemensamPlaneringDetailed { genomforandeReferens: number; distance: boolean; activities: string[]; + status?: string; + motivation?: string; } export function mapGemensamPlaneringToGemensamPlaneringPostRequest( @@ -30,11 +32,13 @@ export function mapResponseToGemensamPlaneringDetailed( data: GemensamPlaneringResponse, activities: Activity[] ): GemensamPlaneringDetailed { - const { genomforandeReferens, distans, aktivitetsIds } = data; + const { genomforandeReferens, distans, aktivitetsIds, status, motivation } = data; return { genomforandeReferens: +genomforandeReferens, distance: distans, activities: aktivitetsIds.map(id => activities.find(activity => activity.id === id).name), + status, + motivation, }; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/informativ-rapport.model.ts b/apps/mina-sidor-fa/src/app/shared/models/informativ-rapport.model.ts index 94ef1aa..db47bd0 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/informativ-rapport.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/informativ-rapport.model.ts @@ -5,14 +5,18 @@ export interface InformativRapport { genomforandeReferens: number; category: InformativRapportCategory; comment: string; + motivation?: string; + status?: string; } export function mapResponseToInformativRapport(data: InformativRapportResponse): InformativRapport { - const { genomforandeReferens, category, comment } = data; + const { genomforandeReferens, category, comment } = data.content; return { genomforandeReferens, category: InformativRapportCategory[category] as InformativRapportCategory, comment: comment, + motivation: data.motivation, + status: data.status, }; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/periodisk-redovisning.model.ts b/apps/mina-sidor-fa/src/app/shared/models/periodisk-redovisning.model.ts index 2a786c6..eac74de 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/periodisk-redovisning.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/periodisk-redovisning.model.ts @@ -15,13 +15,15 @@ export interface PeriodiskRedovisning { hasOfferedLanguageSupport: boolean; hasOfferedJob: boolean; activities: PeriodiskRedovisningActivity[]; + motivation?: string; + status?: string; } export function mapResponseToPeriodiskRedovisning( data: PeriodiskRedovisningResponse, allActivities: Activity[] ): PeriodiskRedovisning { - const { genomforandeReferens, period, hasOfferedLanguageSupport, hasOfferedJob, activities } = data; + const { genomforandeReferens, period, hasOfferedLanguageSupport, hasOfferedJob, activities } = data.content; return { genomforandeReferens, @@ -35,5 +37,7 @@ export function mapResponseToPeriodiskRedovisning( performedPhysically, hours, })), + motivation: data.motivation, + status: data.status, }; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/signal.model.ts b/apps/mina-sidor-fa/src/app/shared/models/signal.model.ts index c4f9f9e..b1b1ba2 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/signal.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/signal.model.ts @@ -1,7 +1,15 @@ -import { SignalResponse } from './api/signal.response.model'; +import { SignalResponse, SignalResponseOmfattning, SignalResponseType } from './api/signal.response.model'; -export type Signal = SignalResponse; +export interface Signal { + genomforandereferens: number; + type: SignalResponseType; + omfattning: SignalResponseOmfattning; + omfattningPercent: number; + startDate: string; + status?: string; + motivation?: string; +} export function mapResponseToSignal(data: SignalResponse): Signal { - return data; + return { motivation: data.motivation, status: data.status, ...data.content }; } diff --git a/apps/mina-sidor-fa/src/app/shared/models/slutredovisning.model.ts b/apps/mina-sidor-fa/src/app/shared/models/slutredovisning.model.ts index 94aced7..3b15a86 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/slutredovisning.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/slutredovisning.model.ts @@ -1,4 +1,7 @@ -import { SlutredovisningResponse } from '@msfa-models/api/slutredovisning.response.model'; +import { + SlutredovisningResponse, + SlutredovisningResponseMainOccupationDetails, +} from '@msfa-models/api/slutredovisning.response.model'; export enum MainOccupation { Work = 'work', @@ -88,7 +91,26 @@ export function omfattningToString(omfattning: Omfattning): string | null { } } -export type Slutredovisning = SlutredovisningResponse; +export interface Slutredovisning { + genomforandereferens: number; + mainOccupation: SlutredovisningResponseMainOccupationDetails; + activities: { id: string; whatHasBeenDone: string; name: string }[]; + progressDescription: string; + nextStepDescription: string; + otherInformation: string; + status?: string; + motivation?: string; +} + +export function mapSlutredovisningResponseToSlutredovisning( + slutredovisningResponse: SlutredovisningResponse +): Slutredovisning { + return { + ...slutredovisningResponse.content, + status: slutredovisningResponse.status, + motivation: slutredovisningResponse.motivation, + }; +} export function mainOccupationToString(mainOccupation: MainOccupation): string | null { switch (mainOccupation) {