Skip to content

Commit 821c3cb

Browse files
committed
La inn støtte for sikkerthetsnivaa + fiks for 'utfoertAv' for bekreftelse
1 parent 8167968 commit 821c3cb

File tree

56 files changed

+270
-114
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+270
-114
lines changed

apps/api-start-stopp-perioder/src/main/kotlin/no/nav/paw/arbeidssokerregisteret/RequestScope.kt

+4-2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import no.nav.paw.arbeidssokerregisteret.utils.AzureNavIdent
1010
import no.nav.paw.arbeidssokerregisteret.utils.AzureOID
1111
import no.nav.paw.arbeidssokerregisteret.utils.AzureRoles
1212
import no.nav.paw.arbeidssokerregisteret.utils.ResolvedClaims
13+
import no.nav.paw.arbeidssokerregisteret.utils.TokenXACR
1314
import no.nav.paw.arbeidssokerregisteret.utils.TokenXPID
1415
import no.nav.paw.arbeidssokerregisteret.utils.resolveClaims
1516
import no.nav.security.token.support.v3.TokenValidationContextPrincipal
@@ -19,7 +20,7 @@ data class RequestScope(
1920
val claims: ResolvedClaims,
2021
val callId: String?,
2122
val traceparent: String?,
22-
val navConsumerId: String?,
23+
val navConsumerId: String?
2324
)
2425

2526
@WithSpan
@@ -33,7 +34,8 @@ fun RoutingContext.requestScope(): RequestScope {
3334
AzureNavIdent,
3435
AzureRoles,
3536
AzureAzpName,
36-
TokenXPID
37+
TokenXPID,
38+
TokenXACR
3739
) ?: ResolvedClaims()
3840
val headers = call.request.headers
3941
return RequestScope(

apps/api-start-stopp-perioder/src/main/kotlin/no/nav/paw/arbeidssokerregisteret/application/ResultatTilHendelse.kt

+6-3
Original file line numberDiff line numberDiff line change
@@ -143,17 +143,20 @@ fun RequestScope.brukerFraClaims(): Bruker {
143143
return sluttbruker(claims)?.let {
144144
Bruker(
145145
type = BrukerType.SLUTTBRUKER,
146-
id = it.identitetsnummer.verdi
146+
id = it.identitetsnummer.verdi,
147+
sikkerhetsnivaa = it.sikkerhetsnivaa
147148
)
148149
} ?: navAnsatt(claims)?.let {
149150
Bruker(
150151
type = BrukerType.VEILEDER,
151-
id = it.ident
152+
id = it.ident,
153+
sikkerhetsnivaa = null
152154
)
153155
} ?: m2mToken(claims)?.let {
154156
Bruker(
155157
type = BrukerType.SYSTEM,
156-
id = it.tjeneste
158+
id = it.tjeneste,
159+
sikkerhetsnivaa = null
157160
)
158161
} ?: throw IllegalStateException("Kunne ikke finne bruker i claims")
159162
}
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
package no.nav.paw.arbeidssokerregisteret.domain
22

33
import no.nav.paw.arbeidssokerregisteret.utils.ResolvedClaims
4+
import no.nav.paw.arbeidssokerregisteret.utils.TokenXACR
45
import no.nav.paw.arbeidssokerregisteret.utils.TokenXPID
56

6-
data class Sluttbruker(val identitetsnummer: Identitetsnummer)
7+
data class Sluttbruker(
8+
val identitetsnummer: Identitetsnummer,
9+
val sikkerhetsnivaa: String?
10+
)
711

812
fun sluttbruker(claims: ResolvedClaims): Sluttbruker? {
913
val identitetsnummer = claims[TokenXPID]
10-
return identitetsnummer?.let { Sluttbruker(it) }
14+
val sikkerhetsnivaa = claims[TokenXACR]
15+
return identitetsnummer?.let { Sluttbruker(it, sikkerhetsnivaa) }
1116
}

apps/api-start-stopp-perioder/src/main/kotlin/no/nav/paw/arbeidssokerregisteret/utils/Claim.kt

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ data object AzureOID : SingeClaim<UUID>("azure", "oid", Any::asUUID)
2727
data object AzureRoles : ListClaim<String>("azure", "roles", Any::asListOfStrings)
2828
data object AzureAzpName : SingeClaim<String>("azure", "azp_name", Any::toString)
2929
data object TokenXPID : SingeClaim<Identitetsnummer>("tokenx", "pid", Any::asIdentitetsnummer)
30+
data object TokenXACR : SingeClaim<String>("tokenx", "acr", Any::toString)
3031

3132
private fun Any.asUUID(): UUID = UUID.fromString(this.toString())
3233
private fun Any.asIdentitetsnummer(): Identitetsnummer = Identitetsnummer(this.toString())

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/ApplicationTestContext.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ fun HttpClientConfig<out io.ktor.client.engine.HttpClientEngineConfig>.defaultCo
5656
}
5757

5858

59-
fun MockOAuth2Server.personToken(id: String): SignedJWT = issueToken(
59+
fun MockOAuth2Server.personToken(id: String, acr: String = "idporten-loa-high"): SignedJWT = issueToken(
6060
claims = mapOf(
61-
"acr" to "idporten-loa-high",
61+
"acr" to acr,
6262
"pid" to id
6363
)
6464
)

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/AnsattRegistrererIkkeEuEoesBrukerIkkeBosattMedForhaandgodkjenning.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ data object AnsattRegistrererIkkeEuEoesBrukerIkkeBosattMedForhaandgodkjenning :
6565
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
6666
utfoertAv = Bruker(
6767
id = ansatt.ident,
68-
type = BrukerType.VEILEDER
68+
type = BrukerType.VEILEDER,
69+
sikkerhetsnivaa = null
6970
),
7071
aarsak = "any",
7172
tidspunktFraKilde = null

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/AnsattRegistrererIkkeEuEoesBrukerIkkeBosattUtenForhaandgodkjenning.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ data object AnsattRegistrererIkkeEuEoesBrukerIkkeBosattUtenForhaandgodkjenning :
7575
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
7676
utfoertAv = Bruker(
7777
id = ansatt.ident,
78-
type = BrukerType.VEILEDER
78+
type = BrukerType.VEILEDER,
79+
sikkerhetsnivaa = null
7980
),
8081
aarsak = "any",
8182
tidspunktFraKilde = null

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/AnsattRegistrererStartMedFeilreetingUtenTid.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ data object AnsattRegistrererStartMedFeilreetingUtenTid : StartPeriodeTestCase {
7272
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
7373
utfoertAv = Bruker(
7474
id = ansatt.ident,
75-
type = BrukerType.VEILEDER
75+
type = BrukerType.VEILEDER,
76+
sikkerhetsnivaa = null
7677
),
7778
aarsak = "any",
7879
tidspunktFraKilde = TidspunktFraKilde(

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/AnsattRegistrererStartMedTidspunktBakoverITid.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ data object AnsattRegistrererStartMedTidspunktBakoverITid : StartPeriodeTestCase
7171
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
7272
utfoertAv = Bruker(
7373
id = ansatt.ident,
74-
type = BrukerType.VEILEDER
74+
type = BrukerType.VEILEDER,
75+
sikkerhetsnivaa = null
7576
),
7677
aarsak = "any",
7778
tidspunktFraKilde = TidspunktFraKilde(

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/AnsattRegistrererStartMedTidspunktFremoverITid.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ data object AnsattRegistrererStartMedTidspunktFremoverITid : StartPeriodeTestCas
7272
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
7373
utfoertAv = Bruker(
7474
id = ansatt.ident,
75-
type = BrukerType.VEILEDER
75+
type = BrukerType.VEILEDER,
76+
sikkerhetsnivaa = null
7677
),
7778
aarsak = "any",
7879
tidspunktFraKilde = TidspunktFraKilde(

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/AnsattRegistrererUtenTilgangTilBruker.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ data object AnsattRegistrererUtenTilgangTilBruker: StartPeriodeTestCase {
6060
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
6161
utfoertAv = Bruker(
6262
id = ansatt.ident,
63-
type = BrukerType.VEILEDER
63+
type = BrukerType.VEILEDER,
64+
sikkerhetsnivaa = null
6465
),
6566
aarsak = "any",
6667
tidspunktFraKilde = null

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/AnsattStopperEnFeilregistrertPeriode.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ data object AnsattStopperEnFeilregistrertPeriode : StoppPeriodeTestCase {
5858
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
5959
utfoertAv = Bruker(
6060
id = ansatt.ident,
61-
type = BrukerType.VEILEDER
61+
type = BrukerType.VEILEDER,
62+
sikkerhetsnivaa = null
6263
),
6364
aarsak = "any",
6465
tidspunktFraKilde = TidspunktFraKilde(

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/AnsattStopperEnFeilregistrertPeriodeMenHarMedTidspunkt.kt

+1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ data object AnsattStopperEnFeilregistrertPeriodeMenHarMedTidspunkt : StoppPeriod
6161
utfoertAv = Bruker(
6262
id = ansatt.ident,
6363
type = BrukerType.VEILEDER,
64+
sikkerhetsnivaa = null
6465
),
6566
aarsak = "any",
6667
tidspunktFraKilde = TidspunktFraKilde(

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/HentPersonReturnererNull.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ data object HentPersonReturnererNull : StartPeriodeTestCase {
5757
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
5858
utfoertAv = Bruker(
5959
id = id,
60-
type = BrukerType.SLUTTBRUKER
60+
type = BrukerType.SLUTTBRUKER,
61+
sikkerhetsnivaa = "idporten-loa-high"
6162
),
6263
aarsak = "any",
6364
tidspunktFraKilde = null

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/IkkeEuEoesBrukerIkkeBosatt.kt

+3-2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ data object IkkeEuEoesBrukerIkkeBosatt : StartPeriodeTestCase {
4343
)
4444

4545
override val configure: TestCaseBuilder.() -> Unit = {
46-
authToken = mockOAuth2Server.personToken(id)
46+
authToken = mockOAuth2Server.personToken(id, "idporten-loa-high")
4747
}
4848

4949
override val producesHttpResponse: HttpStatusCode = HttpStatusCode.Forbidden
@@ -79,7 +79,8 @@ data object IkkeEuEoesBrukerIkkeBosatt : StartPeriodeTestCase {
7979
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
8080
utfoertAv = Bruker(
8181
id = id,
82-
type = BrukerType.SLUTTBRUKER
82+
type = BrukerType.SLUTTBRUKER,
83+
sikkerhetsnivaa = "idporten-loa-high"
8384
),
8485
aarsak = "any",
8586
tidspunktFraKilde = null

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/NorskBrukerBosattINorge.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ data object NorskBrukerBosattINorge : StartPeriodeTestCase {
6060
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
6161
utfoertAv = Bruker(
6262
id = id,
63-
type = BrukerType.SLUTTBRUKER
63+
type = BrukerType.SLUTTBRUKER,
64+
sikkerhetsnivaa = "idporten-loa-high"
6465
),
6566
aarsak = "any",
6667
tidspunktFraKilde = null

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/NorskBrukerBosattINorgeUnder18aar.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ data object NorskBrukerBosattINorgeUnder18aar : StartPeriodeTestCase {
9090
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
9191
utfoertAv = Bruker(
9292
id = id,
93-
type = BrukerType.SLUTTBRUKER
93+
type = BrukerType.SLUTTBRUKER,
94+
sikkerhetsnivaa = "idporten-loa-high"
9495
),
9596
aarsak = "any",
9697
tidspunktFraKilde = null

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/NorskBrukerBosattISverige.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ data object NorskBrukerBosattISverige : StartPeriodeTestCase {
8282
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
8383
utfoertAv = Bruker(
8484
id = id,
85-
type = BrukerType.SLUTTBRUKER
85+
type = BrukerType.SLUTTBRUKER,
86+
sikkerhetsnivaa = "idporten-loa-high"
8687
),
8788
aarsak = "any",
8889
tidspunktFraKilde = null

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/NorskBrukerBosattISverigeUnder18aar.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@ data object NorskBrukerBosattISverigeUnder18aar : StartPeriodeTestCase {
9797
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
9898
utfoertAv = Bruker(
9999
id = id,
100-
type = BrukerType.SLUTTBRUKER
100+
type = BrukerType.SLUTTBRUKER,
101+
sikkerhetsnivaa = "idporten-loa-high"
101102
),
102103
aarsak = "any",
103104
tidspunktFraKilde = null

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/SluttbrukerProeverAaEndreForAnnenPerson.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ data object SluttbrukerProeverAaEndreForAnnenPerson : StartPeriodeTestCase {
5454
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
5555
utfoertAv = Bruker(
5656
id = autentiserBruker,
57-
type = BrukerType.SLUTTBRUKER
57+
type = BrukerType.SLUTTBRUKER,
58+
sikkerhetsnivaa = "idporten-loa-high"
5859
),
5960
aarsak = "any",
6061
tidspunktFraKilde = null

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/SvenskBrukerBosattISverigeUnder18aar.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ data object SvenskBrukerBosattISverigeUnder18aar : StartPeriodeTestCase {
9494
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
9595
utfoertAv = Bruker(
9696
id = id,
97-
type = BrukerType.SLUTTBRUKER
97+
type = BrukerType.SLUTTBRUKER,
98+
sikkerhetsnivaa = "idporten-loa-high"
9899
),
99100
aarsak = "any",
100101
tidspunktFraKilde = null

apps/api-start-stopp-perioder/src/test/kotlin/no/nav/paw/arbeidssokerregisteret/testdata/SvenskBrukerBosattISverigeUnder18aarMedStatusIkkeBosatt.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,8 @@ data object SvenskBrukerBosattISverigeUnder18aarMedStatusIkkeBosatt : StartPerio
9898
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
9999
utfoertAv = Bruker(
100100
id = id,
101-
type = BrukerType.SLUTTBRUKER
101+
type = BrukerType.SLUTTBRUKER,
102+
sikkerhetsnivaa = "idporten-loa-high"
102103
),
103104
aarsak = "any",
104105
tidspunktFraKilde = null

apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/model/Converters.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ import java.time.Instant
1616

1717
fun Bruker<*>.asBekreftelseBruker(): no.nav.paw.bekreftelse.melding.v1.vo.Bruker {
1818
return when (this) {
19-
is Sluttbruker -> no.nav.paw.bekreftelse.melding.v1.vo.Bruker(BrukerType.SLUTTBRUKER, ident.verdi)
20-
is NavAnsatt -> no.nav.paw.bekreftelse.melding.v1.vo.Bruker(BrukerType.VEILEDER, ident)
21-
is Anonym -> no.nav.paw.bekreftelse.melding.v1.vo.Bruker(BrukerType.SYSTEM, ident)
19+
is Sluttbruker -> no.nav.paw.bekreftelse.melding.v1.vo.Bruker(BrukerType.SLUTTBRUKER, ident.verdi, sikkerhetsnivaa)
20+
is NavAnsatt -> no.nav.paw.bekreftelse.melding.v1.vo.Bruker(BrukerType.VEILEDER, ident, null)
21+
is Anonym -> no.nav.paw.bekreftelse.melding.v1.vo.Bruker(BrukerType.SYSTEM, ident, null)
2222
else -> throw IngenTilgangException("Ukjent brukergruppe")
2323
}
2424
}

apps/bekreftelse-hendelsefilter/src/test/kotlin/no/nav/paw/bekreftelse/test/TestData.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import java.time.Instant
1212
import java.util.*
1313

1414
object TestData {
15-
val bruker = Bruker(BrukerType.SLUTTBRUKER, "1234")
15+
val bruker = Bruker(BrukerType.SLUTTBRUKER, "1234", "idporten-loa-high")
1616
val sendtInAv = Metadata(Instant.now(), bruker, "kilde", "aarsak")
1717
val svar = Svar(sendtInAv, Instant.now(), Instant.now(), false, true)
1818
val bekreftelse1 = Bekreftelse(

apps/bekreftelse-min-side-oppgaver/src/test/kotlin/no/nav/paw/arbeidssoekerregisteret/bekreftelse/minsideoppgaver/test/TestData.kt

+14-4
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import org.apache.kafka.streams.test.TestRecord
1313
import java.time.Duration
1414
import java.time.Instant
1515
import java.util.*
16+
import no.nav.paw.bekreftelse.internehendelser.vo.Bruker as InterntBekreftelseBruker
1617

1718
object TestData {
1819
val runtimeEnvironment = currentRuntimeEnvironment
@@ -257,8 +258,15 @@ object TestData {
257258

258259
fun bruker(
259260
type: BrukerType = BrukerType.SYSTEM,
260-
id: String = "test"
261-
): Bruker = Bruker(type, id)
261+
id: String = "test",
262+
sikkerhetsnivaa: String = "idporten-loa-high"
263+
): Bruker = Bruker(type, id, sikkerhetsnivaa)
264+
265+
fun internBekfretelseBruker(
266+
type: no.nav.paw.bekreftelse.internehendelser.vo.BrukerType = no.nav.paw.bekreftelse.internehendelser.vo.BrukerType.SLUTTBRUKER,
267+
id: String = "12345678901",
268+
sikkerhetsnivaa: String? = "idporten-loa-substantial"
269+
): InterntBekreftelseBruker = InterntBekreftelseBruker(type, id, sikkerhetsnivaa)
262270

263271
fun metadata(
264272
tidspunkt: Instant = Instant.now(),
@@ -320,12 +328,14 @@ object TestData {
320328
hendelseId: UUID = UUID.randomUUID(),
321329
periodeId: UUID = periodeId1,
322330
arbeidssoekerId: Long = arbeidssoekerId1,
323-
hendelseTidspunkt: Instant = Instant.now()
331+
hendelseTidspunkt: Instant = Instant.now(),
332+
utfoertAv: InterntBekreftelseBruker = internBekfretelseBruker()
324333
): BaOmAaAvsluttePeriode = BaOmAaAvsluttePeriode(
325334
hendelseId = hendelseId,
326335
periodeId = periodeId,
327336
arbeidssoekerId = arbeidssoekerId,
328-
hendelseTidspunkt = hendelseTidspunkt
337+
hendelseTidspunkt = hendelseTidspunkt,
338+
utfoertAv = utfoertAv
329339
)
330340

331341
fun bekreftelsePaaVegneAvStartet(

apps/bekreftelse-tjeneste/src/main/kotlin/no/nav/paw/bekreftelsetjeneste/topology/BekreftelseStream.kt

+19-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ import no.nav.paw.bekreftelse.internehendelser.BaOmAaAvsluttePeriode
1111
import no.nav.paw.bekreftelse.internehendelser.BekreftelseHendelse
1212
import no.nav.paw.bekreftelse.internehendelser.BekreftelseHendelseSerde
1313
import no.nav.paw.bekreftelse.internehendelser.BekreftelseMeldingMottatt
14+
import no.nav.paw.bekreftelse.internehendelser.vo.Bruker
1415
import no.nav.paw.bekreftelse.melding.v1.vo.Bekreftelsesloesning
16+
import no.nav.paw.bekreftelse.melding.v1.vo.BrukerType
1517
import no.nav.paw.bekreftelsetjeneste.config.ApplicationConfig
1618
import no.nav.paw.bekreftelsetjeneste.config.BekreftelseKonfigurasjon
1719
import no.nav.paw.bekreftelsetjeneste.metrics.tellBekreftelseMottatt
@@ -38,6 +40,7 @@ import org.apache.kafka.streams.processor.api.Record
3840
import org.slf4j.LoggerFactory
3941
import java.time.Instant
4042
import java.util.*
43+
import no.nav.paw.bekreftelse.internehendelser.vo.BrukerType as InterntBrukerType
4144

4245
fun StreamsBuilder.buildBekreftelseStream(
4346
prometheusMeterRegistry: PrometheusMeterRegistry,
@@ -171,13 +174,17 @@ fun behandleGyldigSvar(
171174
val oppdatertBekreftelse = bekreftelse + Levert(wallClock.value)
172175
val vilFortsette = record.svar.vilFortsetteSomArbeidssoeker
173176
val baOmAaAvslutte = if (!vilFortsette) {
174-
val baOmAaAvslutteHendelse = BaOmAaAvsluttePeriode(
177+
BaOmAaAvsluttePeriode(
175178
hendelseId = UUID.randomUUID(),
176179
periodeId = record.periodeId,
177180
arbeidssoekerId = arbeidssoekerId,
178-
hendelseTidspunkt = wallClock.value
181+
hendelseTidspunkt = wallClock.value,
182+
utfoertAv = Bruker(
183+
type = record.svar.sendtInnAv.utfoertAv.type.tilInternBrukerType(),
184+
id = record.svar.sendtInnAv.utfoertAv.id,
185+
sikkerhetsnivaa = record.svar.sendtInnAv.utfoertAv.sikkerhetsnivaa
186+
)
179187
)
180-
baOmAaAvslutteHendelse
181188
} else null
182189

183190
val meldingMottatt = BekreftelseMeldingMottatt(
@@ -190,6 +197,15 @@ fun behandleGyldigSvar(
190197
return listOfNotNull(meldingMottatt, baOmAaAvslutte) to oppdatertBekreftelse
191198
}
192199

200+
fun BrukerType.tilInternBrukerType(): InterntBrukerType =
201+
when (this) {
202+
BrukerType.UKJENT_VERDI -> InterntBrukerType.UKJENT_VERDI
203+
BrukerType.UDEFINERT -> InterntBrukerType.UDEFINERT
204+
BrukerType.VEILEDER -> InterntBrukerType.VEILEDER
205+
BrukerType.SYSTEM -> InterntBrukerType.SYSTEM
206+
BrukerType.SLUTTBRUKER -> InterntBrukerType.SLUTTBRUKER
207+
}
208+
193209
fun forwardHendelser(
194210
record: Record<Long, no.nav.paw.bekreftelse.melding.v1.Bekreftelse>,
195211
hendelser: List<BekreftelseHendelse>,

0 commit comments

Comments
 (0)