Skip to content

Commit

Permalink
UPDATE: add own endpoint for creating risikoscenario knyttet til krav
Browse files Browse the repository at this point in the history
  • Loading branch information
JeremiahUy committed Jan 30, 2025
1 parent f049717 commit d5d9f90
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,21 @@ public ResponseEntity<RisikoscenarioResponse> createRisikoscenario(@RequestBody
return new ResponseEntity<>(response, HttpStatus.CREATED);
}

@Operation(summary = "Create Risikoscenario knyttet til krav")
@ApiResponse(responseCode = "201", description = "Risikoscenario knyttet til krav created")
@PostMapping("/krav/{kravnummer}")
public ResponseEntity<RisikoscenarioResponse> createRisikoscenarioKnyttetTilKrav(@PathVariable Integer kravnummer , @RequestBody RisikoscenarioRequest request) {
log.info("Create Risikoscenario knyttet til krav");

Risikoscenario risikoscenario = risikoscenarioService.save(request.convertToRisikoscenario(), false);
risikoscenarioService.addRelevantKravToRisikoscenarioer(kravnummer, List.of(risikoscenario.getId().toString()));

var response = RisikoscenarioResponse.buildFrom(risikoscenario);
setTiltakAndKravDataForRelevantKravList(response);

return new ResponseEntity<>(response, HttpStatus.CREATED);
}

@Operation(summary = "Update Risikoscenario")
@ApiResponse(description = "Risikoscenario updated")
@PutMapping("/{id}")
Expand Down
19 changes: 14 additions & 5 deletions apps/frontend/src/api/RisikoscenarioApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,19 @@ export const createRisikoscenario = async (risikoscenario: IRisikoscenario) => {
return (await axios.post<IRisikoscenario>(`${env.backendBaseUrl}/risikoscenario`, dto)).data
}

export const createRisikoscenarioKnyttetTilKrav = async (
kravnummer: number,
risikoscenario: IRisikoscenario
) => {
const dto = risikoscenarioToRisikoscenarioDto(risikoscenario)
return (
await axios.post<IRisikoscenario>(
`${env.backendBaseUrl}/risikoscenario/krav/${kravnummer}`,
dto
)
).data
}

export const updateRisikoscenario = async (risikoscenario: IRisikoscenario) => {
const dto = risikoscenarioToRisikoscenarioDto(risikoscenario)
return (
Expand Down Expand Up @@ -115,13 +128,11 @@ export const removeTiltakToRisikoscenario = async (risikoscenarioId: string, til
const risikoscenarioToRisikoscenarioDto = (risikoscenario: IRisikoscenario) => {
const dto = {
...risikoscenario,
relevanteKravNummer: risikoscenario.relevanteKravNummer.map(
(kravReference) => kravReference.kravNummer
),
} as any
delete dto.changeStamp
delete dto.version
delete dto.tiltakIds
delete dto.relevanteKravNummer
return dto
}

Expand All @@ -141,8 +152,6 @@ export const mapRisikoscenarioToFormValue = (
konsekvensNivaaBegrunnelse: risikoscenario.konsekvensNivaaBegrunnelse || '',
relevanteKravNummer: risikoscenario.relevanteKravNummer || [],
generelScenario: risikoscenario.generelScenario || false,
kravToAdd: [],
kravToDelete: [],
ingenTiltak: risikoscenario.ingenTiltak === undefined ? undefined : risikoscenario.ingenTiltak,
sannsynlighetsNivaaEtterTiltak: risikoscenario.sannsynlighetsNivaaEtterTiltak || 0,
konsekvensNivaaEtterTiltak: risikoscenario.konsekvensNivaaEtterTiltak || 0,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Label } from '@navikt/ds-react'
import { Dispatch, RefObject, SetStateAction } from 'react'
import { createRisikoscenario } from '../../../api/RisikoscenarioApi'
import { createRisikoscenarioKnyttetTilKrav } from '../../../api/RisikoscenarioApi'
import { IRisikoscenario, TKravQL } from '../../../constants'
import RisikoscenarioForm from './RisikoscenarioForm'

Expand All @@ -26,7 +26,7 @@ export const CreateRisikoscenario = (props: IProps) => {
} = props

const submit = async (risikoscenario: IRisikoscenario) => {
await createRisikoscenario(risikoscenario).then((response) => {
await createRisikoscenarioKnyttetTilKrav(krav.kravNummer, risikoscenario).then((response) => {
setRisikoscenarioer([...risikoscenarioer, response])
setActiveRisikoscenarioId(response.id)

Expand All @@ -50,7 +50,6 @@ export const CreateRisikoscenario = (props: IProps) => {
initialValues={{
pvkDokumentId: pvkDokumentId,
generelScenario: false,
kravToAdd: [krav.kravNummer],
relevanteKravNummer: [
{ kravNummer: krav.kravNummer, kravVersjon: krav.kravVersjon, navn: krav.navn },
],
Expand Down
2 changes: 0 additions & 2 deletions apps/frontend/src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -553,8 +553,6 @@ export interface IRisikoscenario {
konsekvensNivaaBegrunnelse: string
relevanteKravNummer: IKravReference[]
generelScenario: boolean
kravToAdd: number[]
kravToDelete: number[]
ingenTiltak?: boolean
sannsynlighetsNivaaEtterTiltak: number
konsekvensNivaaEtterTiltak: number
Expand Down

0 comments on commit d5d9f90

Please sign in to comment.