From e1f8ec39bf6e6ec660da99098de1aa08f3cd0e22 Mon Sep 17 00:00:00 2001 From: Thomas Rognes <33520517+thomasrognes@users.noreply.github.com> Date: Wed, 18 Oct 2023 11:21:24 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A8=20Skriver=20migrering=20for=20vedl?= =?UTF-8?q?egg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Øivind Stensrud Co-authored-by: Tor Idland --- lib/utils/migrerRequiredVedlegg.ts | 6 ++++-- pages/[step].tsx | 22 ++++++++++++++++------ types/SoknadContext.tsx | 2 +- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/lib/utils/migrerRequiredVedlegg.ts b/lib/utils/migrerRequiredVedlegg.ts index 36d0e20e..15cd4f47 100644 --- a/lib/utils/migrerRequiredVedlegg.ts +++ b/lib/utils/migrerRequiredVedlegg.ts @@ -8,8 +8,10 @@ import { RequiredVedlegg } from '../../types/SoknadContext'; import { SoknadVedlegg } from '../../types/Soknad'; -export function migrerRequiredVedlegg(requiredVedlegg: RequiredVedlegg[]): RequiredVedlegg[] { - return requiredVedlegg.map((vedlegg) => { +export function migrerRequiredVedlegg( + requiredVedlegg?: RequiredVedlegg[] +): RequiredVedlegg[] | undefined { + return requiredVedlegg?.map((vedlegg) => { const type = vedlegg.type as string; if (type === 'avbruttStudie') { return { ...vedlegg, type: 'AVBRUTT_STUDIE' }; diff --git a/pages/[step].tsx b/pages/[step].tsx index 1e98938a..e995cb58 100644 --- a/pages/[step].tsx +++ b/pages/[step].tsx @@ -119,7 +119,7 @@ const Steps = ({ søker, mellomlagretSøknad }: PageProps) => { const postResponse = await postSøknad({ søknad, kvittering: søknadPdf }); if (postResponse?.ok) { - const harVedlegg = søknadState?.requiredVedlegg?.length > 0; + const harVedlegg = søknadState.requiredVedlegg && søknadState?.requiredVedlegg?.length > 0; const erIkkeKomplett = !!søknadState?.requiredVedlegg?.find( (vedlegg) => !vedlegg.completed ); @@ -234,11 +234,21 @@ export const getServerSideProps = beskyttetSide( const migrertRequiredVedlegg = migrerRequiredVedlegg(mellomlagretSøknad.requiredVedlegg); const migrertVedlegg = migrerVedlegg(mellomlagretSøknad.søknad?.vedlegg); - const updatedMellomLagretSøknad = { - ...mellomlagretSøknad, - søknad: { ...mellomlagretSøknad.søknad, vedlegg: migrertVedlegg }, - requiredVedlegg: migrertRequiredVedlegg, - }; + let updatedMellomLagretSøknad = mellomlagretSøknad; + + if (migrertRequiredVedlegg) { + updatedMellomLagretSøknad = { + ...updatedMellomLagretSøknad, + requiredVedlegg: migrertRequiredVedlegg, + }; + } + + if (migrertVedlegg) { + updatedMellomLagretSøknad = { + ...updatedMellomLagretSøknad, + søknad: { ...mellomlagretSøknad.søknad, vedlegg: migrertVedlegg }, + }; + } return { props: { søker, mellomlagretSøknad: updatedMellomLagretSøknad }, diff --git a/types/SoknadContext.tsx b/types/SoknadContext.tsx index dc3b4e5d..8e799933 100644 --- a/types/SoknadContext.tsx +++ b/types/SoknadContext.tsx @@ -19,7 +19,7 @@ export interface GenericSoknadContextState { type?: SøknadType; søknad?: SoknadStateType; lagretStepList?: Array; - requiredVedlegg: RequiredVedlegg[]; + requiredVedlegg?: RequiredVedlegg[]; søknadUrl?: string; sistLagret?: string; }