From 0752242bd8450234266e5c1013fe1641d8aa27e8 Mon Sep 17 00:00:00 2001 From: frodehansen2 Date: Mon, 23 Sep 2024 19:27:40 +0200 Subject: [PATCH] Revert endringer --- apps/omsorgspengesoknad/package.json | 1 - apps/omsorgspengesoknad/server.cjs | 105 ++++++++++++++++-- apps/omsorgspengesoknad/src/app/api/api.ts | 1 + .../src/app/api/endpoints/barnEndpoint.ts | 55 +++++++++ .../api/endpoints/s\303\270kerEndpoint.ts" | 29 +++++ .../endpoints/s\303\270knadStateEndpoint.ts" | 3 +- .../app/api/useS\303\270knadInitialData.ts" | 7 +- .../useInnvilgedeVedtakForRegistrerteBarn.ts | 2 +- .../s\303\270knad/S\303\270knadRouter.tsx" | 5 +- .../s\303\270knadStepConfig.test.ts" | 2 +- .../steps/om-barnet/OmBarnetForm.tsx" | 3 +- .../steps/om-barnet/omBarnetStepUtils.tsx" | 3 +- .../RegistrertBarnSp\303\270rsm\303\245l.tsx" | 2 +- .../parts/OmS\303\270kerOppsummering.tsx" | 2 +- .../src/app/types/RegistrertBarn.ts | 14 +-- .../src/app/types/S\303\270ker.ts" | 50 ++++----- .../app/types/S\303\270knadContextState.ts" | 3 +- .../OmBarnetS\303\270knadsdata.ts" | 2 +- .../src/storybook/mock-data/index.ts | 3 +- yarn.lock | 1 - 20 files changed, 230 insertions(+), 63 deletions(-) create mode 100644 apps/omsorgspengesoknad/src/app/api/endpoints/barnEndpoint.ts create mode 100644 "apps/omsorgspengesoknad/src/app/api/endpoints/s\303\270kerEndpoint.ts" diff --git a/apps/omsorgspengesoknad/package.json b/apps/omsorgspengesoknad/package.json index 8782f324eb..40ab2a6cdb 100644 --- a/apps/omsorgspengesoknad/package.json +++ b/apps/omsorgspengesoknad/package.json @@ -13,7 +13,6 @@ "@navikt/ds-react": "7.0.1", "@navikt/ds-tailwind": "7.0.1", "@navikt/sif-app-register": "*", - "@navikt/sif-common": "*", "@navikt/sif-common-amplitude": "*", "@navikt/sif-common-core-ds": "*", "@navikt/sif-common-formik-ds": "*", diff --git a/apps/omsorgspengesoknad/server.cjs b/apps/omsorgspengesoknad/server.cjs index b86165a0d5..e4073f3422 100644 --- a/apps/omsorgspengesoknad/server.cjs +++ b/apps/omsorgspengesoknad/server.cjs @@ -1,19 +1,35 @@ /* eslint-disable no-console */ const express = require('express'); const path = require('path'); +const mustacheExpress = require('mustache-express'); const getAppSettings = require('./src/build/AppSettings.cjs'); const getDecorator = require('./src/build/decorator.cjs'); +const compression = require('compression'); +const cookieParser = require('cookie-parser'); +const jose = require('jose'); +const { v4: uuidv4 } = require('uuid'); +const { createProxyMiddleware } = require('http-proxy-middleware'); +const { initTokenX, exchangeToken } = require('./tokenx.cjs'); const RateLimit = require('express-rate-limit'); const isDev = process.env.NODE_ENV === 'development'; -const serverUtils = require('@navikt/sif-common/server/serverUtils'); - if (isDev) { require('dotenv').config(); } -const server = serverUtils.initServer(); +const server = express(); +server.use((_req, res, next) => { + res.removeHeader('X-Powered-By'); + res.set('X-Frame-Options', 'SAMEORIGIN'); + res.set('X-XSS-Protection', '1; mode=block'); + res.set('X-Content-Type-Options', 'nosniff'); + res.set('Referrer-Policy', 'no-referrer'); + res.set('Feature-Policy', "geolocation 'none'; microphone 'none'; camera 'none'"); + next(); +}); +server.use(compression()); +server.use(cookieParser()); if (isDev) { require('dotenv').config(); @@ -21,9 +37,48 @@ if (isDev) { } else { server.set('views', `${__dirname}/dist`); } +server.set('view engine', 'mustache'); +server.engine('html', mustacheExpress()); const logError = (errorMessage, details) => console.log(errorMessage, details); +const isExpiredOrNotAuthorized = (token) => { + if (token) { + try { + const exp = jose.decodeJwt(token).exp; + return Date.now() >= exp * 1000; + } catch (err) { + // eslint-disable-next-line no-console + console.error('Feilet med dekoding av token: ', err); + return true; + } + } + return true; +}; + +const getRouterConfig = async (req, audience) => { + { + req.headers['X-Correlation-ID'] = uuidv4(); + + if (process.env.NAIS_CLIENT_ID !== undefined) { + req.headers['X-K9-Brukerdialog'] = process.env.NAIS_CLIENT_ID; + } + + if (req.headers['authorization'] !== undefined) { + const token = req.headers['authorization'].replace('Bearer ', ''); + if (isExpiredOrNotAuthorized(token)) { + return undefined; + } + const exchangedToken = await exchangeToken(token, audience); + if (exchangedToken != null && !exchangedToken.expired() && exchangedToken.access_token) { + req.headers['authorization'] = `Bearer ${exchangedToken.access_token}`; + } + } + + return undefined; + } +}; + const renderApp = (decoratorFragments) => new Promise((resolve, reject) => { server.render('index.html', decoratorFragments, (err, html) => { @@ -35,20 +90,48 @@ const renderApp = (decoratorFragments) => }); }); -// const setupTokenX = async () => { -// if (isDev) { -// return Promise.resolve(); -// } -// return Promise.all([initTokenX()]); -// }; +const setupTokenX = async () => { + if (isDev) { + return Promise.resolve(); + } + return Promise.all([initTokenX()]); +}; const startServer = async (html) => { - await serverUtils.tokenXUtils.setupTokenX(isDev); + await setupTokenX(); server.get(`${process.env.PUBLIC_PATH}/health/isAlive`, (_req, res) => res.sendStatus(200)); server.get(`${process.env.PUBLIC_PATH}/health/isReady`, (_req, res) => res.sendStatus(200)); - serverUtils.createProxyMiddlewares(server); + server.use( + process.env.FRONTEND_API_PATH, + createProxyMiddleware({ + target: process.env.API_URL, + changeOrigin: true, + pathRewrite: (path) => { + return path.replace(process.env.FRONTEND_API_PATH, ''); + }, + router: async (req) => getRouterConfig(req, process.env.API_TOKENX_AUDIENCE), + secure: true, + xfwd: true, + logLevel: 'info', + }), + ); + + server.use( + process.env.K9_SAK_INNSYN_API_PATH, + createProxyMiddleware({ + target: process.env.K9_SAK_INNSYN_API_URL, + changeOrigin: true, + pathRewrite: (path) => { + return path.replace(process.env.K9_SAK_INNSYN_API_PATH, ''); + }, + router: async (req) => getRouterConfig(req, process.env.K9_SAK_INNSYN_API_TOKENX_AUDIENCE), + secure: true, + xfwd: true, + logLevel: 'info', + }), + ); if (isDev) { const fs = require('fs'); diff --git a/apps/omsorgspengesoknad/src/app/api/api.ts b/apps/omsorgspengesoknad/src/app/api/api.ts index 5ec4b3c23d..fb9cecb9e5 100644 --- a/apps/omsorgspengesoknad/src/app/api/api.ts +++ b/apps/omsorgspengesoknad/src/app/api/api.ts @@ -4,6 +4,7 @@ import axios, { AxiosError, AxiosRequestConfig, RawAxiosRequestHeaders } from 'a import { relocateToLoginPage, relocateToNoAccessPage } from '../utils/navigationUtils'; export enum ApiEndpoint { + 'soker' = 'oppslag/soker', 'barn' = 'oppslag/barn', 'send_søknad' = 'omsorgspenger-utvidet-rett/innsending', 'vedlegg' = 'vedlegg', diff --git a/apps/omsorgspengesoknad/src/app/api/endpoints/barnEndpoint.ts b/apps/omsorgspengesoknad/src/app/api/endpoints/barnEndpoint.ts new file mode 100644 index 0000000000..39ce20a202 --- /dev/null +++ b/apps/omsorgspengesoknad/src/app/api/endpoints/barnEndpoint.ts @@ -0,0 +1,55 @@ +import { ISODateToDate } from '@navikt/sif-common-utils'; +import { isObject, isString } from 'formik'; +import { isArray } from 'lodash'; +import { RegistrertBarn } from '../../types/RegistrertBarn'; +import api, { ApiEndpoint } from '../api'; + +export interface BarnDTO { + barn: Array<{ + aktørId: string; + fornavn: string; + etternavn: string; + mellomnavn?: string; + fødselsdato: string; + }>; +} +export const isValidRegistrertBarnResponse = (response: any): response is RegistrertBarn => { + if ( + isObject(response) && + isString(response.aktørId) && + isString(response.fornavn) && + isString(response.etternavn) && + isString(response.fødselsdato) + ) { + return true; + } else { + return false; + } +}; + +const barnEndpoint = { + fetch: async (): Promise => { + const { data } = await api.get(ApiEndpoint.barn); + const registrerteBarn: RegistrertBarn[] = []; + + let hasInvalidBarnRespons = false; + if (data?.barn && isArray(data.barn)) { + data.barn.forEach((barn) => { + if (isValidRegistrertBarnResponse(barn)) { + registrerteBarn.push({ + ...barn, + fødselsdato: ISODateToDate(barn.fødselsdato), + }); + } else { + hasInvalidBarnRespons = true; + } + }); + } + if (hasInvalidBarnRespons) { + return Promise.reject('Invalid barn respons'); + } + return Promise.resolve(registrerteBarn); + }, +}; + +export default barnEndpoint; diff --git "a/apps/omsorgspengesoknad/src/app/api/endpoints/s\303\270kerEndpoint.ts" "b/apps/omsorgspengesoknad/src/app/api/endpoints/s\303\270kerEndpoint.ts" new file mode 100644 index 0000000000..cb9dcb052d --- /dev/null +++ "b/apps/omsorgspengesoknad/src/app/api/endpoints/s\303\270kerEndpoint.ts" @@ -0,0 +1,29 @@ +import { isValidSøkerResponse, Søker } from '../../types/Søker'; +import api, { ApiEndpoint } from '../api'; + +type SøkerDTO = { + etternavn: string; + fornavn: string; + mellomnavn?: string; + kjønn: string; + fødselsnummer: string; +}; + +const søkerEndpoint = { + fetch: async (): Promise => { + const { data } = await api.get(ApiEndpoint.soker); + if (!isValidSøkerResponse(data)) { + return Promise.reject(`Invalid søkerdata`); + } + return Promise.resolve(data); + }, + fetchId: async (): Promise => { + const { data } = await api.get(ApiEndpoint.soker); + if (!isValidSøkerResponse(data)) { + return Promise.reject(`Invalid søkerdata`); + } + return Promise.resolve(data.fødselsnummer); + }, +}; + +export default søkerEndpoint; diff --git "a/apps/omsorgspengesoknad/src/app/api/endpoints/s\303\270knadStateEndpoint.ts" "b/apps/omsorgspengesoknad/src/app/api/endpoints/s\303\270knadStateEndpoint.ts" index 5674fc2134..a82501a014 100644 --- "a/apps/omsorgspengesoknad/src/app/api/endpoints/s\303\270knadStateEndpoint.ts" +++ "b/apps/omsorgspengesoknad/src/app/api/endpoints/s\303\270knadStateEndpoint.ts" @@ -1,10 +1,9 @@ -import { Søker } from '@navikt/sif-common'; import persistence, { PersistenceInterface } from '@navikt/sif-common-core-ds/src/utils/persistence/persistence'; import { jsonSort } from '@navikt/sif-common-utils'; import { AxiosResponse } from 'axios'; import hash from 'object-hash'; import { SØKNAD_VERSJON } from '../../constants/SØKNAD_VERSJON'; -// import { Søker } from '../../types/Søker'; +import { Søker } from '../../types/Søker'; import { SøknadContextState } from '../../types/SøknadContextState'; import { isValidSøknadRoute } from '../../utils/søknadRoutesUtils'; import { ApiEndpoint, axiosConfig } from '../api'; diff --git "a/apps/omsorgspengesoknad/src/app/api/useS\303\270knadInitialData.ts" "b/apps/omsorgspengesoknad/src/app/api/useS\303\270knadInitialData.ts" index 2b2c820b8c..3d70081a6c 100644 --- "a/apps/omsorgspengesoknad/src/app/api/useS\303\270knadInitialData.ts" +++ "b/apps/omsorgspengesoknad/src/app/api/useS\303\270knadInitialData.ts" @@ -1,5 +1,4 @@ import { useEffect, useState } from 'react'; -import { fetchBarn, fetchSøker } from '@navikt/sif-common'; import { isUnauthorized } from '@navikt/sif-common-core-ds/src/utils/apiUtils'; import { RegistrertBarn, Søker } from '@navikt/sif-common/api/types'; import { SØKNAD_VERSJON } from '../constants/SØKNAD_VERSJON'; @@ -11,6 +10,8 @@ import søknadStateEndpoint, { isPersistedSøknadStateValid, SøknadStatePersistence, } from './endpoints/søknadStateEndpoint'; +import søkerEndpoint from './endpoints/søkerEndpoint'; +import barnEndpoint from './endpoints/barnEndpoint'; export type SøknadInitialData = SøknadContextState; @@ -67,8 +68,8 @@ function useSøknadInitialData(): SøknadInitialDataState { const fetch = async () => { try { - const søker = await fetchSøker(); - const barn = await fetchBarn(); + const søker = await søkerEndpoint.fetch(); + const barn = await barnEndpoint.fetch(); const lagretSøknadState = await søknadStateEndpoint.fetch(); setInitialData({ status: RequestStatus.success, diff --git a/apps/omsorgspengesoknad/src/app/hooks/useInnvilgedeVedtakForRegistrerteBarn.ts b/apps/omsorgspengesoknad/src/app/hooks/useInnvilgedeVedtakForRegistrerteBarn.ts index ed429f0fee..918d04c3b3 100644 --- a/apps/omsorgspengesoknad/src/app/hooks/useInnvilgedeVedtakForRegistrerteBarn.ts +++ b/apps/omsorgspengesoknad/src/app/hooks/useInnvilgedeVedtakForRegistrerteBarn.ts @@ -1,7 +1,7 @@ import { useEffect, useState } from 'react'; import innvilgetVedtakEndpoint from '../api/endpoints/innvilgetVedtakEndpoint'; import { HentSisteGyldigeVedtakResponseDto } from '../types/innvilgetVedtakApiData/HentSisteGyldigeVedtakResponseDto'; -import { RegistrertBarn } from '@navikt/sif-common'; +import { RegistrertBarn } from '../types/RegistrertBarn'; export interface InnvilgedeVedtak { [key: string]: HentSisteGyldigeVedtakResponseDto; diff --git "a/apps/omsorgspengesoknad/src/app/s\303\270knad/S\303\270knadRouter.tsx" "b/apps/omsorgspengesoknad/src/app/s\303\270knad/S\303\270knadRouter.tsx" index 5c085b662e..874d3ff1d9 100644 --- "a/apps/omsorgspengesoknad/src/app/s\303\270knad/S\303\270knadRouter.tsx" +++ "b/apps/omsorgspengesoknad/src/app/s\303\270knad/S\303\270knadRouter.tsx" @@ -2,7 +2,7 @@ import { useEffect, useState } from 'react'; import { Navigate, Route, Routes, useLocation, useNavigate } from 'react-router-dom'; import LoadingSpinner from '@navikt/sif-common-core-ds/src/atoms/loading-spinner/LoadingSpinner'; import { useVerifyUserOnWindowFocus } from '@navikt/sif-common-soknad-ds/src'; -// import søkerEndpoint from '../api/endpoints/søkerEndpoint'; +import søkerEndpoint from '../api/endpoints/søkerEndpoint'; import { useMellomlagring } from '../hooks/useMellomlagring'; import { usePersistSøknadState } from '../hooks/usePersistSøknadState'; import { useResetSøknad } from '../hooks/useResetSøknad'; @@ -17,7 +17,6 @@ import DeltBostedStep from './steps/delt-bosted/DeltBostedStep'; import LegeerklæringStep from './steps/legeerklæring/LegeerklæringStep'; import OmBarnetStep from './steps/om-barnet/OmBarnetStep'; import OppsummeringStep from './steps/oppsummering/OppsummeringStep'; -import { fetchSøkerId } from '@navikt/sif-common'; const SøknadRouter = () => { const { pathname } = useLocation(); @@ -31,7 +30,7 @@ const SøknadRouter = () => { const { setShouldResetSøknad, shouldResetSøknad } = useResetSøknad(); usePersistSøknadState(); - useVerifyUserOnWindowFocus(søker.fødselsnummer, fetchSøkerId); + useVerifyUserOnWindowFocus(søker.fødselsnummer, søkerEndpoint.fetchId); useEffect(() => { if (stateSøknadRoute && isFirstTimeLoadingApp) { diff --git "a/apps/omsorgspengesoknad/src/app/s\303\270knad/__tests__/s\303\270knadStepConfig.test.ts" "b/apps/omsorgspengesoknad/src/app/s\303\270knad/__tests__/s\303\270knadStepConfig.test.ts" index 16a1f6d91d..78d2f5bf1b 100644 --- "a/apps/omsorgspengesoknad/src/app/s\303\270knad/__tests__/s\303\270knadStepConfig.test.ts" +++ "b/apps/omsorgspengesoknad/src/app/s\303\270knad/__tests__/s\303\270knadStepConfig.test.ts" @@ -1,5 +1,5 @@ -import { RegistrertBarn } from '@navikt/sif-common'; import { BarnSammeAdresse } from '../../types/BarnSammeAdresse'; +import { RegistrertBarn } from '../../types/RegistrertBarn'; import { SøkersRelasjonTilBarnet } from '../../types/SøkersRelasjonTilBarnet'; import { OmBarnetSøknadsdata } from '../../types/søknadsdata/Søknadsdata'; import { includeDeltBostedStep } from '../søknadStepConfig'; diff --git "a/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/om-barnet/OmBarnetForm.tsx" "b/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/om-barnet/OmBarnetForm.tsx" index 7b8c6aaa59..5262568500 100644 --- "a/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/om-barnet/OmBarnetForm.tsx" +++ "b/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/om-barnet/OmBarnetForm.tsx" @@ -1,4 +1,3 @@ -import { RegistrertBarn, Søker } from '@navikt/sif-common'; import { isDevMode } from '@navikt/sif-common-core-ds/src/utils/envUtils'; import { YesOrNo } from '@navikt/sif-common-formik-ds'; import getIntlFormErrorHandler from '@navikt/sif-common-formik-ds/src/validation/intlFormErrorHandler'; @@ -22,6 +21,8 @@ import HøyereRisikoForFraværBeskrivelseSpørsmål from './spørsmål/HøyereRi import HøyereRisikoForFraværSpørsmål from './spørsmål/HøyereRisikoForFraværSpørsmål'; import KroniskEllerFunksjonshemningSpørsmål from './spørsmål/KroniskEllerFunksjonshemningSpørsmål'; import RegistrertBarnSpørsmål from './spørsmål/RegistrertBarnSpørsmål'; +import { RegistrertBarn } from '../../../types/RegistrertBarn'; +import { Søker } from '../../../types/Søker'; interface Props { values: Partial; diff --git "a/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/om-barnet/omBarnetStepUtils.tsx" "b/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/om-barnet/omBarnetStepUtils.tsx" index cb3003d031..7b16987df8 100644 --- "a/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/om-barnet/omBarnetStepUtils.tsx" +++ "b/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/om-barnet/omBarnetStepUtils.tsx" @@ -9,8 +9,7 @@ import { SøknadContextState } from '../../../types/SøknadContextState'; import { OmBarnetSøknadsdata, Søknadsdata } from '../../../types/søknadsdata/Søknadsdata'; import { OmBarnetFormValues } from './OmBarnetStep'; import { SøkersRelasjonTilBarnet } from '../../../types/SøkersRelasjonTilBarnet'; -import { RegistrertBarn } from '@navikt/sif-common'; - +import { RegistrertBarn } from '../../../types/RegistrertBarn'; export const getOmBarnetStepInitialValues = ( søknadsdata: Søknadsdata, formValues?: OmBarnetFormValues, diff --git "a/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/om-barnet/sp\303\270rsm\303\245l/RegistrertBarnSp\303\270rsm\303\245l.tsx" "b/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/om-barnet/sp\303\270rsm\303\245l/RegistrertBarnSp\303\270rsm\303\245l.tsx" index 6eefdb8351..7a3c2cf8b4 100644 --- "a/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/om-barnet/sp\303\270rsm\303\245l/RegistrertBarnSp\303\270rsm\303\245l.tsx" +++ "b/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/om-barnet/sp\303\270rsm\303\245l/RegistrertBarnSp\303\270rsm\303\245l.tsx" @@ -4,7 +4,7 @@ import { useAppIntl } from '../../../../i18n'; import { OmBarnetFormFields } from '../OmBarnetStep'; import { mapBarnTilRadioProps } from '../omBarnetStepUtils'; import { omBarnetFormComponents } from '../omBarnetFormComponents'; -import { RegistrertBarn } from '@navikt/sif-common'; +import { RegistrertBarn } from '../../../../types/RegistrertBarn'; interface Props { registrerteBarn: RegistrertBarn[]; diff --git "a/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/oppsummering/parts/OmS\303\270kerOppsummering.tsx" "b/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/oppsummering/parts/OmS\303\270kerOppsummering.tsx" index b1680528b9..8ef03c285a 100644 --- "a/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/oppsummering/parts/OmS\303\270kerOppsummering.tsx" +++ "b/apps/omsorgspengesoknad/src/app/s\303\270knad/steps/oppsummering/parts/OmS\303\270kerOppsummering.tsx" @@ -1,8 +1,8 @@ import { FormSummary } from '@navikt/ds-react'; import React from 'react'; -import { Søker } from '@navikt/sif-common'; import { formatName } from '@navikt/sif-common-core-ds/src/utils/personUtils'; import { useAppIntl } from '../../../../i18n'; +import { Søker } from '../../../../types/Søker'; interface Props { søker: Søker; diff --git a/apps/omsorgspengesoknad/src/app/types/RegistrertBarn.ts b/apps/omsorgspengesoknad/src/app/types/RegistrertBarn.ts index 8fcd2e2a89..ed07d97569 100644 --- a/apps/omsorgspengesoknad/src/app/types/RegistrertBarn.ts +++ b/apps/omsorgspengesoknad/src/app/types/RegistrertBarn.ts @@ -1,7 +1,7 @@ -// export interface RegistrertBarn { -// aktørId: string; -// fornavn: string; -// etternavn: string; -// mellomnavn?: string; -// fødselsdato: Date; -// } +export interface RegistrertBarn { + aktørId: string; + fornavn: string; + etternavn: string; + mellomnavn?: string; + fødselsdato: Date; +} diff --git "a/apps/omsorgspengesoknad/src/app/types/S\303\270ker.ts" "b/apps/omsorgspengesoknad/src/app/types/S\303\270ker.ts" index fc9c4aa0ec..75b915e88e 100644 --- "a/apps/omsorgspengesoknad/src/app/types/S\303\270ker.ts" +++ "b/apps/omsorgspengesoknad/src/app/types/S\303\270ker.ts" @@ -1,27 +1,27 @@ -// import { isObject, isString } from 'formik'; -// import { isStringOrNull } from '../utils/typeGuardUtilities'; +import { isObject, isString } from 'formik'; +import { isStringOrNull } from '../utils/typeGuardUtilities'; -// export interface Søker { -// aktørId: string; -// fødselsdato: Date; -// fødselsnummer: string; -// fornavn: string; -// mellomnavn?: string; -// etternavn: string; -// } +export interface Søker { + aktørId: string; + fødselsdato: Date; + fødselsnummer: string; + fornavn: string; + mellomnavn?: string; + etternavn: string; +} -// export const isValidSøkerResponse = (response: any): response is Søker => { -// if ( -// isObject(response) && -// isString(response.aktørId) && -// isString(response.fødselsdato) && -// isString(response.fødselsnummer) && -// isStringOrNull(response.fornavn) && -// isStringOrNull(response.mellomnavn) && -// isStringOrNull(response.etternavn) -// ) { -// return true; -// } else { -// return false; -// } -// }; +export const isValidSøkerResponse = (response: any): response is Søker => { + if ( + isObject(response) && + isString(response.aktørId) && + isString(response.fødselsdato) && + isString(response.fødselsnummer) && + isStringOrNull(response.fornavn) && + isStringOrNull(response.mellomnavn) && + isStringOrNull(response.etternavn) + ) { + return true; + } else { + return false; + } +}; diff --git "a/apps/omsorgspengesoknad/src/app/types/S\303\270knadContextState.ts" "b/apps/omsorgspengesoknad/src/app/types/S\303\270knadContextState.ts" index 8d04213cf0..32b8998b06 100644 --- "a/apps/omsorgspengesoknad/src/app/types/S\303\270knadContextState.ts" +++ "b/apps/omsorgspengesoknad/src/app/types/S\303\270knadContextState.ts" @@ -1,4 +1,5 @@ -import { RegistrertBarn, Søker } from '@navikt/sif-common'; +import { RegistrertBarn } from './RegistrertBarn'; +import { Søker } from './Søker'; import { SøknadRoutes } from './SøknadRoutes'; import { Søknadsdata } from './søknadsdata/Søknadsdata'; diff --git "a/apps/omsorgspengesoknad/src/app/types/s\303\270knadsdata/OmBarnetS\303\270knadsdata.ts" "b/apps/omsorgspengesoknad/src/app/types/s\303\270knadsdata/OmBarnetS\303\270knadsdata.ts" index db565d4319..79e2f9ea1b 100644 --- "a/apps/omsorgspengesoknad/src/app/types/s\303\270knadsdata/OmBarnetS\303\270knadsdata.ts" +++ "b/apps/omsorgspengesoknad/src/app/types/s\303\270knadsdata/OmBarnetS\303\270knadsdata.ts" @@ -1,5 +1,5 @@ -import { RegistrertBarn } from '@navikt/sif-common'; import { BarnSammeAdresse } from '../BarnSammeAdresse'; +import { RegistrertBarn } from '../RegistrertBarn'; import { SøkersRelasjonTilBarnet } from '../SøkersRelasjonTilBarnet'; interface OmBarnetSøknadsdata_registrertBarn { diff --git a/apps/omsorgspengesoknad/src/storybook/mock-data/index.ts b/apps/omsorgspengesoknad/src/storybook/mock-data/index.ts index 963cb52e04..b40538308f 100644 --- a/apps/omsorgspengesoknad/src/storybook/mock-data/index.ts +++ b/apps/omsorgspengesoknad/src/storybook/mock-data/index.ts @@ -1,5 +1,6 @@ import { ISODateToDate } from '@navikt/sif-common-utils'; -import { RegistrertBarn, Søker } from '@navikt/sif-common'; +import { Søker } from '../../app/types/Søker'; +import { RegistrertBarn } from '../../app/types/RegistrertBarn'; export const SøkerMock: Søker = { fødselsnummer: '30086421581', diff --git a/yarn.lock b/yarn.lock index 0b8f283aa4..e4d556d892 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4728,7 +4728,6 @@ __metadata: "@navikt/ds-react": "npm:7.0.1" "@navikt/ds-tailwind": "npm:7.0.1" "@navikt/sif-app-register": "npm:*" - "@navikt/sif-common": "npm:*" "@navikt/sif-common-amplitude": "npm:*" "@navikt/sif-common-core-ds": "npm:*" "@navikt/sif-common-formik-ds": "npm:*"