Skip to content

Commit

Permalink
Merge pull request #2550 from navikt/generer-enums
Browse files Browse the repository at this point in the history
Generer enums fra OpenAPI & rydd opp i typer
  • Loading branch information
LudvigHz authored Jan 23, 2025
2 parents 8e78d91 + 6e03a10 commit 5ea64bd
Show file tree
Hide file tree
Showing 15 changed files with 485 additions and 220 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"lint-staged": "lint-staged",
"types": "tsc --noEmit",
"gen:routes": "tsr generate",
"generate": "openapi-typescript https://modiapersonoversikt-api.intern.dev.nav.no/modiapersonoversikt-api/v3/api-docs -o src/generated/modiapersonoversikt-api.d.ts",
"generate": "openapi-typescript https://modiapersonoversikt-api.intern.dev.nav.no/modiapersonoversikt-api/v3/api-docs -o src/generated/modiapersonoversikt-api.ts --enum --root-types --root-types-no-schema-prefix",
"tsc": "tsc"
},
"husky": {
Expand Down
17 changes: 9 additions & 8 deletions src/app/innkrevingskrav/InnkrevingskravSide.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import { type PropsWithChildren, useEffect, useState } from 'react';
import QueryErrorBoundary from 'src/components/QueryErrorBoundary';
import IfFeatureToggleOn from 'src/components/featureToggle/IfFeatureToggleOn';
import { FeatureToggles } from 'src/components/featureToggle/toggleIDs';
import type { paths } from 'src/generated/modiapersonoversikt-api';
import { type Krav, KravRequestIdentType } from 'src/generated/modiapersonoversikt-api';
import { $api } from 'src/lib/clients/modiapersonoversikt-api';
import { formaterDato } from 'src/utils/string-utils';
import { formaterNOK } from '../personside/infotabs/utbetalinger/utils/utbetalinger-utils';
Expand Down Expand Up @@ -88,11 +88,7 @@ const InnkrevingsKravDetaljer = ({ kravId }: { kravId: string }) => {
);
};

const SearchResultTable = ({
data
}: {
data: paths['/rest/innkrevingskrav']['post']['responses']['200']['content']['*/*'];
}) => {
const SearchResultTable = ({ data }: { data: Krav[] }) => {
const debitor = data.length > 0 ? data[0].debitor : undefined;
const debitorType = debitor?.identType;

Expand Down Expand Up @@ -133,7 +129,7 @@ const SearchResults = ({
identType
}: {
id: string;
identType: 'FNR' | 'ORG_NR';
identType: KravRequestIdentType;
}) => {
const { isLoading, data, error } = $api.useQuery('post', '/rest/innkrevingskrav', {
body: { ident: id, identType }
Expand Down Expand Up @@ -298,7 +294,12 @@ const InnkrevingskravSide = () => {
</Box>

{searchType !== 'kravId' && nyIdent && (
<SearchResults id={nyIdent} identType={searchType === 'fnr' ? 'FNR' : 'ORG_NR'} />
<SearchResults
id={nyIdent}
identType={
searchType === 'fnr' ? KravRequestIdentType.FNR : KravRequestIdentType.ORG_NR
}
/>
)}
{searchType === 'kravId' && kravId && <KravSearchResults kravId={kravId} />}
</Box>
Expand Down
7 changes: 3 additions & 4 deletions src/components/PersonLinje/Badges.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { HStack, Tag } from '@navikt/ds-react';
import { AdresseBeskyttelse } from 'src/app/personside/visittkort-v2/PersondataDomain';
import { usePersonData } from 'src/lib/clients/modiapersonoversikt-api';
import type { PersonData } from 'src/lib/types/modiapersonoversikt-api';
import { AdresseBeskyttelseKode, type PersonData } from 'src/lib/types/modiapersonoversikt-api';

export const PersonBadges = () => {
const {
Expand Down Expand Up @@ -31,8 +30,8 @@ function DiskresjonskodeBadges({
const adressebeskyttelse = adressebeskyttelser.firstOrNull();
if (
!adressebeskyttelse?.kode ||
adressebeskyttelse?.kode === AdresseBeskyttelse.UGRADERT ||
adressebeskyttelse?.kode === AdresseBeskyttelse.UKJENT
adressebeskyttelse?.kode === AdresseBeskyttelseKode.UGRADERT ||
adressebeskyttelse?.kode === AdresseBeskyttelseKode.UKJENT
) {
return null;
}
Expand Down
3 changes: 1 addition & 2 deletions src/components/PersonLinje/Details/Familie/Sivilstand.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { HeartFillIcon } from '@navikt/aksel-icons';
import { Alert, BodyShort, Detail } from '@navikt/ds-react';
import type { PersonData } from 'src/lib/types/modiapersonoversikt-api';
import { SivilstandType } from 'src/lib/types/modiapersonoversikt-api-enums';
import { type PersonData, SivilstandType } from 'src/lib/types/modiapersonoversikt-api';
import { formaterDato } from 'src/utils/string-utils';
import Diskresjonskode from '../../common/DiskresjonsKode';
import { erPartner, hentAlderEllerDod, hentNavn } from '../../utils';
Expand Down
3 changes: 2 additions & 1 deletion src/components/PersonLinje/Details/Familie/index.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { usePersonData } from 'src/lib/clients/modiapersonoversikt-api';
import { PersonDataFeilendeSystemer } from 'src/lib/types/modiapersonoversikt-api';
import { harFeilendeSystemer } from '../../utils';
import { Group } from '../components';
import Barn from './Barn';
Expand All @@ -11,7 +12,7 @@ function Familie() {
} = usePersonData();

const erUnder22 = person.alder && person.alder <= 21;
const harFeilendeSystem = harFeilendeSystemer(feilendeSystemer, 'PDL_TREDJEPARTSPERSONER');
const harFeilendeSystem = harFeilendeSystemer(feilendeSystemer, PersonDataFeilendeSystemer.PDL_TREDJEPARTSPERSONER);

return (
<Group title="Familie">
Expand Down
7 changes: 5 additions & 2 deletions src/components/PersonLinje/Details/ForeldreAnsvar.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { PersonTallShortIcon } from '@navikt/aksel-icons';
import { Alert, BodyShort } from '@navikt/ds-react';
import { usePersonData } from 'src/lib/clients/modiapersonoversikt-api';
import type { NavnOgIdent, PersonData } from 'src/lib/types/modiapersonoversikt-api';
import { type NavnOgIdent, type PersonData, PersonDataFeilendeSystemer } from 'src/lib/types/modiapersonoversikt-api';
import { harFeilendeSystemer, hentNavn } from '../utils';
import { Group, InfoElement } from './components';

Expand Down Expand Up @@ -61,7 +61,10 @@ function Foreldreansvar() {
{foreldreansvar.map((foreldreansvar, index) => (
<ForeldreansvarElement
key={`${foreldreansvar.ansvar}-${index}`}
harFeilendeSystem={harFeilendeSystemer(feilendeSystemer, 'PDL_TREDJEPARTSPERSONER')}
harFeilendeSystem={harFeilendeSystemer(
feilendeSystemer,
PersonDataFeilendeSystemer.PDL_TREDJEPARTSPERSONER
)}
foreldreansvar={foreldreansvar}
/>
))}
Expand Down
10 changes: 7 additions & 3 deletions src/components/PersonLinje/Details/Fullmakt.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import { Chat2Icon, GlassesIcon, PencilIcon } from '@navikt/aksel-icons';
import { Alert, Detail, HelpText, ReadMore, Table } from '@navikt/ds-react';
import { usePersonData } from 'src/lib/clients/modiapersonoversikt-api';
import type { OmraadeMedHandling, PersonData } from 'src/lib/types/modiapersonoversikt-api';
import {
type OmraadeMedHandling,
type PersonData,
PersonDataFeilendeSystemer
} from 'src/lib/types/modiapersonoversikt-api';
import { formaterMobiltelefonnummer } from 'src/utils/telefon-utils';
import ValidPeriod from '../common/ValidPeriod';
import { hentNavn } from '../utils';
Expand Down Expand Up @@ -127,8 +131,8 @@ function Fullmakter() {
key={fullmakt.motpartsPersonident}
fullmakt={fullmakt}
harFeilendeSystem={
harFeilendeSystemer(feilendeSystemer, 'PDL_TREDJEPARTSPERSONER') ||
harFeilendeSystemer(feilendeSystemer, 'FULLMAKT')
harFeilendeSystemer(feilendeSystemer, PersonDataFeilendeSystemer.PDL_TREDJEPARTSPERSONER) ||
harFeilendeSystemer(feilendeSystemer, PersonDataFeilendeSystemer.FULLMAKT)
}
/>
))}
Expand Down
12 changes: 6 additions & 6 deletions src/components/PersonLinje/Details/KontaktInfo/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { InformasjonElement } from 'src/app/personside/visittkort-v2/PersondataDomain';
import { usePersonData } from 'src/lib/clients/modiapersonoversikt-api';
import { PersonDataFeilendeSystemer } from 'src/lib/types/modiapersonoversikt-api';
import { harFeilendeSystemer } from '../../utils';
import { Group } from '../components';
import Adresse from './Adresse';
Expand All @@ -18,28 +18,28 @@ export default function KontaktInfo() {
<KontaktinformasjonDodsbo
harFeilendeSystem={harFeilendeSystemer(
data.feilendeSystemer,
InformasjonElement.PDL_TREDJEPARTSPERSONER
PersonDataFeilendeSystemer.PDL_TREDJEPARTSPERSONER
)}
dodsbo={person.dodsbo}
/>
<Adresse person={person} />
<Epost
harFeilendeSystem={harFeilendeSystemer(data.feilendeSystemer, InformasjonElement.DKIF)}
harFeilendeSystem={harFeilendeSystemer(data.feilendeSystemer, PersonDataFeilendeSystemer.DKIF)}
kontaktinformasjon={person.kontaktInformasjon}
/>
<Telefon
harFeilendeSystem={harFeilendeSystemer(data.feilendeSystemer, InformasjonElement.DKIF)}
harFeilendeSystem={harFeilendeSystemer(data.feilendeSystemer, PersonDataFeilendeSystemer.DKIF)}
kontaktinformasjon={person.kontaktInformasjon}
/>
<NavKontaktinfo
harFeilendeSystem={harFeilendeSystemer(
data.feilendeSystemer,
InformasjonElement.NORG_KONTAKTINFORMASJON
PersonDataFeilendeSystemer.NORG_KONTAKTINFORMASJON
)}
telefonnummer={person.telefonnummer}
/>
<Bankkonto
harFeilendeSystem={harFeilendeSystemer(data.feilendeSystemer, InformasjonElement.BANKKONTO)}
harFeilendeSystem={harFeilendeSystemer(data.feilendeSystemer, PersonDataFeilendeSystemer.BANKKONTO)}
bankkonto={person.bankkonto}
/>
</Group>
Expand Down
4 changes: 2 additions & 2 deletions src/components/PersonLinje/Details/NavKontor/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Accordion, Alert, BodyShort, Box, Heading, Link, Skeleton } from '@navi
import { Fragment } from 'react';
import QueryErrorBoundary from 'src/components/QueryErrorBoundary';
import { useBaseUrls, usePersonData } from 'src/lib/clients/modiapersonoversikt-api';
import type { Publikumsmottak } from 'src/lib/types/modiapersonoversikt-api';
import { PersonDataFeilendeSystemer, type Publikumsmottak } from 'src/lib/types/modiapersonoversikt-api';
import NavLogo from 'src/svg/NavLogo';
import { harFeilendeSystemer, mapUgyldigGT } from '../../utils';
import { Adresseinfo, Group, InfoElement } from '../components';
Expand Down Expand Up @@ -99,7 +99,7 @@ function NavKontor() {

const { geografiskTilknytning, navEnhet } = person;

if (harFeilendeSystemer(feilendeSystemer, 'NORG_NAVKONTOR')) {
if (harFeilendeSystemer(feilendeSystemer, PersonDataFeilendeSystemer.NORG_NAVKONTOR)) {
return (
<Group title="NAV-kontor">
<InfoElement title="Ukjent NAV-kontor" icon={<NavLogo />}>
Expand Down
7 changes: 4 additions & 3 deletions src/components/PersonLinje/Details/Vergemal.tsx
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
import { ExclamationmarkTriangleFillIcon } from '@navikt/aksel-icons';
import { Alert, BodyShort, Box, Detail, HStack, HelpText } from '@navikt/ds-react';
import { usePersonData } from 'src/lib/clients/modiapersonoversikt-api';
import type { PersonData, PersonDataFeilendeSystemer } from 'src/lib/types/modiapersonoversikt-api';
import { type PersonData, PersonDataFeilendeSystemer } from 'src/lib/types/modiapersonoversikt-api';
import ValidPeriod from '../common/ValidPeriod';
import { harFeilendeSystemer, hentNavn } from '../utils';
import { Group, InfoElement } from './components';

type Verge = PersonData['vergemal'][0];

function Verge(props: {
feilendeSystemer: PersonDataFeilendeSystemer;
feilendeSystemer: PersonDataFeilendeSystemer[];
verge: Verge;
}) {
const { verge } = props;
const harFeilendeSystemOgIngenNavn =
harFeilendeSystemer(props.feilendeSystemer, 'PDL_TREDJEPARTSPERSONER') && !verge.navn ? (
harFeilendeSystemer(props.feilendeSystemer, PersonDataFeilendeSystemer.PDL_TREDJEPARTSPERSONER) &&
!verge.navn ? (
<Alert variant="warning">Feilet ved uthenting av navn på verge</Alert>
) : (
<BodyShort size="small">{hentNavn(verge.navn, 'Navn ikke tilgjengelig')}</BodyShort>
Expand Down
21 changes: 11 additions & 10 deletions src/components/PersonLinje/utils.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { ForelderBarnRelasjonRolle } from 'src/app/personside/visittkort-v2/PersondataDomain';
import type {
AdresseBeskyttelse,
Navn,
PersonData,
PersonDataFeilendeSystemer,
RelasjonPerson
import {
type AdresseBeskyttelse,
AdresseBeskyttelseKode,
ForelderBarnRelasjonRolle,
type Navn,
type PersonData,
type PersonDataFeilendeSystemer,
type RelasjonPerson,
SivilstandType
} from 'src/lib/types/modiapersonoversikt-api';
import { AdresseBeskyttelseKode, SivilstandType } from 'src/lib/types/modiapersonoversikt-api-enums';
import { ENDASH, formaterDato } from 'src/utils/string-utils';

type ForelderBarnRelasjon = PersonData['forelderBarnRelasjon'][0];
Expand Down Expand Up @@ -83,8 +84,8 @@ export function mapUgyldigGT(gt: string): string {
}

export function harFeilendeSystemer(
feilendeSystemer: PersonDataFeilendeSystemer,
system: PersonDataFeilendeSystemer[0]
feilendeSystemer: PersonDataFeilendeSystemer[],
system: PersonDataFeilendeSystemer
): boolean {
return feilendeSystemer.includes(system);
}
Loading

0 comments on commit 5ea64bd

Please sign in to comment.