Skip to content

Commit 448f973

Browse files
authored
Merge pull request #44 from navikt/jalla
Jalla
2 parents 0d9b175 + 5de85da commit 448f973

File tree

5 files changed

+48
-18
lines changed

5 files changed

+48
-18
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
package no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain
22

3+
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.Familie.Companion.INGEN
34
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.regler.GlobalGruppe
45

5-
class Bruker(val brukerId: BrukerId, val geoTilknytning: GeoTilknytning, vararg val gruppeKrav: GlobalGruppe) {
6+
class Bruker(val brukerId: BrukerId,
7+
val geoTilknytning: GeoTilknytning,
8+
val familie: Familie = INGEN,
9+
vararg val gruppeKrav: GlobalGruppe) {
610

711
fun kreverGlobalGruppe(gruppe: GlobalGruppe) = gruppe in gruppeKrav
812

13+
914
override fun toString() = "${javaClass.simpleName} [ident=$brukerId, geoTilknytning=$geoTilknytning, gruppeKrav=${gruppeKrav.contentToString()}]"
1015
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain
2+
3+
data class Familie(val mor: BrukerId? = null, val far: BrukerId? = null, val barn: List<BrukerId> = emptyList()) {
4+
companion object {
5+
val INGEN = Familie()
6+
}
7+
}

src/main/kotlin/no/nav/tilgangsmaskin/populasjonstilgangskontroll/integrasjoner/pdl/PdlPipTilBrukerMapper.kt

+15-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@ package no.nav.tilgangsmaskin.populasjonstilgangskontroll.integrasjoner.pdl
33
import no.nav.boot.conditionals.EnvUtil.CONFIDENTIAL
44
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.Bruker
55
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.BrukerId
6+
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.Familie
67
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.integrasjoner.pdl.PdlGeoTilknytning.GTType.UDEFINERT
78
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.integrasjoner.pdl.PdlPipRespons.PdlPipPerson.AdressebeskyttelseGradering.*
9+
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.integrasjoner.pdl.PdlPipRespons.PdlPipPerson.Familierelasjon
10+
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.integrasjoner.pdl.PdlPipRespons.PdlPipPerson.Familierelasjon.FamilieRelasjonRolle.*
811
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.integrasjoner.pdl.PdlTilBrukerMapper.tilGeoTilknytning
912
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.regler.GlobalGruppe
1013
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.regler.GlobalGruppe.*
@@ -29,10 +32,20 @@ object PdlPipTilBrukerMapper {
2932
}
3033
}.toTypedArray().let {
3134

32-
Bruker(brukerId,tilGeoTilknytning(respons.geografiskTilknytning), *it).also {
35+
Bruker(brukerId,
36+
tilGeoTilknytning(respons.geografiskTilknytning),
37+
tilFamilie(respons.person.familierelasjoner),
38+
*it).also {
3339
log.info(CONFIDENTIAL, "Mappet person {} til bruker {}", respons, it)
3440
}
3541
}
3642
}
37-
43+
private fun tilFamilie(relasjoner: List<Familierelasjon>) =
44+
with(relasjoner) {
45+
Familie(
46+
find { it.relatertPersonsRolle == MOR }?.relatertPersonsIdent,
47+
find { it.relatertPersonsRolle == FAR }?.relatertPersonsIdent,
48+
filter { it.relatertPersonsRolle == BARN }.mapNotNull { it.relatertPersonsIdent }
49+
)
50+
}
3851
}

src/main/kotlin/no/nav/tilgangsmaskin/populasjonstilgangskontroll/integrasjoner/pdl/PdlTilBrukerMapper.kt

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package no.nav.tilgangsmaskin.populasjonstilgangskontroll.integrasjoner.pdl
22

33
import com.neovisionaries.i18n.CountryCode.getByAlpha3Code
4-
import no.nav.boot.conditionals.EnvUtil.CONFIDENTIAL
54
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.Bruker
65
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.BrukerId
6+
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.Familie
77
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.GeoTilknytning
88
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.GeoTilknytning.*
99
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.GeoTilknytning.Companion.UdefinertGeoTilknytning
@@ -32,10 +32,7 @@ object PdlTilBrukerMapper {
3232
add(EGEN_ANSATT_GRUPPE)
3333
}
3434
}.toTypedArray().let {
35-
36-
Bruker(tilFødselsnummer(person.folkeregisteridentifikator),tilGeoTilknytning(gt), *it).also {
37-
log.trace(CONFIDENTIAL, "Mappet person {} til kandidat {}", person, it)
38-
}
35+
Bruker(tilFødselsnummer(person.folkeregisteridentifikator), tilGeoTilknytning(gt), Familie.INGEN,*it)
3936
}
4037

4138
private fun tilFødselsnummer(ident: List<PdlPerson.Folkeregisteridentifikator>) =

src/test/kotlin/no/nav/tilgangsmaskin/populasjonstilgangskontroll/regler/TestData.kt

+18-10
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.GeoTilknytning.K
1313
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.GeoTilknytning.UkjentBosted
1414
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.GeoTilknytning.UtenlandskTilknytning
1515
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.AnsattId
16+
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.Familie
1617
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.domain.Navn
1718
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.integrasjoner.entra.EntraGruppe
1819
import no.nav.tilgangsmaskin.populasjonstilgangskontroll.regler.GlobalGruppe.*
@@ -35,16 +36,23 @@ object TestData {
3536
internal val annenEnhetBrukerId = BrukerId("08526835679")
3637

3738

38-
internal val strengtFortroligBruker = Bruker(strengtFortroligBrukerId, UdefinertGeoTilknytning, STRENGT_FORTROLIG_GRUPPE)
39-
internal val fortroligBruker = Bruker(fortroligBrukerId, UdefinertGeoTilknytning, FORTROLIG_GRUPPE)
40-
internal val vanligBruker = Bruker(vanligBrukerId, UdefinertGeoTilknytning)
41-
internal val ansattBruker = Bruker(ansattBrukerId, UdefinertGeoTilknytning, EGEN_ANSATT_GRUPPE)
42-
internal val egenAnsattStrengtFortroligBruker = Bruker(egenAnsattStrengtFortroligBrukerId, UdefinertGeoTilknytning, EGEN_ANSATT_GRUPPE, STRENGT_FORTROLIG_GRUPPE)
43-
internal val egenAnsattFortroligBruker = Bruker(egenAnsattFortroligBrukerId, UdefinertGeoTilknytning, EGEN_ANSATT_GRUPPE, FORTROLIG_GRUPPE)
44-
internal val ukjentBostedBruker = Bruker(ukjentBostedBrukerId, UkjentBosted(), UDEFINERT_GEO_GRUPPE)
45-
internal val geoUtlandBruker = Bruker(geoUtlandBrukerId, UtenlandskTilknytning(SE), GEO_PERSON_UTLAND_GRUPPE)
46-
internal val enhetBruker = Bruker(enhetBrukerId, KommuneTilknytning(Kommune(enhet.verdi)))
47-
internal val annenEnhetBruker = Bruker(annenEnhetBrukerId, KommuneTilknytning(Kommune("4321")))
39+
internal val strengtFortroligBruker = Bruker(strengtFortroligBrukerId, UdefinertGeoTilknytning, Familie.INGEN,STRENGT_FORTROLIG_GRUPPE)
40+
internal val fortroligBruker = Bruker(fortroligBrukerId, UdefinertGeoTilknytning, Familie.INGEN,FORTROLIG_GRUPPE)
41+
internal val vanligBruker = Bruker(vanligBrukerId, UdefinertGeoTilknytning, Familie.INGEN)
42+
internal val ansattBruker = Bruker(ansattBrukerId, UdefinertGeoTilknytning, Familie.INGEN,EGEN_ANSATT_GRUPPE)
43+
internal val egenAnsattStrengtFortroligBruker = Bruker(egenAnsattStrengtFortroligBrukerId,
44+
UdefinertGeoTilknytning, Familie.INGEN,
45+
STRENGT_FORTROLIG_GRUPPE,
46+
EGEN_ANSATT_GRUPPE)
47+
internal val egenAnsattFortroligBruker = Bruker(egenAnsattFortroligBrukerId,
48+
UdefinertGeoTilknytning,
49+
Familie.INGEN,
50+
FORTROLIG_GRUPPE,
51+
EGEN_ANSATT_GRUPPE)
52+
internal val ukjentBostedBruker = Bruker(ukjentBostedBrukerId, UkjentBosted(), Familie.INGEN,UDEFINERT_GEO_GRUPPE)
53+
internal val geoUtlandBruker = Bruker(geoUtlandBrukerId, UtenlandskTilknytning(SE), Familie.INGEN,GEO_PERSON_UTLAND_GRUPPE)
54+
internal val enhetBruker = Bruker(enhetBrukerId, KommuneTilknytning(Kommune(enhet.verdi)), )
55+
internal val annenEnhetBruker = Bruker(annenEnhetBrukerId, KommuneTilknytning(Kommune("4321")), )
4856

4957

5058

0 commit comments

Comments
 (0)