From 8b482e6881d3eaf51b412aee4426b2fd256fa0b2 Mon Sep 17 00:00:00 2001 From: Nils Martin Sande Date: Fri, 18 Oct 2024 07:09:50 +0200 Subject: [PATCH] =?UTF-8?q?Oppdaterte=20kafka-keys=20slik=20at=20den=20ogs?= =?UTF-8?q?=C3=A5=20ser=20p=C3=A5=20historiske=20identer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nav/paw/kafkakeygenerator/Applikasjon.kt | 6 +++++- .../pdl/PdlIdentitesTjeneste.kt | 21 ++++++++++++++----- .../paw/kafkakeygenerator/ApplikasjonsTest.kt | 5 ++++- .../no/nav/paw/kafkakeygenerator/testdata.kt | 4 +++- 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/apps/kafka-key-generator/src/main/kotlin/no/nav/paw/kafkakeygenerator/Applikasjon.kt b/apps/kafka-key-generator/src/main/kotlin/no/nav/paw/kafkakeygenerator/Applikasjon.kt index b3033f67..43c1e791 100644 --- a/apps/kafka-key-generator/src/main/kotlin/no/nav/paw/kafkakeygenerator/Applikasjon.kt +++ b/apps/kafka-key-generator/src/main/kotlin/no/nav/paw/kafkakeygenerator/Applikasjon.kt @@ -55,7 +55,11 @@ class Applikasjon( @WithSpan private suspend fun sjekkMotAliaser(callId: CallId, identitet: Identitetsnummer): Either { - return identitetsTjeneste.hentIdentiter(callId, identitet) + return identitetsTjeneste.hentIdentiter( + callId = callId, + identitet = identitet, + histrorikk = true + ) .flatMap(kafkaKeys::hent) .flatMap { ids -> ids.values diff --git a/apps/kafka-key-generator/src/main/kotlin/no/nav/paw/kafkakeygenerator/pdl/PdlIdentitesTjeneste.kt b/apps/kafka-key-generator/src/main/kotlin/no/nav/paw/kafkakeygenerator/pdl/PdlIdentitesTjeneste.kt index 3e54e1c0..fedcb42d 100644 --- a/apps/kafka-key-generator/src/main/kotlin/no/nav/paw/kafkakeygenerator/pdl/PdlIdentitesTjeneste.kt +++ b/apps/kafka-key-generator/src/main/kotlin/no/nav/paw/kafkakeygenerator/pdl/PdlIdentitesTjeneste.kt @@ -14,11 +14,18 @@ private const val behandlingsnummer = "B452" class PdlIdentitesTjeneste(private val pdlKlient: PdlClient) { suspend fun hentIdentInformasjon( callId: CallId, - identitet: Identitetsnummer + identitet: Identitetsnummer, + histrorikk: Boolean = false ): Either> { return suspendeableAttempt { pdlKlient - .hentIdenter(identitet.value, callId.value, consumerId, behandlingsnummer) + .hentIdenter( + ident = identitet.value, + callId = callId.value, + navConsumerId = consumerId, + behandlingsnummer = behandlingsnummer, + historikk = histrorikk + ) }.mapToFailure { exception -> when (exception) { is PdlException -> mapPdlException(exception) @@ -35,9 +42,13 @@ class PdlIdentitesTjeneste(private val pdlKlient: PdlClient) { suspend fun hentIdentiter( callId: CallId, - identitet: Identitetsnummer - ): Either> = hentIdentInformasjon(callId, identitet) - .map { liste -> liste.map { it.ident } } + identitet: Identitetsnummer, + histrorikk: Boolean = false + ): Either> = hentIdentInformasjon( + callId = callId, + identitet = identitet, + histrorikk = histrorikk + ).map { liste -> liste.map { it.ident } } private fun mapPdlException(ex: PdlException): Failure { return if (ex.errors?.any { it.message.contains("Fant ikke person") } == true) { diff --git a/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/ApplikasjonsTest.kt b/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/ApplikasjonsTest.kt index e6478b8d..73d29ab5 100644 --- a/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/ApplikasjonsTest.kt +++ b/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/ApplikasjonsTest.kt @@ -29,7 +29,10 @@ class ApplikasjonsTest : StringSpec({ identitetsTjeneste = PdlIdentitesTjeneste(pdlKlient) ) fun hentEllerOpprett(identitetsnummer: String): Either = runBlocking { - app.hentEllerOpprett(CallId(UUID.randomUUID().toString()), Identitetsnummer(identitetsnummer)) + app.hentEllerOpprett( + callId = CallId(UUID.randomUUID().toString()), + identitet = Identitetsnummer(identitetsnummer) + ) } "alle identer for person1 skal gi samme nøkkel" { val person1KafkaNøkler = listOf( diff --git a/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/testdata.kt b/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/testdata.kt index 4fd4d9d9..e690b8d0 100644 --- a/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/testdata.kt +++ b/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/testdata.kt @@ -47,7 +47,7 @@ const val person1MockSvar = """ }, { "ident": "$person1_dnummer", - "gruppe": "DNUMMER" + "gruppe": "FOLKEREGISTERIDENT" }, { "ident": "$person1_annen_ident", @@ -84,6 +84,8 @@ fun MockRequestHandleScope.genererResponse(it: HttpRequestData): HttpResponseDat val end = text.indexOf("}", start) val ident = text .substring(start, end) + .split(",") + .first() .replace("\"", "") .replace("ident:", "") .trim()