From b6caff49b640887fa6d1da78aee4ebb9bd3fec1e Mon Sep 17 00:00:00 2001 From: Marius Eriksen Date: Wed, 12 Feb 2025 15:02:44 +0100 Subject: [PATCH] =?UTF-8?q?Legg=20til=20st=C3=B8tte=20for=20=C3=A5=20hente?= =?UTF-8?q?=20sikkerhetstiltak?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Mona Kjeldsrud --- .../kotlin/no/nav/dagpenger/pdl/PDLPerson.kt | 20 +++++++++++++++++++ .../nav/dagpenger/pdl/queries/PersonQuery.kt | 11 ++++++++++ .../pdl/sikkerhetstiltak/Sikkerhetstiltak.kt | 16 +++++++++++++++ .../pdl/integration/PDLIntegrationTest.kt | 7 +++++-- 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 pdl-klient/src/main/kotlin/no/nav/dagpenger/pdl/sikkerhetstiltak/Sikkerhetstiltak.kt diff --git a/pdl-klient/src/main/kotlin/no/nav/dagpenger/pdl/PDLPerson.kt b/pdl-klient/src/main/kotlin/no/nav/dagpenger/pdl/PDLPerson.kt index 52401d8..593b332 100644 --- a/pdl-klient/src/main/kotlin/no/nav/dagpenger/pdl/PDLPerson.kt +++ b/pdl-klient/src/main/kotlin/no/nav/dagpenger/pdl/PDLPerson.kt @@ -10,6 +10,8 @@ import no.nav.dagpenger.pdl.entity.Oppholdsadresse import no.nav.dagpenger.pdl.entity.Person import no.nav.dagpenger.pdl.entity.UtenlandskAdresse import no.nav.dagpenger.pdl.entity.Vegadresse +import no.nav.dagpenger.pdl.sikkerhetstiltak.Kontaktperson +import no.nav.dagpenger.pdl.sikkerhetstiltak.SikkerhetstiltakDto import java.time.LocalDate import java.time.temporal.ChronoUnit @@ -197,6 +199,24 @@ class PDLPerson(private val person: Person) { AdressebeskyttelseGradering.valueOf(it.gradering.name) } ?: AdressebeskyttelseGradering.UGRADERT + val sikkerhetstiltak: List = + person.sikkerhetstiltak.map { + sikkerhetstiltak -> + SikkerhetstiltakDto( + tiltakstype = sikkerhetstiltak.tiltakstype, + tiltaksbeskrivelse = sikkerhetstiltak.beskrivelse, + gyldigFraOgMed = sikkerhetstiltak.gyldigFraOgMed, + gyldigTilOgMed = sikkerhetstiltak.gyldigTilOgMed, + kontaktperson = + sikkerhetstiltak.kontaktperson?.let { + Kontaktperson( + personident = it.personident, + enhet = it.enhet, + ) + }, + ) + } + val navn: Navn = person.navn.firstOrNull() ?: throw PDLException("Ingen navn funnet") val fornavn: String = navn.fornavn val mellomnavn: String? = navn.mellomnavn diff --git a/pdl-klient/src/main/kotlin/no/nav/dagpenger/pdl/queries/PersonQuery.kt b/pdl-klient/src/main/kotlin/no/nav/dagpenger/pdl/queries/PersonQuery.kt index 755b9fa..728506e 100644 --- a/pdl-klient/src/main/kotlin/no/nav/dagpenger/pdl/queries/PersonQuery.kt +++ b/pdl-klient/src/main/kotlin/no/nav/dagpenger/pdl/queries/PersonQuery.kt @@ -171,4 +171,15 @@ fun PersonProjection.personDetailsFragment() { utenlandskAdresseDetailsFragment() } } + + sikkerhetstiltak { + tiltakstype() + beskrivelse() + kontaktperson { + personident() + enhet() + } + gyldigFraOgMed() + gyldigTilOgMed() + } } diff --git a/pdl-klient/src/main/kotlin/no/nav/dagpenger/pdl/sikkerhetstiltak/Sikkerhetstiltak.kt b/pdl-klient/src/main/kotlin/no/nav/dagpenger/pdl/sikkerhetstiltak/Sikkerhetstiltak.kt new file mode 100644 index 0000000..96a3daf --- /dev/null +++ b/pdl-klient/src/main/kotlin/no/nav/dagpenger/pdl/sikkerhetstiltak/Sikkerhetstiltak.kt @@ -0,0 +1,16 @@ +package no.nav.dagpenger.pdl.sikkerhetstiltak + +import java.time.LocalDate + +data class SikkerhetstiltakDto( + val tiltakstype: String, + val tiltaksbeskrivelse: String, + val kontaktperson: Kontaktperson?, + val gyldigFraOgMed: LocalDate, + val gyldigTilOgMed: LocalDate, +) + +data class Kontaktperson( + val personident: String, + val enhet: String, +) diff --git a/pdl-klient/src/test/kotlin/no/nav/dagpenger/pdl/integration/PDLIntegrationTest.kt b/pdl-klient/src/test/kotlin/no/nav/dagpenger/pdl/integration/PDLIntegrationTest.kt index b80246e..4b7e038 100644 --- a/pdl-klient/src/test/kotlin/no/nav/dagpenger/pdl/integration/PDLIntegrationTest.kt +++ b/pdl-klient/src/test/kotlin/no/nav/dagpenger/pdl/integration/PDLIntegrationTest.kt @@ -75,8 +75,11 @@ class PDLIntegrationTest { val token = getAzureAdToken("dp-soknad", "api://dev-fss.pdl.pdl-api/.default") createPersonOppslagBolk("https://pdl-api.dev.intern.nav.no/graphql") .hentPersoner( - listOf("01038401226"), - mapOf(HttpHeaders.Authorization to "Bearer $token"), + listOf("29904797241"), + mapOf( + HttpHeaders.Authorization to "Bearer $token", + "behandlingsnummer" to "behandlingsnummer du må finne", + ), ).size shouldBe 1 } }