Skip to content

Commit

Permalink
Håndtere manglende tilgang bedre (#6608)
Browse files Browse the repository at this point in the history
  • Loading branch information
Watercolours authored Dec 13, 2024
1 parent 53789d1 commit a287e46
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions apps/etterlatte-pdltjenester/src/main/kotlin/pdl/PdlFeilLogger.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package no.nav.etterlatte.pdl

import io.ktor.http.HttpStatusCode
import no.nav.etterlatte.libs.common.feilhaandtering.ForespoerselException
import no.nav.etterlatte.sikkerLogg
import org.slf4j.Logger
import org.slf4j.LoggerFactory
Expand All @@ -16,6 +18,19 @@ fun loggDelvisReturnerteData(
req: Any,
) {
if (result.data != null) {
val unauthorized = result.errors?.firstOrNull { it.extensions?.code == "unauthorized" }

if (unauthorized != null) {
// TODO: Denne burde være warn, men settes til error midlertidig siden jeg er nysgjerrig på hvorfor
// [result.data] IKKE er null i dette tilfellet... logger det til sikkerlogg og bruker error som påminnelse
logger.error(
"Saksbehandler forsøkte å se person de ikke har tilgang til. Se data i sikkerlogg. " +
"Feilmelding fra PDL: \n${unauthorized.extensions?.details?.cause}",
)
sikkerLogg.error("Saksbehandler mangler tilgang, men fikk allikevel data i resultatsettet: ${result.data}")
throw ManglerTilgangTilPerson()
}

result.errors?.joinToString(",")?.let { feil ->
val stackTrace = Exception()
logger.error(
Expand All @@ -28,3 +43,10 @@ fun loggDelvisReturnerteData(
}
}
}

class ManglerTilgangTilPerson :
ForespoerselException(
status = HttpStatusCode.Unauthorized.value,
code = "MANGLER_TILGANG_TIL_PERSON",
detail = "Mangler tilgang til person",
)

0 comments on commit a287e46

Please sign in to comment.