From 2d058a2c3b1cd7957791c1b7e3751ed57888b6e5 Mon Sep 17 00:00:00 2001 From: Sverre Blekastad Stensby Date: Mon, 28 Oct 2024 15:31:08 +0100 Subject: [PATCH] =?UTF-8?q?Startet=20=C3=A5=20ta=20i=20bruk=20nye=20endepu?= =?UTF-8?q?nkter=20for=20evaluering.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BehovsvurderingCardHeaderInnhold.tsx | 75 ++++++++++--- .../Kartlegging/FlyttTilAnnenProsess.tsx | 26 ++--- ...Sp\303\270rreunders\303\270kelseModal.tsx" | 37 +------ .../Kartlegging/SlettBehovsvurderingModal.tsx | 38 +------ ...Sp\303\270rreunders\303\270kelseModal.tsx" | 27 +---- .../Samarbeid/Evaluering/Evaluering.tsx | 27 +++-- .../EvalueringCardHeaderInnhold.tsx | 74 ++++++++++--- client/src/api/lydia-api/evaluering.ts | 100 ++++++++++++++++++ client/src/api/lydia-api/paths.ts | 1 + .../Resultatvisning.tsx" | 3 +- .../TemaResultat.tsx" | 2 +- client/src/domenetyper/iaSakEvaluering.ts | 13 +++ .../domenetyper/iaSakEvalueringResultat.ts | 9 ++ .../domenetyper/iaSakKartleggingResultat.ts | 23 +--- .../iaSakSp\303\270rreunders\303\270kelse.ts" | 23 ++++ 15 files changed, 302 insertions(+), 176 deletions(-) create mode 100644 client/src/api/lydia-api/evaluering.ts create mode 100644 client/src/domenetyper/iaSakEvaluering.ts create mode 100644 client/src/domenetyper/iaSakEvalueringResultat.ts create mode 100644 "client/src/domenetyper/iaSakSp\303\270rreunders\303\270kelse.ts" diff --git a/client/src/Pages/Virksomhet/Kartlegging/BehovsvurderingCardHeaderInnhold.tsx b/client/src/Pages/Virksomhet/Kartlegging/BehovsvurderingCardHeaderInnhold.tsx index 2ede24f43..407e113a3 100644 --- a/client/src/Pages/Virksomhet/Kartlegging/BehovsvurderingCardHeaderInnhold.tsx +++ b/client/src/Pages/Virksomhet/Kartlegging/BehovsvurderingCardHeaderInnhold.tsx @@ -11,6 +11,8 @@ import { FlyttTilAnnenProsess } from "./FlyttTilAnnenProsess"; import { KartleggingStatusBedge } from "../../../components/Badge/KartleggingStatusBadge"; import { TrashIcon } from "@navikt/aksel-icons"; import { useSpørreundersøkelse } from "../../../components/Spørreundersøkelse/SpørreundersøkelseContext"; +import { avsluttKartlegging, flyttBehovsvurdering, slettKartlegging, startKartlegging, useHentBehovsvurderingerMedProsess } from "../../../api/lydia-api/kartlegging"; +import { useHentIASaksStatus } from "../../../api/lydia-api/sak"; const ActionButtonContainer = styled.div` display: flex; @@ -100,6 +102,59 @@ export const BehovsvurderingCardHeaderInnhold = ({ samarbeid, brukerErEierAvSak, } = useSpørreundersøkelse(); + const { mutate: muterKartlegginger } = useHentBehovsvurderingerMedProsess( + iaSak.orgnr, + iaSak.saksnummer, + samarbeid.id, + ); + + const { mutate: oppdaterSaksStatus } = useHentIASaksStatus( + iaSak.orgnr, + iaSak.saksnummer, + ); + + const flyttTilValgtSamarbeid = (samarbeidId: number) => { + flyttBehovsvurdering( + iaSak.orgnr, + iaSak.saksnummer, + samarbeidId, + behovsvurdering.kartleggingId, + ).then(() => muterKartlegginger?.()); + }; + + const startSpørreundersøkelsen = () => { + startKartlegging( + iaSak.orgnr, + iaSak.saksnummer, + behovsvurdering.kartleggingId, + ).then(() => { + muterKartlegginger(); + }); + }; + + const slettSpørreundersøkelsen = () => { + slettKartlegging( + iaSak.orgnr, + iaSak.saksnummer, + behovsvurdering.kartleggingId, + ).then(() => { + muterKartlegginger(); + oppdaterSaksStatus(); + setSlettSpørreundersøkelseModalÅpen(false) + }); + }; + + const fullførSpørreundersøkelse = () => { + avsluttKartlegging( + iaSak.orgnr, + iaSak.saksnummer, + behovsvurdering.kartleggingId, + ).then(() => { + muterKartlegginger(); + oppdaterSaksStatus(); + }); + }; + if (iaSak !== undefined) { if (behovsvurderingStatus === "SLETTET") { @@ -124,7 +179,7 @@ export const BehovsvurderingCardHeaderInnhold = ({ )} @@ -166,23 +221,21 @@ export const BehovsvurderingCardHeaderInnhold = ({ )} setBekreftStartKartleggingModalÅpen(false) } + startSpørreundersøkelsen={startSpørreundersøkelsen} /> {brukerRolle && ( setSlettSpørreundersøkelseModalÅpen(false) } + slettSpørreundersøkelsen={slettSpørreundersøkelsen} /> )} @@ -191,8 +244,8 @@ export const BehovsvurderingCardHeaderInnhold = ({ @@ -243,10 +296,7 @@ export const BehovsvurderingCardHeaderInnhold = ({ )} )} {brukerRolle && ( setSlettSpørreundersøkelseModalÅpen(false) } + slettSpørreundersøkelsen={slettSpørreundersøkelsen} /> )} - diff --git a/client/src/Pages/Virksomhet/Kartlegging/FlyttTilAnnenProsess.tsx b/client/src/Pages/Virksomhet/Kartlegging/FlyttTilAnnenProsess.tsx index f8eb69ac3..e8e06723d 100644 --- a/client/src/Pages/Virksomhet/Kartlegging/FlyttTilAnnenProsess.tsx +++ b/client/src/Pages/Virksomhet/Kartlegging/FlyttTilAnnenProsess.tsx @@ -1,19 +1,19 @@ import { Button, Dropdown } from "@navikt/ds-react"; import React from "react"; -import { flyttBehovsvurdering, useHentBehovsvurderingerMedProsess, useHentSamarbeid } from "../../../api/lydia-api/kartlegging"; -import { IASakKartlegging } from "../../../domenetyper/iaSakKartlegging"; +import { useHentSamarbeid } from "../../../api/lydia-api/kartlegging"; import { IASak } from "../../../domenetyper/domenetyper"; import { defaultNavnHvisTomt, IaSakProsess, } from "../../../domenetyper/iaSakProsess"; import styled from "styled-components"; +import { useSpørreundersøkelse } from "../../../components/Spørreundersøkelse/SpørreundersøkelseContext"; interface Props { iaSak: IASak; gjeldendeSamarbeid: IaSakProsess; - behovsvurdering: IASakKartlegging; dropdownSize?: "small" | "medium" | "xsmall" | undefined; + flyttTilValgtSamarbeid: (samarbeidId: number) => void; } const StyledDropdownMenu = styled(Dropdown.Menu)` @@ -23,27 +23,17 @@ const StyledDropdownMenu = styled(Dropdown.Menu)` export const FlyttTilAnnenProsess = ({ iaSak, gjeldendeSamarbeid, - behovsvurdering, dropdownSize, + flyttTilValgtSamarbeid, }: Props) => { const { data: alleSamarbeid } = useHentSamarbeid( iaSak.orgnr, iaSak.saksnummer, ); - const { mutate: muterKartlegginger } = useHentBehovsvurderingerMedProsess( - iaSak.orgnr, - iaSak.saksnummer, - gjeldendeSamarbeid.id, - ); - const flyttTilValgtSamarbeid = (samarbeidId: number) => { - flyttBehovsvurdering( - iaSak.orgnr, - iaSak.saksnummer, - samarbeidId, - behovsvurdering.kartleggingId, - ).then(() => muterKartlegginger?.()); - }; + const { spørreundersøkelseType } = useSpørreundersøkelse(); + + return ( <> @@ -61,7 +51,7 @@ export const FlyttTilAnnenProsess = ({ - Flytt behovsvurdering til: + Flytt {spørreundersøkelseType.toLocaleLowerCase()} til: {alleSamarbeid .filter( diff --git "a/client/src/Pages/Virksomhet/Kartlegging/Fullf\303\270rSp\303\270rreunders\303\270kelseModal.tsx" "b/client/src/Pages/Virksomhet/Kartlegging/Fullf\303\270rSp\303\270rreunders\303\270kelseModal.tsx" index 5a834fdb3..6953a5353 100644 --- "a/client/src/Pages/Virksomhet/Kartlegging/Fullf\303\270rSp\303\270rreunders\303\270kelseModal.tsx" +++ "b/client/src/Pages/Virksomhet/Kartlegging/Fullf\303\270rSp\303\270rreunders\303\270kelseModal.tsx" @@ -1,56 +1,23 @@ -import { IASak } from "../../../domenetyper/domenetyper"; -import { IASakKartlegging } from "../../../domenetyper/iaSakKartlegging"; import styled from "styled-components"; -import { - avsluttKartlegging, -} from "../../../api/lydia-api/kartlegging"; -import { useHentIASaksStatus } from "../../../api/lydia-api/sak"; -import { useHentBehovsvurderingerMedProsess } from "../../../api/lydia-api/kartlegging"; import { BekreftValgModal } from "../../../components/Modal/BekreftValgModal"; import { BodyLong } from "@navikt/ds-react"; import React from "react"; -import { IaSakProsess } from "../../../domenetyper/iaSakProsess"; const EkstraInfoTekstIModal = styled.div` margin-top: 1rem; `; export function FullførSpørreundersøkelseModal({ - iaSak, - samarbeid, - behovsvurdering, erModalÅpen, lukkModal, harNokDeltakere, + fullførSpørreundersøkelse, }: { - iaSak: IASak; - samarbeid: IaSakProsess; - behovsvurdering: IASakKartlegging; erModalÅpen: boolean; harNokDeltakere: boolean; lukkModal: () => void; + fullførSpørreundersøkelse: () => void; }) { - const { mutate: muterKartlegginger } = useHentBehovsvurderingerMedProsess( - iaSak.orgnr, - iaSak.saksnummer, - samarbeid.id, - ); - const { mutate: oppdaterSaksStatus } = useHentIASaksStatus( - iaSak.orgnr, - iaSak.saksnummer, - ); - - const fullførSpørreundersøkelse = () => { - avsluttKartlegging( - iaSak.orgnr, - iaSak.saksnummer, - behovsvurdering.kartleggingId, - ).then(() => { - muterKartlegginger(); - oppdaterSaksStatus(); - }); - }; - return ( void; + slettSpørreundersøkelsen: () => void; }) { - const { mutate: muterBehovsvurderinger } = - useHentBehovsvurderingerMedProsess( - iaSak.orgnr, - iaSak.saksnummer, - samarbeid.id, - ); - const { mutate: oppdaterSaksStatus } = useHentIASaksStatus( - iaSak.orgnr, - iaSak.saksnummer, - ); - - const slett = () => { - slettKartlegging( - iaSak.orgnr, - iaSak.saksnummer, - behovsvurdering.kartleggingId, - ).then(() => { - muterBehovsvurderinger(); - oppdaterSaksStatus(); - lukkModal(); - }); - }; - return ( lukkModal()} åpen={erModalÅpen} title="Er du sikker på at du vil slette denne behovsvurderingen?" diff --git "a/client/src/Pages/Virksomhet/Kartlegging/StartSp\303\270rreunders\303\270kelseModal.tsx" "b/client/src/Pages/Virksomhet/Kartlegging/StartSp\303\270rreunders\303\270kelseModal.tsx" index dc4e1ca7d..9bbd195fb 100644 --- "a/client/src/Pages/Virksomhet/Kartlegging/StartSp\303\270rreunders\303\270kelseModal.tsx" +++ "b/client/src/Pages/Virksomhet/Kartlegging/StartSp\303\270rreunders\303\270kelseModal.tsx" @@ -1,47 +1,26 @@ -import { IASak } from "../../../domenetyper/domenetyper"; import { IASakKartlegging } from "../../../domenetyper/iaSakKartlegging"; -import { startKartlegging } from "../../../api/lydia-api/kartlegging"; -import { useHentBehovsvurderingerMedProsess } from "../../../api/lydia-api/kartlegging"; import { BekreftValgModal } from "../../../components/Modal/BekreftValgModal"; import { åpneKartleggingINyFane } from "../../../util/navigasjon"; import { BodyShort, List } from "@navikt/ds-react"; import React from "react"; -import { IaSakProsess } from "../../../domenetyper/iaSakProsess"; export function StartSpørreundersøkelseModal({ - iaSak, spørreundersøkelse, erModalÅpen, lukkModal, - samarbeid, + startSpørreundersøkelsen, }: { - iaSak: IASak; spørreundersøkelse: IASakKartlegging; erModalÅpen: boolean; lukkModal: () => void; - samarbeid: IaSakProsess; + startSpørreundersøkelsen: () => void; }) { - const { mutate: muterKartlegginger } = useHentBehovsvurderingerMedProsess( - iaSak.orgnr, - iaSak.saksnummer, - samarbeid.id, - ); - - const startKartleggingen = () => { - startKartlegging( - iaSak.orgnr, - iaSak.saksnummer, - spørreundersøkelse.kartleggingId, - ).then(() => { - muterKartlegginger(); - }); - }; return ( { - startKartleggingen(); + startSpørreundersøkelsen(); åpneKartleggingINyFane( spørreundersøkelse.kartleggingId, "OPPRETTET", diff --git a/client/src/Pages/Virksomhet/Samarbeid/Evaluering/Evaluering.tsx b/client/src/Pages/Virksomhet/Samarbeid/Evaluering/Evaluering.tsx index 1d93773bf..3567fa6a9 100644 --- a/client/src/Pages/Virksomhet/Samarbeid/Evaluering/Evaluering.tsx +++ b/client/src/Pages/Virksomhet/Samarbeid/Evaluering/Evaluering.tsx @@ -2,12 +2,11 @@ import { IaSakProsess } from "../../../../domenetyper/iaSakProsess"; import { IASak } from "../../../../domenetyper/domenetyper"; import React from "react"; import { useHentIASaksStatus } from "../../../../api/lydia-api/sak"; -import { nyKartleggingPåSak } from "../../../../api/lydia-api/kartlegging"; -import { useHentBehovsvurderingerMedProsess } from "../../../../api/lydia-api/kartlegging"; import { Loader } from "@navikt/ds-react"; import OpprettNySpørreundersøkelseKnapp from "../../../../components/Spørreundersøkelse/OpprettNySpørreundersøkelseKnapp"; import Spørreundersøkelseliste from "../../../../components/Spørreundersøkelse/Spørreundersøkelseliste"; import { SpørreundersøkelseProvider } from "../../../../components/Spørreundersøkelse/SpørreundersøkelseContext"; +import { nyEvalueringPåSak, useHentEvalueringerMedProsess } from "../../../../api/lydia-api/evaluering"; export const Evaluering = ({ @@ -23,14 +22,14 @@ export const Evaluering = ({ iaSak: IASak; brukerRolle: "Superbruker" | "Saksbehandler" | "Lesetilgang" | undefined; }) => { - const [sisteOpprettedeKartleggingId, setSisteOpprettedeKartleggingId] = + const [sisteOpprettedeId, setSisteOpprettedeId] = React.useState(""); const { - data: behovsvurderinger, - loading: lasterBehovsvurderinger, - mutate: hentBehovsvurderingerPåNytt, - } = useHentBehovsvurderingerMedProsess( + data: spørreundersøkelseListe, + loading: lasterSpørreundersøkelser, + mutate: hentSpørreundersøkelserPåNytt, + } = useHentEvalueringerMedProsess( iaSak.orgnr, iaSak.saksnummer, samarbeid.id, @@ -41,29 +40,29 @@ export const Evaluering = ({ ); const opprettBehovsvurdering = () => { - nyKartleggingPåSak(iaSak.orgnr, iaSak.saksnummer, samarbeid.id).then( + nyEvalueringPåSak(iaSak.orgnr, iaSak.saksnummer, samarbeid.id).then( ({ kartleggingId }) => { - setSisteOpprettedeKartleggingId(kartleggingId); - hentBehovsvurderingerPåNytt(); + setSisteOpprettedeId(kartleggingId); + hentSpørreundersøkelserPåNytt(); oppdaterSaksStatus(); }, ); }; - if (lasterBehovsvurderinger) { + if (lasterSpørreundersøkelser) { return ; } return ( - behovsvurderinger && ( + spørreundersøkelseListe && ( { + flyttEvaluering( + iaSak.orgnr, + iaSak.saksnummer, + samarbeidId, + behovsvurdering.kartleggingId, + ).then(() => muterEvalueringer?.()); + }; + + const startSpørreundersøkelsen = () => { + startEvaluering( + iaSak.orgnr, + iaSak.saksnummer, + behovsvurdering.kartleggingId, + ).then(() => { + muterEvalueringer(); + }); + }; + + const slettSpørreundersøkelsen = () => { + slettEvaluering( + iaSak.orgnr, + iaSak.saksnummer, + behovsvurdering.kartleggingId, + ).then(() => { + muterEvalueringer(); + oppdaterSaksStatus(); + setSlettSpørreundersøkelseModalÅpen(false) + }); + }; + + const fullførSpørreundersøkelse = () => { + avsluttEvaluering( + iaSak.orgnr, + iaSak.saksnummer, + behovsvurdering.kartleggingId, + ).then(() => { + muterEvalueringer(); + oppdaterSaksStatus(); + }); + }; if (iaSak !== undefined) { if (behovsvurderingStatus === "SLETTET") { @@ -124,8 +178,8 @@ export const EvalueringCardHeaderInnhold = ({ )} @@ -166,23 +220,21 @@ export const EvalueringCardHeaderInnhold = ({ )} setBekreftStartKartleggingModalÅpen(false) } + startSpørreundersøkelsen={startSpørreundersøkelsen} /> {brukerRolle && ( setSlettSpørreundersøkelseModalÅpen(false) } + slettSpørreundersøkelsen={slettSpørreundersøkelsen} /> )} @@ -191,8 +243,8 @@ export const EvalueringCardHeaderInnhold = ({ @@ -243,10 +295,7 @@ export const EvalueringCardHeaderInnhold = ({ )} )} {brukerRolle && ( setSlettSpørreundersøkelseModalÅpen(false) } + slettSpørreundersøkelsen={slettSpørreundersøkelsen} /> )} - diff --git a/client/src/api/lydia-api/evaluering.ts b/client/src/api/lydia-api/evaluering.ts new file mode 100644 index 000000000..188c67d78 --- /dev/null +++ b/client/src/api/lydia-api/evaluering.ts @@ -0,0 +1,100 @@ +import { + IaSakProsess, + iaSakProsessSchema, +} from "../../domenetyper/iaSakProsess"; +import { iaSakPath, evalueringPath } from "./paths"; +import { httpDelete, post, put, useSwrTemplate } from "./networkRequests"; +import { + evalueringResultatSchema, + IASakEvalueringResultat, +} from "../../domenetyper/iaSakEvalueringResultat"; +import { + IASakEvaluering, + iaSakEvalueringSchema, +} from "../../domenetyper/iaSakEvaluering"; + +export const useHentEvalueringResultat = ( + orgnummer: string, + saksnummer: string, + evalueringId: string, +) => { + return useSwrTemplate( + `${evalueringPath}/${orgnummer}/${saksnummer}/${evalueringId}`, + evalueringResultatSchema, + ); +}; + +export const useHentSamarbeid = (orgnummer?: string, saksnummer?: string) => { + return useSwrTemplate( + saksnummer && orgnummer + ? `${iaSakPath}/${orgnummer}/${saksnummer}/prosesser` + : null, + iaSakProsessSchema.array(), + ); +}; + +export const avsluttEvaluering = ( + orgnummer: string, + saksnummer: string, + evalueringId: string, +): Promise => { + return post( + `${evalueringPath}/${orgnummer}/${saksnummer}/${evalueringId}/avslutt`, + iaSakEvalueringSchema, + ); +}; + +export const slettEvaluering = ( + orgnummer: string, + saksnummer: string, + evalueringId: string, +): Promise => { + return httpDelete( + `${evalueringPath}/${orgnummer}/${saksnummer}/${evalueringId}`, + iaSakEvalueringSchema, + ); +}; + +export const flyttEvaluering = ( + orgnummer: string, + saksnummer: string, + tilProsess: number, + evalueringId: string, +): Promise => { + return put(`${evalueringPath}/${evalueringId}`, iaSakEvalueringSchema, { + orgnummer, + saksnummer, + prosessId: tilProsess, + }); +}; +export const useHentEvalueringerMedProsess = ( + orgnummer: string, + saksnummer: string, + prosessId: number, +) => { + return useSwrTemplate( + `${evalueringPath}/${orgnummer}/${saksnummer}/prosess/${prosessId}`, + iaSakEvalueringSchema.array(), + ); +}; +export const nyEvalueringPåSak = ( + orgnummer: string, + saksnummer: string, + samarbeidsId: number, +): Promise => { + return post( + `${evalueringPath}/${orgnummer}/${saksnummer}/prosess/${samarbeidsId}`, + iaSakEvalueringSchema, + ); +}; + +export const startEvaluering = ( + orgnummer: string, + saksnummer: string, + evalueringId: string, +): Promise => { + return post( + `${evalueringPath}/${orgnummer}/${saksnummer}/${evalueringId}/start`, + iaSakEvalueringSchema, + ); +}; diff --git a/client/src/api/lydia-api/paths.ts b/client/src/api/lydia-api/paths.ts index c87ac38d0..8e8204a51 100644 --- a/client/src/api/lydia-api/paths.ts +++ b/client/src/api/lydia-api/paths.ts @@ -26,6 +26,7 @@ export const statusoversiktPath = `${basePath}/statusoversikt`; export const historiskStatistikkPath = "historiskstatistikk"; export const salesforceUrlPath = `${virksomhetsPath}/salesforce`; export const kartleggingPath = `${iaSakPath}/kartlegging`; +export const evalueringPath = `${iaSakPath}/evaluering`; export const planPath = `${iaSakPath}/plan`; export const getSykefraværsstatistikkUrl = (søkeverdier: FiltervisningState) => `${sykefraværsstatistikkPath}?${søkeverdierTilUrlSearchParams( diff --git "a/client/src/components/Sp\303\270rreunders\303\270kelse/Resultatvisning.tsx" "b/client/src/components/Sp\303\270rreunders\303\270kelse/Resultatvisning.tsx" index c4ae25cdb..397447e79 100644 --- "a/client/src/components/Sp\303\270rreunders\303\270kelse/Resultatvisning.tsx" +++ "b/client/src/components/Sp\303\270rreunders\303\270kelse/Resultatvisning.tsx" @@ -1,6 +1,7 @@ import styled from "styled-components"; import { TemaResultat } from "./TemaResultat"; -import { IASakKartleggingResultat, TemaResultatDto } from "../../domenetyper/iaSakKartleggingResultat"; +import { IASakKartleggingResultat } from "../../domenetyper/iaSakKartleggingResultat"; +import { TemaResultatDto } from "../../domenetyper/iaSakSpørreundersøkelse"; export const Container = styled.div` padding-top: 1rem; diff --git "a/client/src/components/Sp\303\270rreunders\303\270kelse/TemaResultat.tsx" "b/client/src/components/Sp\303\270rreunders\303\270kelse/TemaResultat.tsx" index 9feadbcf6..3c0cc4235 100644 --- "a/client/src/components/Sp\303\270rreunders\303\270kelse/TemaResultat.tsx" +++ "b/client/src/components/Sp\303\270rreunders\303\270kelse/TemaResultat.tsx" @@ -2,7 +2,7 @@ import { Heading, HeadingProps, HStack } from "@navikt/ds-react"; import styled from "styled-components"; import BarChart from "./Grafer/BarChart"; import { PersonGroupFillIcon } from "@navikt/aksel-icons"; -import { SpørsmålResultatDto } from "../../domenetyper/iaSakKartleggingResultat"; +import { SpørsmålResultatDto } from "../../domenetyper/iaSakSpørreundersøkelse"; const TemaContainer = styled.div` display: grid; diff --git a/client/src/domenetyper/iaSakEvaluering.ts b/client/src/domenetyper/iaSakEvaluering.ts new file mode 100644 index 000000000..5a2be7e7b --- /dev/null +++ b/client/src/domenetyper/iaSakEvaluering.ts @@ -0,0 +1,13 @@ +import { z } from "zod"; +import { datoSchema, iaSakKartleggingStatusEnum } from "./domenetyper"; + +export const iaSakEvalueringSchema = z.object({ + kartleggingId: z.string(), + prosessId: z.number(), + status: iaSakKartleggingStatusEnum, + opprettetAv: z.string(), + opprettetTidspunkt: datoSchema, + endretTidspunkt: datoSchema.nullable(), +}); + +export type IASakEvaluering = z.infer; diff --git a/client/src/domenetyper/iaSakEvalueringResultat.ts b/client/src/domenetyper/iaSakEvalueringResultat.ts new file mode 100644 index 000000000..657810f50 --- /dev/null +++ b/client/src/domenetyper/iaSakEvalueringResultat.ts @@ -0,0 +1,9 @@ +import { z } from "zod"; +import { temaResultatSchema } from "./iaSakSpørreundersøkelse"; + +export const evalueringResultatSchema = z.object({ + kartleggingId: z.string(), + spørsmålMedSvarPerTema: z.array(temaResultatSchema), +}); + +export type IASakEvalueringResultat = z.infer; diff --git a/client/src/domenetyper/iaSakKartleggingResultat.ts b/client/src/domenetyper/iaSakKartleggingResultat.ts index 6b6b3b7e9..6588f0313 100644 --- a/client/src/domenetyper/iaSakKartleggingResultat.ts +++ b/client/src/domenetyper/iaSakKartleggingResultat.ts @@ -1,26 +1,5 @@ import { z } from "zod"; -export const svaralternativResultatSchema = z.object({ - svarId: z.string(), - tekst: z.string(), - antallSvar: z.number(), -}); - -export const spørsmålResultatSchema = z.object({ - spørsmålId: z.string(), - tekst: z.string(), - flervalg: z.boolean(), - antallDeltakereSomHarSvart: z.number(), - svarListe: z.array(svaralternativResultatSchema), -}); - -export type SpørsmålResultatDto = z.infer; - -export const temaResultatSchema = z.object({ - navn: z.string(), - spørsmålMedSvar: z.array(spørsmålResultatSchema), -}); - -export type TemaResultatDto = z.infer; +import { temaResultatSchema } from "./iaSakSpørreundersøkelse"; export const behovsvurderingResultatSchema = z.object({ kartleggingId: z.string(), diff --git "a/client/src/domenetyper/iaSakSp\303\270rreunders\303\270kelse.ts" "b/client/src/domenetyper/iaSakSp\303\270rreunders\303\270kelse.ts" new file mode 100644 index 000000000..b37e6736e --- /dev/null +++ "b/client/src/domenetyper/iaSakSp\303\270rreunders\303\270kelse.ts" @@ -0,0 +1,23 @@ +import { z } from "zod"; + +export const svaralternativResultatSchema = z.object({ + svarId: z.string(), + tekst: z.string(), + antallSvar: z.number(), +}); + +export const spørsmålResultatSchema = z.object({ + spørsmålId: z.string(), + tekst: z.string(), + flervalg: z.boolean(), + antallDeltakereSomHarSvart: z.number(), + svarListe: z.array(svaralternativResultatSchema), +}); +export type SpørsmålResultatDto = z.infer; + +export const temaResultatSchema = z.object({ + navn: z.string(), + spørsmålMedSvar: z.array(spørsmålResultatSchema), +}); + +export type TemaResultatDto = z.infer;