Skip to content

Commit c7919c3

Browse files
committed
feat. migrering til aktsomhet endepunkt med diskresjonskode
1 parent ec29540 commit c7919c3

File tree

5 files changed

+35
-18
lines changed

5 files changed

+35
-18
lines changed

src/AvtaleSide/AvtaleKontroll.tsx

+10-5
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,27 @@ import { useNavigate, useParams } from 'react-router-dom';
33
import { BodyLong, Button, Loader, Modal } from '@navikt/ds-react';
44
import { Locked } from '@navikt/ds-icons';
55

6-
import { Rolle } from '@/types/innlogget-bruker';
6+
import { Aktsomhet, Rolle } from '@/types';
77
import { useAvtaleKreverAktsomhet } from '@/services/use-rest';
88
import { useInnloggetBruker } from '@/InnloggingBoundary/InnloggingBoundary';
99

1010
import { container } from './AvtaleKontroll.module.less';
1111

1212
const ROLLER_SOM_KREVER_KONTROLL: Rolle[] = ['ARBEIDSGIVER'];
1313

14+
const isAvtaleKreverAktsomhet = (data: undefined | boolean | Aktsomhet): boolean => {
15+
if (data !== undefined && (data as Aktsomhet).kreverAktsomhet !== undefined) {
16+
return (data as Aktsomhet).kreverAktsomhet;
17+
}
18+
return data !== undefined ? (data as boolean) : false;
19+
};
20+
1421
const AvtaleKontroll: FunctionComponent<PropsWithChildren> = (props) => {
1522
const { rolle } = useInnloggetBruker();
1623
const isKreverKontroll = ROLLER_SOM_KREVER_KONTROLL.includes(rolle);
1724

1825
const { avtaleId } = useParams<{ avtaleId: string }>();
19-
const { isLoading, data: avtaleKreverAktsomhet } = useAvtaleKreverAktsomhet(
20-
isKreverKontroll ? avtaleId : undefined,
21-
);
26+
const { isLoading, data } = useAvtaleKreverAktsomhet(isKreverKontroll ? avtaleId : undefined);
2227

2328
const navigate = useNavigate();
2429
const ref = useRef<HTMLDialogElement>(null);
@@ -32,7 +37,7 @@ const AvtaleKontroll: FunctionComponent<PropsWithChildren> = (props) => {
3237
);
3338
}
3439

35-
if (!avtaleKreverAktsomhet || isGodkjent) {
40+
if (!isAvtaleKreverAktsomhet(data) || isGodkjent) {
3641
return props.children;
3742
}
3843

src/services/use-rest.ts

+10-3
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,15 @@ import axios from 'axios';
22
import axiosRetry from 'axios-retry';
33
import useSWR from 'swr';
44

5-
import { ApiError, AutentiseringError, FeilkodeError, IkkeFunnetError, IkkeTilgangError } from '@/types/errors';
6-
import { Avtale, AvtaleVersjon } from '@/types/avtale';
5+
import {
6+
Aktsomhet,
7+
ApiError,
8+
AutentiseringError,
9+
AvtaleVersjon,
10+
FeilkodeError,
11+
IkkeFunnetError,
12+
IkkeTilgangError,
13+
} from '@/types';
714
import { Enhet } from '@/types/enhet';
815
import { SIDE_FOER_INNLOGGING } from '@/RedirectEtterLogin';
916
import { basename } from '@/Router';
@@ -61,7 +68,7 @@ export const useHentEnhet = (enhetsnummer?: string) => {
6168
};
6269

6370
export const useAvtaleKreverAktsomhet = (avtaleId?: string) => {
64-
return useSWR<boolean>(avtaleId ? `/avtaler/${avtaleId}/krever-aktsomhet` : undefined, {
71+
return useSWR<boolean | Aktsomhet>(avtaleId ? `/avtaler/${avtaleId}/krever-aktsomhet` : undefined, {
6572
...swrConfig,
6673
revalidateOnFocus: false,
6774
});

src/types/avtale-status-detaljer.ts

-10
This file was deleted.

src/types/diskresjon.ts

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
export enum Diskresjonskode {
2+
STRENGT_FORTROLIG_UTLAND = 'STRENGT_FORTROLIG_UTLAND',
3+
STRENGT_FORTROLIG = 'STRENGT_FORTROLIG',
4+
FORTROLIG = 'FORTROLIG',
5+
UGRADERT = 'UGRADERT',
6+
}
7+
8+
export interface Aktsomhet {
9+
kreverAktsomhet: boolean;
10+
diskresjonskode?: Diskresjonskode;
11+
}

src/types/index.ts

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export * from './avtale';
2+
export * from './errors';
3+
export * from './innlogget-bruker';
4+
export * from './diskresjon';

0 commit comments

Comments
 (0)