Skip to content

Commit

Permalink
Skrive bort egne api
Browse files Browse the repository at this point in the history
  • Loading branch information
frodehansen2 committed Sep 30, 2024
1 parent 632e82d commit 94b1a34
Show file tree
Hide file tree
Showing 35 changed files with 174 additions and 475 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"@navikt/ds-react": "7.1.0",
"@navikt/ds-tailwind": "7.1.0",
"@navikt/sif-app-register": "*",
"@navikt/sif-common": "*",
"@navikt/sif-common-amplitude": "*",
"@navikt/sif-common-core-ds": "*",
"@navikt/sif-common-formik-ds": "*",
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import { getMellomlagringService, MellomlagringYtelse, RegistrertBarn, Søker } from '@navikt/sif-common';
import { jsonSort } from '@navikt/sif-common-utils';
import hash from 'object-hash';
import { SØKNAD_VERSJON } from '../constants/SØKNAD_VERSJON';
import { SøknadContextState } from '../types/SøknadContextState';
import { isValidSøknadRoute } from '../utils/søknadRoutesUtils';

export type MellomlagringData = Omit<SøknadContextState, 'søker'> & {
søknadHashString: string;
};

interface SøknadStateHashInfo {
søker: Søker;
registrerteBarn: RegistrertBarn[];
}

const createHashString = (info: SøknadStateHashInfo) => {
return hash(JSON.stringify(jsonSort(info)));
};

const isMellomlagringValid = (søknadState: MellomlagringData, info: SøknadStateHashInfo): boolean => {
return (
søknadState.versjon === SØKNAD_VERSJON &&
søknadState.søknadsdata?.velkommen?.harForståttRettigheterOgPlikter === true &&
søknadState.søknadHashString === createHashString(info) &&
isValidSøknadRoute(søknadState.søknadRoute)
);
};

const service = getMellomlagringService<MellomlagringData>(MellomlagringYtelse.OMSORGSPENGER_UTBETALING_ARBEIDSTAKER);

export const mellomlagringService = {
...service,
update: async ({
søker,
søknadsdata,
søknadRoute,
søknadSendt,
registrerteBarn,
tempFormValues,
}: SøknadContextState) => {
return service.update({
søknadHashString: createHashString({ søker, registrerteBarn }),
søknadsdata,
søknadRoute,
søknadSendt,
tempFormValues,
registrerteBarn,
versjon: SØKNAD_VERSJON,
});
},
isMellomlagringValid,
};
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
import { isUnauthorized } from '@navikt/sif-common-core-ds/src/utils/apiUtils';
import { useEffect, useState } from 'react';
import { fetchBarn, fetchSøker, RegistrertBarn, Søker } from '@navikt/sif-common';
import { isUnauthorized } from '@navikt/sif-common-core-ds/src/utils/apiUtils';
import { SØKNAD_VERSJON } from '../constants/SØKNAD_VERSJON';
import { RequestStatus } from '../types/RequestStatus';
import { Søker } from '../types/Søker';
import { SøknadContextState } from '../types/SøknadContextState';
import { SøknadRoutes } from '../types/SøknadRoutes';
import appSentryLogger from '../utils/appSentryLogger';
import søkerEndpoint from './endpoints/søkerEndpoint';
import søknadStateEndpoint, {
isPersistedSøknadStateValid,
SøknadStatePersistence,
} from './endpoints/søknadStateEndpoint';
import { RegistrertBarn } from '../types/RegistrertBarn';
import barnEndpoint from './endpoints/barnEndpoint';
import { MellomlagringData, mellomlagringService } from './mellomlagringService';

export type SøknadInitialData = SøknadContextState;

type SøknadInitialSuccess = {
Expand Down Expand Up @@ -46,20 +41,19 @@ export const defaultSøknadState: Partial<SøknadContextState> = {
const getSøknadInitialData = async (
søker: Søker,
registrerteBarn: RegistrertBarn[],
lagretSøknadState: SøknadStatePersistence,
lagretSøknadState: MellomlagringData,
): Promise<SøknadInitialData> => {
const isValid = isPersistedSøknadStateValid(lagretSøknadState, { søker, registrerteBarn });

const isValid = mellomlagringService.isMellomlagringValid(lagretSøknadState, { søker, registrerteBarn });
if (!isValid) {
await søknadStateEndpoint.purge();
await mellomlagringService.purge();
}
const lagretSøknadStateToUse = isValid ? lagretSøknadState : defaultSøknadState;
return Promise.resolve({
versjon: SØKNAD_VERSJON,
søker,
registrerteBarn,
søknadsdata: {},
...lagretSøknadStateToUse,
søker,
registrerteBarn,
});
};

Expand All @@ -68,9 +62,9 @@ function useSøknadInitialData(): SøknadInitialDataState {

const fetch = async () => {
try {
const søker = await søkerEndpoint.fetch();
const registrerteBarn = await barnEndpoint.fetch();
const lagretSøknadState = await søknadStateEndpoint.fetch();
const søker = await fetchSøker();
const registrerteBarn = await fetchBarn();
const lagretSøknadState = await mellomlagringService.fetch();
setInitialData({
status: RequestStatus.success,
data: await getSøknadInitialData(søker, registrerteBarn, lagretSøknadState),
Expand Down

This file was deleted.

Loading

0 comments on commit 94b1a34

Please sign in to comment.