From 4f7ca1d1187b354d9d6dc0a4c58b875735a2a127 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halvor=20Grizzly=20Bj=C3=B8rn?= Date: Wed, 15 Jan 2025 14:21:42 +0100 Subject: [PATCH 1/2] :alien: Flytter send ettersendelse endepunkt til app-router --- .../api/ettersendelseinnsending/send/route.ts | 42 +++++-------------- lib/services/innsendingService.ts | 17 +++++++- 2 files changed, 27 insertions(+), 32 deletions(-) rename pages/api/ettersendelseinnsending/send.ts => app/api/ettersendelseinnsending/send/route.ts (50%) diff --git a/pages/api/ettersendelseinnsending/send.ts b/app/api/ettersendelseinnsending/send/route.ts similarity index 50% rename from pages/api/ettersendelseinnsending/send.ts rename to app/api/ettersendelseinnsending/send/route.ts index 66beae62..916ffe8b 100644 --- a/pages/api/ettersendelseinnsending/send.ts +++ b/app/api/ettersendelseinnsending/send/route.ts @@ -1,45 +1,27 @@ -import { beskyttetApi, isMock, logError } from '@navikt/aap-felles-utils'; -import { IncomingMessage } from 'http'; -import { simpleTokenXProxy } from 'lib/api/simpleTokenXProxy'; +import { logError } from '@navikt/aap-felles-utils'; +import { sendEttersendelse } from 'lib/services/innsendingService'; import { Ettersendelse, InnsendingBackendState, VedleggType } from 'lib/types/types'; +import { NextRequest } from 'next/server'; -const handler = beskyttetApi(async (req, res) => { - const { ettersendteVedlegg, søknadId }: Ettersendelse = JSON.parse(req.body); +export async function POST(req: NextRequest) { + const body = await req.json(); + const { ettersendteVedlegg, søknadId }: Ettersendelse = body; const ettersending = ettersendteVedlegg[0]; - const body: InnsendingBackendState = { + const requestBody: InnsendingBackendState = { filer: ettersending.ettersending.map((ettersendtVedlegg) => ({ id: ettersendtVedlegg, tittel: mapVedleggTypeTilVedleggstekst(ettersending.vedleggType), })), }; - await sendEttersendelseInnsending(body, søknadId, req); - - res.status(201).json({}); -}); - -export const sendEttersendelseInnsending = async ( - data: InnsendingBackendState, - innsendingsId?: string, - req?: IncomingMessage -) => { - if (isMock()) { - return {}; - } try { - const ettersendelse = await simpleTokenXProxy({ - url: `${process.env.INNSENDING_URL}/innsending${innsendingsId ? `/${innsendingsId}` : ''}`, - audience: process.env.INNSENDING_AUDIENCE!, - method: 'POST', - req, - body: data, - }); - return ettersendelse; + await sendEttersendelse(requestBody, søknadId); + return new Response(null, { status: 201 }); } catch (error) { logError('Error sending ettersendelse', error); - throw new Error('Error sending ettersendelse'); + return new Response('Error sending ettersendelse', { status: 500 }); } -}; +} function mapVedleggTypeTilVedleggstekst(vedleggType: VedleggType): string { switch (vedleggType) { @@ -59,5 +41,3 @@ function mapVedleggTypeTilVedleggstekst(vedleggType: VedleggType): string { return vedleggType; } } - -export default handler; diff --git a/lib/services/innsendingService.ts b/lib/services/innsendingService.ts index 80fcb117..bf3b2f51 100644 --- a/lib/services/innsendingService.ts +++ b/lib/services/innsendingService.ts @@ -1,7 +1,7 @@ import 'server-only'; import { fetchProxy } from 'lib/services/fetchProxy'; -import { MineAapSoknadMedEttersendingNy } from 'lib/types/types'; +import { InnsendingBackendState, MineAapSoknadMedEttersendingNy } from 'lib/types/types'; import { isMock } from 'lib/utils/environments'; import { mockSøknerMedEttersending } from 'lib/mock/mockSoknad'; import { isAfter } from 'date-fns'; @@ -23,3 +23,18 @@ export const hentSøknader = async (): Promise return []; } }; + +export const sendEttersendelse = async (data: InnsendingBackendState, innsendingsId?: string): Promise => { + if (isMock()) { + return {}; + } + const erGenerellEttersendelse = innsendingsId ? true : false; + const url = `${innsendingApiBaseUrl}/innsending${erGenerellEttersendelse ? `/${innsendingsId}` : ''}`; + try { + const ettersendelse = await fetchProxy(url, innsendingAudience, 'POST', data); + return ettersendelse; + } catch (error) { + logError('Error sending ettersendelse', error); + throw new Error('Error sending ettersendelse'); + } +}; From 2232c93d31673efcdf502f9429c1c65899b3d0ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halvor=20Grizzly=20Bj=C3=B8rn?= Date: Wed, 15 Jan 2025 14:53:57 +0100 Subject: [PATCH 2/2] Ber om riktig type obo token --- lib/services/fetchProxy.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/services/fetchProxy.ts b/lib/services/fetchProxy.ts index 3f7d0f86..b4948646 100644 --- a/lib/services/fetchProxy.ts +++ b/lib/services/fetchProxy.ts @@ -1,6 +1,6 @@ 'use server'; -import { requestAzureOboToken, validateToken } from '@navikt/oasis'; +import { requestOboToken, validateToken } from '@navikt/oasis'; import { getAccessTokenOrRedirectToLogin, logError } from '@navikt/aap-felles-utils'; import { headers } from 'next/headers'; @@ -19,10 +19,10 @@ const getOnBefalfOfToken = async (audience: string, url: string): Promise