From 8b39ac7f5b33f898b063ad839f8174f8531ad377 Mon Sep 17 00:00:00 2001 From: JeremiahUy Date: Wed, 29 Jan 2025 14:31:34 +0100 Subject: [PATCH] UPDATE: create endpoint for tiltak and add view tiltak accordion list content --- .../nav/data/pvk/tiltak/TiltakController.java | 5 ++- .../no/nav/data/pvk/tiltak/TiltakService.java | 7 ++++ .../components/tiltak/TiltakAccordionList.tsx | 5 ++- .../src/components/tiltak/TiltakView.tsx | 37 +++++++++++++++++++ 4 files changed, 51 insertions(+), 3 deletions(-) diff --git a/apps/backend/src/main/java/no/nav/data/pvk/tiltak/TiltakController.java b/apps/backend/src/main/java/no/nav/data/pvk/tiltak/TiltakController.java index 1044c349f..a1e7a6bf2 100644 --- a/apps/backend/src/main/java/no/nav/data/pvk/tiltak/TiltakController.java +++ b/apps/backend/src/main/java/no/nav/data/pvk/tiltak/TiltakController.java @@ -71,10 +71,11 @@ public ResponseEntity> getTiltakByPvkDokumentId @Operation(summary = "Create Tiltak") @ApiResponse(responseCode = "201", description = "Tiltak created") - @PostMapping - public ResponseEntity createTiltak(@RequestBody TiltakRequest request) { + @PostMapping("/risikoscenario/{risikoscenarioId}") + public ResponseEntity createTiltak(@PathVariable UUID risikoscenarioId, @RequestBody TiltakRequest request) { log.info("Create Tiltak"); Tiltak tiltak = service.save(request.convertToTiltak(), false); + service.addRisikoscenarioTiltakRelasjon(risikoscenarioId.toString(), tiltak.getId().toString()); TiltakResponse resp = TiltakResponse.buildFrom(tiltak); addRisikoscenarioer(resp); return new ResponseEntity<>(resp, HttpStatus.CREATED); diff --git a/apps/backend/src/main/java/no/nav/data/pvk/tiltak/TiltakService.java b/apps/backend/src/main/java/no/nav/data/pvk/tiltak/TiltakService.java index db70c30be..49aeef384 100644 --- a/apps/backend/src/main/java/no/nav/data/pvk/tiltak/TiltakService.java +++ b/apps/backend/src/main/java/no/nav/data/pvk/tiltak/TiltakService.java @@ -5,11 +5,13 @@ import no.nav.data.common.exceptions.NotFoundException; import no.nav.data.common.exceptions.ValidationException; import no.nav.data.common.rest.PageParameters; +import no.nav.data.pvk.risikoscenario.domain.Risikoscenario; import no.nav.data.pvk.tiltak.domain.Tiltak; import no.nav.data.pvk.tiltak.domain.TiltakRepo; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -51,6 +53,11 @@ public Tiltak delete(UUID id) { return tiltak.orElse(null); } + @Transactional(propagation = Propagation.REQUIRED) + public void addRisikoscenarioTiltakRelasjon(String risikoscenarioId, String tiltakId) { + repo.insertTiltakRisikoscenarioRelation(risikoscenarioId, tiltakId); + } + public List getByPvkDokument(String pvkDokumentId) { return repo.findByPvkDokumentId(pvkDokumentId); } diff --git a/apps/frontend/src/components/tiltak/TiltakAccordionList.tsx b/apps/frontend/src/components/tiltak/TiltakAccordionList.tsx index 79553841a..203a86847 100644 --- a/apps/frontend/src/components/tiltak/TiltakAccordionList.tsx +++ b/apps/frontend/src/components/tiltak/TiltakAccordionList.tsx @@ -1,5 +1,6 @@ import { Accordion } from '@navikt/ds-react' import { ITiltak } from '../../constants' +import TiltakView from './TiltakView' interface IProps { tiltakList: ITiltak[] @@ -14,7 +15,9 @@ export const TiltakAccordionList = (props: IProps) => { return ( {tiltak.navn} - test + + + ) })} diff --git a/apps/frontend/src/components/tiltak/TiltakView.tsx b/apps/frontend/src/components/tiltak/TiltakView.tsx index e69de29bb..5a38387ff 100644 --- a/apps/frontend/src/components/tiltak/TiltakView.tsx +++ b/apps/frontend/src/components/tiltak/TiltakView.tsx @@ -0,0 +1,37 @@ +import { BodyLong, Label } from '@navikt/ds-react' +import { ITiltak } from '../../constants' + +interface IProps { + tiltak: ITiltak +} + +export const TiltakView = (props: IProps) => { + const { tiltak } = props + + return ( +
+
+ {tiltak.beskrivelse} +
+
+ + {tiltak.ansvarlig.fullName} +
+
+ + {tiltak.frist} +
+ +
+ + {tiltak.risikoscenarioIds.length === 0 && ( + Tiltaket er ikke gjenbrukt ved andre risikoscenarioer + )} + + {tiltak.risikoscenarioIds.length !== 0 && + tiltak.risikoscenarioIds.map((id) => id)} +
+
+ ) +} +export default TiltakView