-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Vil logge metadata for oppgave. Dette for å kunne feilsøke produksjon… (
#2479) * Vil logge metadata for oppgave. Dette for å kunne feilsøke produksjonsfeil knyttet til behandling og oppgave.
- Loading branch information
Showing
3 changed files
with
86 additions
and
0 deletions.
There are no files selected for viewing
51 changes: 51 additions & 0 deletions
51
src/main/kotlin/no/nav/familie/ef/sak/oppgave/LoggOppgaveMetadataTask.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
package no.nav.familie.ef.sak.oppgave | ||
|
||
import no.nav.familie.kontrakter.felles.oppgave.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)) | ||
|
||
when (oppgave) { | ||
null -> logger.info("Fant ikke oppgave for behandling ${task.payload}") | ||
else -> secureLogger.info("Oppgave hentet for behandling ${task.payload}: ${oppgave.toLogString()}") | ||
} | ||
} | ||
|
||
companion object { | ||
|
||
const val TYPE = "loggOppgaveMetadataTask" | ||
fun opprettTask(behandlingId: UUID): Task { | ||
return Task( | ||
TYPE, | ||
behandlingId.toString(), | ||
Properties(), | ||
) | ||
} | ||
} | ||
} | ||
|
||
// Uten beskrivelse, bnr, identer, aktørid og metadata | ||
fun Oppgave.toLogString(): String { | ||
return "Oppgave(aktivDato=$aktivDato, behandlesAvApplikasjon=$behandlesAvApplikasjon, behandlingstema=$behandlingstema, behandlingstype=$behandlingstype, endretAv=$endretAv, endretAvEnhetsnr=$endretAvEnhetsnr, endretTidspunkt=$endretTidspunkt, ferdigstiltTidspunkt=$ferdigstiltTidspunkt, fristFerdigstillelse=$fristFerdigstillelse, id=$id, journalpostId=$journalpostId, journalpostkilde=$journalpostkilde, mappeId=$mappeId, oppgavetype=$oppgavetype, opprettetAv=$opprettetAv, opprettetAvEnhetsnr=$opprettetAvEnhetsnr, opprettetTidspunkt=$opprettetTidspunkt, orgnr=$orgnr, prioritet=$prioritet, saksreferanse=$saksreferanse, samhandlernr=$samhandlernr, status=$status, tema=$tema, temagruppe=$temagruppe, tildeltEnhetsnr=$tildeltEnhetsnr, tilordnetRessurs=$tilordnetRessurs, versjon=$versjon)" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
31 changes: 31 additions & 0 deletions
31
src/main/kotlin/no/nav/familie/ef/sak/oppgave/OppgaveforvaltningsController.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) | ||
} |