From 43d8ec9d90988aa451dfe4813d09d9eb86507d0c Mon Sep 17 00:00:00 2001 From: ma10s Date: Wed, 13 Dec 2023 15:18:06 +0100 Subject: [PATCH] =?UTF-8?q?Vil=20logge=20metadata=20for=20oppgave.=20Dette?= =?UTF-8?q?=20for=20=C3=A5=20kunne=20feils=C3=B8ke=20produksjonsfeil=20kny?= =?UTF-8?q?ttet=20til=20behandling=20og=20oppgave.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ef/sak/oppgave/LoggOppgaveMetadataTask.kt | 39 +++++++++++++++++++ .../oppgave/OppgaveforvaltningsController.kt | 31 +++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 src/main/kotlin/no/nav/familie/ef/sak/oppgave/LoggOppgaveMetadataTask.kt create mode 100644 src/main/kotlin/no/nav/familie/ef/sak/oppgave/OppgaveforvaltningsController.kt diff --git a/src/main/kotlin/no/nav/familie/ef/sak/oppgave/LoggOppgaveMetadataTask.kt b/src/main/kotlin/no/nav/familie/ef/sak/oppgave/LoggOppgaveMetadataTask.kt new file mode 100644 index 0000000000..d483c3835c --- /dev/null +++ b/src/main/kotlin/no/nav/familie/ef/sak/oppgave/LoggOppgaveMetadataTask.kt @@ -0,0 +1,39 @@ +package no.nav.familie.ef.sak.oppgave + +import no.nav.familie.prosessering.AsyncTaskStep +import no.nav.familie.prosessering.TaskStepBeskrivelse +import no.nav.familie.prosessering.domene.Task +import org.slf4j.LoggerFactory +import org.springframework.stereotype.Service +import java.util.* + +@Service +@TaskStepBeskrivelse( + taskStepType = LoggOppgaveMetadataTask.TYPE, + maxAntallFeil = 1, + settTilManuellOppfølgning = true, + beskrivelse = "Finn og logg metadata for oppgave knyttet til behandling", +) +class LoggOppgaveMetadataTask(private val tilordnetRessursService: TilordnetRessursService) : AsyncTaskStep { + + private val logger = LoggerFactory.getLogger(javaClass) + private val secureLogger = LoggerFactory.getLogger("secureLogger") + + override fun doTask(task: Task) { + logger.info("Henter oppgave for behandling ${task.payload}") + val oppgave = tilordnetRessursService.hentIkkeFerdigstiltOppgaveForBehandling(UUID.fromString(task.payload)) + secureLogger.info("Oppgave hentet for behandling ${task.payload}: $oppgave") + } + + companion object { + + const val TYPE = "loggOppgaveMetadataTask" + fun opprettTask(behandlingId: UUID): Task { + return Task( + TYPE, + behandlingId.toString(), + Properties(), + ) + } + } +} diff --git a/src/main/kotlin/no/nav/familie/ef/sak/oppgave/OppgaveforvaltningsController.kt b/src/main/kotlin/no/nav/familie/ef/sak/oppgave/OppgaveforvaltningsController.kt new file mode 100644 index 0000000000..b4bae43623 --- /dev/null +++ b/src/main/kotlin/no/nav/familie/ef/sak/oppgave/OppgaveforvaltningsController.kt @@ -0,0 +1,31 @@ +package no.nav.familie.ef.sak.oppgave + +import no.nav.familie.ef.sak.infrastruktur.exception.feilHvisIkke +import no.nav.familie.ef.sak.infrastruktur.featuretoggle.FeatureToggleService +import no.nav.familie.ef.sak.infrastruktur.featuretoggle.Toggle +import no.nav.familie.ef.sak.infrastruktur.sikkerhet.SikkerhetContext +import no.nav.familie.prosessering.internal.TaskService +import no.nav.security.token.support.core.api.ProtectedWithClaims +import org.springframework.web.bind.annotation.PathVariable +import org.springframework.web.bind.annotation.PostMapping +import org.springframework.web.bind.annotation.RequestMapping +import org.springframework.web.bind.annotation.RestController +import java.util.UUID + +@RestController +@RequestMapping("/api/oppgave/forvaltning/") +@ProtectedWithClaims(issuer = "azuread") +class OppgaveforvaltningsController( + private val taskService: TaskService, + private val featureToggleService: FeatureToggleService, +) { + @PostMapping("behandling/{behandlingId}") + fun loggOppgavemetadataFor(@PathVariable behandlingId: UUID) { + feilHvisIkke(erUtviklerMedVeilderrolle()) { "Kan kun kjøres av utvikler med veilederrolle" } + val task = LoggOppgaveMetadataTask.opprettTask(behandlingId) + taskService.save(task) + } + + private fun erUtviklerMedVeilderrolle(): Boolean = + SikkerhetContext.erSaksbehandler() && featureToggleService.isEnabled(Toggle.UTVIKLER_MED_VEILEDERRROLLE) +}