From 959c0a82625cee4aeb8687f0dce57f6958665465 Mon Sep 17 00:00:00 2001 From: Jostein Holje Date: Wed, 23 Nov 2022 15:26:01 +0100 Subject: [PATCH] f dagpengerStatus: returner antallDagerSidenDagpengerStanset --- .../beregnAntallDagerSidenDagpengerStanset.ts | 20 +++++++++++++++++++ src/api/data/dagpengerStatus/index.ts | 9 ++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 src/api/data/dagpengerStatus/beregnAntallDagerSidenDagpengerStanset.ts diff --git a/src/api/data/dagpengerStatus/beregnAntallDagerSidenDagpengerStanset.ts b/src/api/data/dagpengerStatus/beregnAntallDagerSidenDagpengerStanset.ts new file mode 100644 index 0000000..b59816c --- /dev/null +++ b/src/api/data/dagpengerStatus/beregnAntallDagerSidenDagpengerStanset.ts @@ -0,0 +1,20 @@ +import { DagpengeStatus, Vedtak } from './typer'; +import { dagerFraDato } from './beregnArbeidssokerPerioder'; + +const sorterEtterNyesteVedtak = (a: Vedtak, b: Vedtak) => + new Date(b.datoFattet).getTime() - new Date(a.datoFattet).getTime(); + +function beregnAntallDagerSidenDagpengerStanset(dagpengerStatus: DagpengeStatus, dagpengeVedtak: Vedtak[]) { + const sisteDagpengevedtak = dagpengeVedtak + .filter((vedtak) => vedtak.status === 'INNVILGET') + .sort(sorterEtterNyesteVedtak)[0]; + + const antallDagerSidenDagpengerStanset = + sisteDagpengevedtak?.tilDato && dagpengerStatus === 'stanset' + ? dagerFraDato(new Date(sisteDagpengevedtak.tilDato)) + : undefined; + + return antallDagerSidenDagpengerStanset; +} + +export default beregnAntallDagerSidenDagpengerStanset; diff --git a/src/api/data/dagpengerStatus/index.ts b/src/api/data/dagpengerStatus/index.ts index cb70ee2..c1d6438 100644 --- a/src/api/data/dagpengerStatus/index.ts +++ b/src/api/data/dagpengerStatus/index.ts @@ -6,6 +6,7 @@ import { Auth, getTokenFromCookie } from '../../../auth/tokenDings'; import beregnDagpengeStatus from './beregnDagpengeStatus'; import beregnArbeidssokerperioder from './beregnArbeidssokerPerioder'; import logger from '../../../logger'; +import beregnAntallDagerSidenDagpengerStanset from './beregnAntallDagerSidenDagpengerStanset'; function dagpengerStatus( tokenDings: Auth, @@ -74,7 +75,13 @@ function dagpengerStatus( arbeidssokerperioder, }); - return res.status(200).send({ dagpengerStatus }); + const antallDagerSidenDagpengerStanset = + beregnAntallDagerSidenDagpengerStanset(dagpengerStatus, dagpengeVedtak) || 'N/A'; + + return res.status(200).send({ + dagpengerStatus, + antallDagerSidenDagpengerStanset, + }); } catch (err) { logger.error(`Feil med /dagpenger-status kall: ${err}`); return res.status(500).end();