From f2d6709270b6701b1c2a0793af01426e43fd728a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halvor=20Grizzly=20Bj=C3=B8rn?= Date: Wed, 4 Dec 2024 15:25:59 +0100 Subject: [PATCH] =?UTF-8?q?:alien:=20St=C3=B8tter=20nytt=20endepunkt=20fra?= =?UTF-8?q?=20innsending=20p=C3=A5=20ettersendelse=20ogs=C3=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/Soknad/SoknadInnsending.tsx | 10 ++++---- next-env.d.ts | 3 ++- pages/[uuid]/ettersendelse/index.tsx | 24 ++++++++++++++++++- .../api/soknader/soknadermedettersendinger.ts | 1 + pages/index.tsx | 5 +++- pages/soknader.tsx | 8 ++++--- 6 files changed, 40 insertions(+), 11 deletions(-) diff --git a/components/Soknad/SoknadInnsending.tsx b/components/Soknad/SoknadInnsending.tsx index 2c47b6cb..ad2fba03 100644 --- a/components/Soknad/SoknadInnsending.tsx +++ b/components/Soknad/SoknadInnsending.tsx @@ -2,7 +2,7 @@ import * as styles from './Soknad.module.css'; import { Alert, BodyShort, Button, Heading, Link } from '@navikt/ds-react'; import { ButtonRow } from 'components/ButtonRow/ButtonRow'; import { DocumentationHeading } from 'components/DocumentationHeading/DocumentationHeading'; -import { Dokument, InnsendingSøknad, MineAapSoknadMedEttersendinger } from 'lib/types/types'; +import { Dokument, InnsendingSøknad } from 'lib/types/types'; import { formatDate } from 'lib/utils/date'; import { useRouter } from 'next/router'; import { useEffect, useMemo, useState } from 'react'; @@ -16,10 +16,10 @@ interface DokumentMedTittel { export const SoknadInnsending = ({ søknad, - ettersendelse, + ettersendelser, }: { søknad: InnsendingSøknad; - ettersendelse?: MineAapSoknadMedEttersendinger; + ettersendelser: InnsendingSøknad[]; }) => { const [dokumenter, setDokumenter] = useState(undefined); @@ -50,7 +50,7 @@ export const SoknadInnsending = ({ }); }); - ettersendelse?.ettersendinger.forEach((ettersendelse) => { + ettersendelser.forEach((ettersendelse) => { const dokument = dokumenter.filter((dokument) => dokument.journalpostId === ettersendelse.journalpostId); dokument.forEach((dokument) => { @@ -65,7 +65,7 @@ export const SoknadInnsending = ({ return dokumenterMedTittel.filter((dokument) => dokument !== undefined) as DokumentMedTittel[]; // filter out undefined } return []; - }, [dokumenter, ettersendelse, søknad]); + }, [dokumenter, ettersendelser, søknad]); return (
diff --git a/next-env.d.ts b/next-env.d.ts index a4a7b3f5..725dd6f2 100755 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,5 +1,6 @@ /// /// +/// // NOTE: This file should not be edited -// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. +// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. diff --git a/pages/[uuid]/ettersendelse/index.tsx b/pages/[uuid]/ettersendelse/index.tsx index 1ae07113..cb65a45b 100644 --- a/pages/[uuid]/ettersendelse/index.tsx +++ b/pages/[uuid]/ettersendelse/index.tsx @@ -1,10 +1,11 @@ import { GetServerSidePropsResult, NextPageContext } from 'next'; import { InnsendingSøknad } from 'lib/types/types'; import { getStringFromPossiblyArrayQuery } from '@navikt/aap-felles-utils-client'; -import { beskyttetSide } from '@navikt/aap-felles-utils'; +import { beskyttetSide, logError } from '@navikt/aap-felles-utils'; import metrics from 'lib/metrics'; import { getSøknaderInnsending } from 'pages/api/soknader/soknader'; import { EttersendelseInnsending } from 'components/ettersendelseinnsending/EttersendelseInnsending'; +import { getSøknaderMedEttersendinger } from 'pages/api/soknader/soknadermedettersendinger'; interface PageProps { søknadFraInnsending?: InnsendingSøknad; @@ -27,7 +28,28 @@ export const getServerSideProps = beskyttetSide(async (ctx: NextPageContext): Pr path: '/{uuid}/ettersendelse', }); + try { + const søknaderMedEttersendinger = await getSøknaderMedEttersendinger(ctx.req); + + if (søknaderMedEttersendinger?.length > 0) { + const søknadFraInnsending = + søknaderMedEttersendinger.find((søknad) => søknad.innsendingsId === parseInt(uuid)) ?? null; + stopTimer(); + if (!søknadFraInnsending) { + return { + notFound: true, + }; + } + + return { + props: { søknadFraInnsending }, + }; + } + } catch (error) { + logError('Feil ved henting av søknader med ettersendinger mot nytt endepunkt', error); + } const søknaderFraInnsending = await getSøknaderInnsending(ctx.req); + const søknadFraInnsending = søknaderFraInnsending.find((søknad) => søknad.innsendingsId === uuid) ?? null; stopTimer(); diff --git a/pages/api/soknader/soknadermedettersendinger.ts b/pages/api/soknader/soknadermedettersendinger.ts index 8333467f..be0916d7 100644 --- a/pages/api/soknader/soknadermedettersendinger.ts +++ b/pages/api/soknader/soknadermedettersendinger.ts @@ -13,6 +13,7 @@ const handler = beskyttetApi(async (req, res) => { export const getSøknaderMedEttersendinger = async ( req?: IncomingMessage ): Promise => { + //throw new Error('Not implemented'); if (isMock()) return mockSøknerMedEttersending; try { const søknader = await simpleTokenXProxy({ diff --git a/pages/index.tsx b/pages/index.tsx index a4a05950..72bea463 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -34,6 +34,8 @@ const Index = ({ const router = useRouter(); const sisteSøknadInnsendingNy: InnsendingSøknad | undefined = søknaderMedEttersendinger[0] ?? sisteSøknadInnsending; + const ettersendelser: InnsendingSøknad[] = + søknaderMedEttersendinger[0]?.ettersendinger ?? ettersendelse?.ettersendinger; useEffect(() => { if (sisteSøknadInnsending != undefined && sisteSøknadInnsending.mottattDato != undefined) { @@ -80,7 +82,7 @@ const Index = ({ - + )} @@ -133,6 +135,7 @@ export const getServerSideProps = beskyttetSide(async (ctx: NextPageContext): Pr const søknaderMedEttersendinger = await getSøknaderMedEttersendinger(ctx.req); if (søknaderMedEttersendinger?.length > 0) { + stopTimer(); return { props: { søknaderMedEttersendinger: søknaderMedEttersendinger }, }; diff --git a/pages/soknader.tsx b/pages/soknader.tsx index 11df5fed..47ed6bb4 100644 --- a/pages/soknader.tsx +++ b/pages/soknader.tsx @@ -52,9 +52,11 @@ const Søknader = ({ innsendingSøknader, søknaderMedEttersending }: PageProps) søknadMedEttersending.innsendingsId === søknad.innsendingsId - )} + ettersendelser={ + søknaderMedEttersending.find( + (søknadMedEttersending) => søknadMedEttersending.innsendingsId === søknad.innsendingsId + )?.ettersendinger ?? [] + } /> ))}