Skip to content

Commit

Permalink
Flyttet auth opplysninger inn i AuthOpplysning interfacet (inner class)
Browse files Browse the repository at this point in the history
  • Loading branch information
nilsmsa committed Jun 27, 2024
1 parent 3a7c01e commit f048fad
Show file tree
Hide file tree
Showing 9 changed files with 58 additions and 54 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package no.nav.paw.arbeidssokerregisteret

import no.nav.paw.arbeidssokerregisteret.application.authfaktka.*
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AuthOpplysning.*
import no.nav.paw.arbeidssokerregisteret.intern.v1.vo.Opplysning

fun authOpplysningTilHendelseOpplysning(opplysning: AuthOpplysning): Opplysning =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,37 +3,38 @@ package no.nav.paw.arbeidssokerregisteret.application.authfaktka
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.Opplysning


sealed interface AuthOpplysning: Opplysning

data object IkkeSammeSomInnloggerBruker : AuthOpplysning {
override val id = "IKKE_SAMME_SOM_INNLOGGER_BRUKER"
override val beskrivelse = "Start/stopp av periode er ikke på samme bruker som er innlogget"
}

data object SammeSomInnloggetBruker : AuthOpplysning {
override val id = "SAMME_SOM_INNLOGGET_BRUKER"
override val beskrivelse = "Start/stopp av periode er på samme bruker som er innlogget"
}

data object TokenXPidIkkeFunnet : AuthOpplysning {
override val id = "TOKENX_PID_IKKE_FUNNET"
override val beskrivelse =
"Innlogget bruker er ikke en logget inn via TOKENX med PID(dvs ikke sluttbruker via ID-Porten)"
}

data object AnsattIkkeTilgang : AuthOpplysning {
override val id = "ANSATT_IKKE_TILGANG"
override val beskrivelse =
"Innlogget bruker er en NAV-ansatt uten tilgang til bruker som start/stopp av periode utføres på"
}

data object AnsattTilgang : AuthOpplysning {
override val id = "ANSATT_TILGANG"
override val beskrivelse =
"Innlogget bruker er en NAV-ansatt med tilgang til bruker som start/stopp av periode utføres på"
}

data object IkkeAnsatt : AuthOpplysning {
override val id = "IKKE_ANSATT"
override val beskrivelse = "Innlogget bruker er ikke en NAV-ansatt"
}
sealed interface AuthOpplysning: Opplysning {

data object IkkeSammeSomInnloggerBruker : AuthOpplysning {
override val id = "IKKE_SAMME_SOM_INNLOGGER_BRUKER"
override val beskrivelse = "Start/stopp av periode er ikke på samme bruker som er innlogget"
}

data object SammeSomInnloggetBruker : AuthOpplysning {
override val id = "SAMME_SOM_INNLOGGET_BRUKER"
override val beskrivelse = "Start/stopp av periode er på samme bruker som er innlogget"
}

data object TokenXPidIkkeFunnet : AuthOpplysning {
override val id = "TOKENX_PID_IKKE_FUNNET"
override val beskrivelse =
"Innlogget bruker er ikke en logget inn via TOKENX med PID(dvs ikke sluttbruker via ID-Porten)"
}

data object AnsattIkkeTilgang : AuthOpplysning {
override val id = "ANSATT_IKKE_TILGANG"
override val beskrivelse =
"Innlogget bruker er en NAV-ansatt uten tilgang til bruker som start/stopp av periode utføres på"
}

data object AnsattTilgang : AuthOpplysning {
override val id = "ANSATT_TILGANG"
override val beskrivelse =
"Innlogget bruker er en NAV-ansatt med tilgang til bruker som start/stopp av periode utføres på"
}

data object IkkeAnsatt : AuthOpplysning {
override val id = "IKKE_ANSATT"
override val beskrivelse = "Innlogget bruker er ikke en NAV-ansatt"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package no.nav.paw.arbeidssokerregisteret.application.authfaktka

import io.opentelemetry.api.trace.Span
import no.nav.paw.arbeidssokerregisteret.RequestScope
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AuthOpplysning.*
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.Opplysning
import no.nav.paw.arbeidssokerregisteret.domain.Identitetsnummer
import no.nav.paw.arbeidssokerregisteret.domain.navAnsatt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package no.nav.paw.arbeidssokerregisteret.application.authfaktka

import io.opentelemetry.api.trace.Span
import no.nav.paw.arbeidssokerregisteret.RequestScope
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AuthOpplysning.*
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.Opplysning
import no.nav.paw.arbeidssokerregisteret.domain.Identitetsnummer
import no.nav.paw.arbeidssokerregisteret.utils.TokenXPID
Expand All @@ -12,9 +13,9 @@ fun tokenXPidFakta(identitetsnummer: Identitetsnummer): Opplysning {
if (authenticatedUser != identitetsnummer) {
IkkeSammeSomInnloggerBruker
} else {
SammeSomInnloggetBruker
AuthOpplysning.SammeSomInnloggetBruker
}
} ?: TokenXPidIkkeFunnet)
} ?: AuthOpplysning.TokenXPidIkkeFunnet)
.also { opplysning ->
Span.current()
.setAttribute("paw_tokenx_pid", opplysning.toString())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,29 @@ import no.nav.paw.arbeidssokerregisteret.application.opplysninger.DomeneOpplysni

val tilgangsReglerIPrioritertRekkefolge: List<Regel> = listOf(
"Ansatt har tilgang til bruker"(
AnsattTilgang,
AuthOpplysning.AnsattTilgang,
id = AnsattHarTilgangTilBruker,
vedTreff = ::ok
),
"Ikke ansatt har satt forhåndsgodkjenningAvVeileder"(
DomeneOpplysning.ErForhaandsgodkjent,
IkkeAnsatt,
AuthOpplysning.IkkeAnsatt,
id = IkkeAnsattOgForhaandsgodkjentAvAnsatt,
vedTreff = ::problem
),
"Bruker prøver å endre for seg selv"(
SammeSomInnloggetBruker,
IkkeAnsatt,
AuthOpplysning.SammeSomInnloggetBruker,
AuthOpplysning.IkkeAnsatt,
id = EndreEgenBruker,
vedTreff = ::ok
),
"Prøver å endre for en annen bruker"(
IkkeSammeSomInnloggerBruker,
AuthOpplysning.IkkeSammeSomInnloggerBruker,
id = EndreForAnnenBruker,
vedTreff = ::problem
),
"Ansatt har ikke tilgang til bruker"(
AnsattIkkeTilgang,
AuthOpplysning.AnsattIkkeTilgang,
id = AnsattIkkeTilgangTilBruker,
vedTreff = ::problem
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,12 @@ fun opplysningTilApiOpplysning(opplysning: Opplysning): ApiOpplysning =
DomeneOpplysning.UkjentStatusForOppholdstillatelse -> ApiOpplysning.UKJENT_STATUS_FOR_OPPHOLDSTILLATELSE
}
is AuthOpplysning -> when (opplysning) {
IkkeSammeSomInnloggerBruker -> ApiOpplysning.IKKE_SAMME_SOM_INNLOGGER_BRUKER
SammeSomInnloggetBruker -> ApiOpplysning.SAMME_SOM_INNLOGGET_BRUKER
TokenXPidIkkeFunnet -> ApiOpplysning.TOKENX_PID_IKKE_FUNNET
AnsattIkkeTilgang -> ApiOpplysning.ANSATT_IKKE_TILGANG
AnsattTilgang -> ApiOpplysning.ANSATT_TILGANG
IkkeAnsatt -> ApiOpplysning.IKKE_ANSATT
AuthOpplysning.IkkeSammeSomInnloggerBruker -> ApiOpplysning.IKKE_SAMME_SOM_INNLOGGER_BRUKER
AuthOpplysning.SammeSomInnloggetBruker -> ApiOpplysning.SAMME_SOM_INNLOGGET_BRUKER
AuthOpplysning.TokenXPidIkkeFunnet -> ApiOpplysning.TOKENX_PID_IKKE_FUNNET
AuthOpplysning.AnsattIkkeTilgang -> ApiOpplysning.ANSATT_IKKE_TILGANG
AuthOpplysning.AnsattTilgang -> ApiOpplysning.ANSATT_TILGANG
AuthOpplysning.IkkeAnsatt -> ApiOpplysning.IKKE_ANSATT
}
else -> ApiOpplysning.UKJENT_OPPLYSNING
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import io.kotest.matchers.collections.shouldContainAll
import io.kotest.matchers.shouldBe
import io.kotest.matchers.types.shouldBeInstanceOf
import no.nav.paw.arbeidssokerregisteret.application.*
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AnsattTilgang
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.IkkeAnsatt
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AuthOpplysning.AnsattTilgang
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AuthOpplysning.IkkeAnsatt
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.DomeneOpplysning
import no.nav.paw.arbeidssokerregisteret.application.regler.AnsattHarTilgangTilBruker
import no.nav.paw.arbeidssokerregisteret.application.regler.IkkeAnsattOgForhaandsgodkjentAvAnsatt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ import io.kotest.matchers.types.shouldBeInstanceOf
import io.mockk.coEvery
import io.mockk.mockk
import no.nav.paw.arbeidssokerregisteret.RequestScope
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AnsattIkkeTilgang
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AnsattTilgang
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.IkkeAnsatt
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AuthOpplysning.AnsattIkkeTilgang
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AuthOpplysning.AnsattTilgang
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AuthOpplysning.IkkeAnsatt
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.*
import no.nav.paw.arbeidssokerregisteret.application.regler.IkkeAnsattOgForhaandsgodkjentAvAnsatt
import no.nav.paw.arbeidssokerregisteret.domain.Identitetsnummer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import io.mockk.every
import io.mockk.mockk
import no.nav.paw.arbeidssokerregisteret.RequestScope
import no.nav.paw.arbeidssokerregisteret.TestData
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.IkkeAnsatt
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AuthOpplysning.IkkeAnsatt
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.navAnsattTilgangFakta
import no.nav.paw.arbeidssokerregisteret.domain.Identitetsnummer
import no.nav.paw.arbeidssokerregisteret.utils.ResolvedClaims
Expand Down

0 comments on commit f048fad

Please sign in to comment.