Skip to content

Commit

Permalink
Oppgradert pdl avro (#977)
Browse files Browse the repository at this point in the history
  • Loading branch information
stigebil authored Nov 21, 2023
1 parent a7c4b5a commit e46dfe5
Show file tree
Hide file tree
Showing 68 changed files with 1,015 additions and 12 deletions.
96 changes: 96 additions & 0 deletions src/main/resources/avro/identhendelse/Identhendelse.avdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
@namespace("no.nav.person.identhendelse")
protocol IdenthendelseProto {
import idl "Lineage.avdl";
import idl "v1/adressebeskyttelse/Adressebeskyttelse.avdl";
import idl "v1/bostedsadresse/Bostedsadresse.avdl";
import idl "v1/common/FregMetadata.avdl";
import idl "v1/common/NavMetadata.avdl";
import idl "v1/deltbosted/DeltBosted.avdl";
import idl "v1/doedfoedtbarn/DoedfoedtBarn.avdl";
import idl "v1/doedsfall/Doedsfall.avdl";
import idl "v1/falskidentitet/FalskIdentitet.avdl";
import idl "v1/familierelasjon/Familierelasjon.avdl";
import idl "v1/flytting/InnflyttingTilNorge.avdl";
import idl "v1/flytting/UtflyttingFraNorge.avdl";
import idl "v1/foedsel/Foedsel.avdl";
import idl "v1/foedested/Foedested.avdl";
import idl "v1/foedselsdato/Foedselsdato.avdl";
import idl "v1/foreldreansvar/Foreldreansvar.avdl";
import idl "v1/forelderbarnrelasjon/ForelderBarnRelasjon.avdl";
import idl "v1/fullmakt/Fullmakt.avdl";
import idl "v1/identitetsgrunnlag/Identitetsgrunnlag.avdl";
import idl "v1/kjoenn/Kjoenn.avdl";
import idl "v1/kontaktadresse/Kontaktadresse.avdl";
import idl "v1/kontaktinformasjonfordoedsbo/KontaktinformasjonForDoedsbo.avdl";
import idl "v1/navn/Navn.avdl";
import idl "v1/opphold/Opphold.avdl";
import idl "v1/opphold/Oppholdsadresse.avdl";
import idl "v1/personident/Folkeregisteridentifikator.avdl";
import idl "v1/personident/NavPersonident.avdl";
import idl "v1/personident/UtenlandskIdentifikasjonsnummer.avdl";
import idl "v1/personstatus/Folkeregisterpersonstatus.avdl";
import idl "v1/sikkerhetstiltak/Sikkerhetstiltak.avdl";
import idl "v1/sivilstand/Sivilstand.avdl";
import idl "v1/statsborgerskap/Statsborgerskap.avdl";
import idl "v1/telefonnummer/Telefonnummer.avdl";
import idl "v1/tilrettelagtkommunikasjon/TilrettelagtKommunikasjon.avdl";
import idl "v1/vergemaalellerfremtidsfullmakt/VergemaalEllerFremtidsfullmakt.avdl";
import idl "v1/rettslighandleevne/RettsligHandleevne.avdl";

enum Endringstype {
OPPRETT,
KORRIGER,
OPPHOER,
ANNULLER
}

record Identhendelse {
string hendelseId; // Alltids UUID.randomUuid().toString(). Unik identifikator for hendelsen
string personident; // Subjektet for identhendelsen, f.eks gjeldende ident når vi får fra FREG
string master; // Hittil kun FREG eller PDL, men sier hvem som eier opplysningen
timestamp_ms opprettet; // LocalDateTime.now()
string opplysningstype; // Opplysningstype i tekstlig format, f.eks UTENLANDSK_ID_V1. Skal være enum fra Opplysningstype java objektet
Endringstype endringstype; // Den faglige aksjonen.
union { null, string } tidligereHendelseId = null; // Peker til en tidligere identhendelse som denne erstatter. Brukt i forbindelse med korrigering, opphør og annullering.

union { null, no.nav.person.identhendelse.Lineage } lineage = null;

union { null, no.nav.person.identhendelse.v1.common.FregMetadata } fregMetadata = null;
union { null, no.nav.person.identhendelse.v1.common.NavMetadata } navMetadata = null;

// Identhendelsen kan inneholde én og bare én av følgende:
union { null, no.nav.person.identhendelse.v1.adressebeskyttelse.Adressebeskyttelse } adressebeskyttelse = null;
union { null, no.nav.person.identhendelse.v1.bostedsadresse.Bostedsadresse } bostedsadresse = null;
union { null, no.nav.person.identhendelse.v1.deltbosted.DeltBosted } deltBosted = null;
union { null, no.nav.person.identhendelse.v1.doedfoedtbarn.DoedfoedtBarn } doedfoedtBarn = null;
union { null, no.nav.person.identhendelse.v1.doedsfall.Doedsfall } doedsfall = null;
union { null, no.nav.person.identhendelse.v1.falskidentitet.FalskIdentitet } falskIdentitet = null;
union { null, no.nav.person.identhendelse.v1.familierelasjon.Familierelasjon } familierelasjon = null; // Blir DEPRECATED i fremtiden. Erstattes av forelderBarnRelasjon.
union { null, no.nav.person.identhendelse.v1.flytting.InnflyttingTilNorge } innflyttingTilNorge = null;
union { null, no.nav.person.identhendelse.v1.flytting.UtflyttingFraNorge } utflyttingFraNorge = null;
union { null, no.nav.person.identhendelse.v1.foedsel.Foedsel } foedsel = null;
union { null, no.nav.person.identhendelse.v1.foedested.Foedested } foedested = null;
union { null, no.nav.person.identhendelse.v1.foedselsdato.Foedselsdato } foedselsdato = null;
union { null, no.nav.person.identhendelse.v1.foreldreansvar.Foreldreansvar } foreldreansvar = null;
union { null, no.nav.person.identhendelse.v1.forelderbarnrelasjon.ForelderBarnRelasjon } forelderbarnrelasjon = null;
union { null, no.nav.person.identhendelse.v1.fullmakt.Fullmakt } fullmakt = null;
union { null, no.nav.person.identhendelse.v1.identitetsgrunnlag.Identitetsgrunnlag } identitetsgrunnlag = null;
union { null, no.nav.person.identhendelse.v1.kjoenn.Kjoenn } kjoenn = null;
union { null, no.nav.person.identhendelse.v1.kontaktadresse.Kontaktadresse } kontaktadresse = null;
union { null, no.nav.person.identhendelse.v1.kontaktinformasjonfordoedsbo.KontaktinformasjonForDoedsbo } kontaktinformasjonForDoedsbo = null;
union { null, no.nav.person.identhendelse.v1.navn.Navn } navn = null;
union { null, no.nav.person.identhendelse.v1.opphold.Opphold } opphold = null;
union { null, no.nav.person.identhendelse.v1.opphold.Oppholdsadresse } oppholdsadresse = null;
union { null, no.nav.person.identhendelse.v1.personident.Folkeregisteridentifikator } folkeregisteridentifikator = null;
union { null, no.nav.person.identhendelse.v1.personident.NavPersonident } navPersonident = null;
union { null, no.nav.person.identhendelse.v1.personident.UtenlandskIdentifikasjonsnummer } utenlandskIdentifikasjonsnummer = null;
union { null, no.nav.person.identhendelse.v1.personstatus.Folkeregisterpersonstatus } folkeregisterpersonstatus = null;
union { null, no.nav.person.identhendelse.v1.sikkerhetstiltak.Sikkerhetstiltak } sikkerhetstiltak = null;
union { null, no.nav.person.identhendelse.v1.sivilstand.Sivilstand } sivilstand = null;
union { null, no.nav.person.identhendelse.v1.statsborgerskap.Statsborgerskap } statsborgerskap = null;
union { null, no.nav.person.identhendelse.v1.telefonnummer.Telefonnummer } telefonnummer = null;
union { null, no.nav.person.identhendelse.v1.tilrettelagtkommunikasjon.TilrettelagtKommunikasjon } tilrettelagtKommunikasjon = null;
union { null, no.nav.person.identhendelse.v1.vergemaalellerfremtidsfullmakt.VergemaalEllerFremtidsfullmakt } vergemaalellerfremtidsfullmakt = null;
union{null, no.nav.person.identhendelse.v1.rettslighandleevne.RettsligHandleevne} rettslighandleevne = null;
}
}
7 changes: 7 additions & 0 deletions src/main/resources/avro/identhendelse/Lineage.avdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
@namespace("no.nav.person.identhendelse")
protocol LineageProto {

record Lineage {
string nodeId;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
@namespace("no.nav.person.identhendelse.v1.adressebeskyttelse")
protocol AdressebeskyttelseV1 {

enum Gradering {
STRENGT_FORTROLIG_UTLAND,
STRENGT_FORTROLIG,
FORTROLIG,
UGRADERT
}

record Adressebeskyttelse {
Gradering gradering;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
@namespace("no.nav.person.identhendelse.v1.bostedsadresse")
protocol BostedsadresseV1 {
import idl "../common/adresse/Adresse.avdl";

record Bostedsadresse {
union { null, date } flyttedato = null;
union { null, date } gyldigFraOgMed = null;
union { null, date } gyldigTilOgMed = null;
no.nav.person.identhendelse.v1.common.adresse.Adresse adresse;
}
}
13 changes: 13 additions & 0 deletions src/main/resources/avro/identhendelse/v1/common/FregMetadata.avdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
@namespace("no.nav.person.identhendelse.v1.common")
protocol Freg {

record FregMetadata {
union { null, timestamp_ms } ajourholdstidspunkt = null;
union { null, timestamp_ms } gyldighetstidspunkt = null;
union { null, timestamp_ms } opphoerstidspunkt = null;
union { null, string } kilde = null;
union { null, string } aarsak = null;
union { null, int } sekvens = null; // Brukes kun i særtilfeller
union { null, boolean } gjeldende = null; // Brukes kun i særtilfeller
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
@namespace("no.nav.person.identhendelse.v1.common")
protocol KjoennTypeV1 {
enum KjoennType {
MANN,
KVINNE,
UKJENT
}
}
15 changes: 15 additions & 0 deletions src/main/resources/avro/identhendelse/v1/common/NavMetadata.avdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
@namespace("no.nav.person.identhendelse.v1.common")
protocol Nav {

record Endring {
union { null, long } id = null;
union { null, string } referanse = null;
}

record NavMetadata {
string systemKilde;
string registrertAv;
string kilde;
union { null, Endring } endring = null;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
@namespace("no.nav.person.identhendelse.v1.common")
protocol PersonnavnV1 {

record Personnavn {
string fornavn;
union { null, string } mellomnavn = null;
string etternavn;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
@namespace("no.nav.person.identhendelse.v1.common")
protocol RelatertBiPersonV1 {
import idl "Personnavn.avdl";
import idl "KjoennType.avdl";

record RelatertBiPerson {
no.nav.person.identhendelse.v1.common.Personnavn navn;
union { null, date } foedselsdato = null;
union { null, string } statsborgerskap = null;
union { null, no.nav.person.identhendelse.v1.common.KjoennType } kjoenn = null;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
@namespace("no.nav.person.identhendelse.v1.common.adresse")
protocol AdresseV1 {
import idl "Adressegradering.avdl";
import idl "UkjentBosted.avdl";

record Adressenummer {
string husnummer;
union { null, string } husbokstav = null;
}

record Poststed {
union { null, string } poststedsnavn = null;
union { null, string } postnummer = null;
}

record Vegadresse {
string kommunenummer;
union { null, string } bruksenhetstype = null;
string adressenavn;
union { null, Adressenummer } adressenummer = null;
union { null, string } adressekode = null;
union { null, string } adressetilleggsnavn = null;
union { null, Poststed } poststed = null;
}

record Matrikkelnummer {
string kommunenummer;
int gaardsnummer;
int bruksnummer;
union { null, int } festenummer = null;
}

record Matrikkeladresse {
union { null, string } bruksenhetstype = null;
Matrikkelnummer matrikkelnummer;
union { null, int } undernummer = null;
union { null, string } adressetilleggsnavn = null;
union { null, Poststed } poststed = null;
}

record UtenlandskAdresse {
union { null, string } adressenavnNummer = null;
union { null, string } bygningEtasjeLeilighet = null; // NAV-spesifikk. Dekker de neste 3 feltene.
union { null, string } bygning = null;
union { null, string } etasjenummer = null;
union { null, string } boenhet = null;
union { null, string } postboksNummerNavn = null;
union { null, string } postkode = null;
union { null, string } bySted = null;
union { null, string } regionDistriktOmraade = null; // NAV-spesifikk. Dekker de neste 2 feltene.
union { null, string } distriktsnavn = null;
union { null, string } region = null;
string landkode;
}

record UtenlandskAdresseIFrittFormat {
array<string> adresselinje;
union { null, string } postkode = null;
union { null, string } byEllerStedsnavn = null;
string landkode;
}

record Postboksadresse {
union { null, string } postbokseier = null;
union { null, Poststed } poststed = null;
string postboks;
}

record VegadresseForPost {
union { null, string } adressenavn;
union { null, Adressenummer } adressenummer = null;
union { null, string } adressekode = null;
union { null, string } adressetilleggsnavn = null;
union { null, Poststed } poststed = null;
}

record PostadresseIFrittFormat {
array<string> adresselinje;
union { null, Poststed } poststed = null;
}

record Adresse {
union { null, no.nav.person.identhendelse.v1.common.adresse.Adressegradering } adressegradering = null;
union { null, string } adresseIdentifikatorFraMatrikkelen = null;
union { null, string } naerAdresseIdentifikatorFraMatrikkelen = null;
union { null, string } bruksenhetsnummer = null;
union { null, string } coAdressenavn = null;

union { null, long } grunnkrets = null;
union { null, Vegadresse } vegadresse = null;
union { null, Matrikkeladresse } matrikkeladresse = null;
union { null, no.nav.person.identhendelse.v1.common.adresse.UkjentBosted } ukjentBosted = null;
union { null, UtenlandskAdresse } utenlandskAdresse = null;
union { null, UtenlandskAdresseIFrittFormat } utenlandskAdresseIFrittFormat = null;
union { null, Postboksadresse } postboksadresse = null;
union { null, VegadresseForPost } vegadresseForPost = null;
union { null, PostadresseIFrittFormat } postadresseIFrittFormat = null;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
@namespace("no.nav.person.identhendelse.v1.common.adresse")
protocol AdressegraderingV1 {

enum Adressegradering {
UGRADERT,
KLIENTADRESSE,
FORTROLIG,
STRENGT_FORTROLIG
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
@namespace("no.nav.person.identhendelse.v1.common.adresse")
protocol UkjentBostedV1 {
// Usikker på om denne kan merges inn i Adresse pga bakover kompatiblilitet i Adresse.

record UkjentBosted {
union { null, string } bostedskommune = null;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
@namespace("no.nav.person.identhendelse.v1.deltbosted")
protocol DeltBostedV1 {
import idl "../common/adresse/Adresse.avdl";

record DeltBosted {
date startdatoForKontrakt;
union { null, date } sluttdatoForKontrakt = null;

no.nav.person.identhendelse.v1.common.adresse.Adresse adresse;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
@namespace("no.nav.person.identhendelse.v1.doedfoedtbarn")
protocol DoedfoedtBarnV1 {
record DoedfoedtBarn {
union { null, date } dato = null;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
@namespace("no.nav.person.identhendelse.v1.doedsfall")
protocol DoedsfallV1 {

record Doedsfall {
union { null, date } doedsdato = null;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
@namespace("no.nav.person.identhendelse.v1.falskidentitet")
protocol FalskIdentitetV1 {
import idl "../common/Personnavn.avdl";
import idl "../common/KjoennType.avdl";

record IdentifiserendeInformasjon {
no.nav.person.identhendelse.v1.common.Personnavn personnavn;
union { null, date } foedselsdato = null;
array<string> statsborgerskap;
union {null, no.nav.person.identhendelse.v1.common.KjoennType } kjoenn = null;
}

record FalskIdentitet {

// Rett identitet er gitt ved én og bare én av følgende:
union { null, IdentifiserendeInformasjon} rettIdentitetVedOpplysninger = null;
union { null, boolean } rettIdentitetErUkjent = null;
union { null, string } rettIdentitetVedIdentifikasjonsnummer = null;

boolean erFalsk;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
@namespace("no.nav.person.identhendelse.v1.familierelasjon")
protocol FamilierelasjonV1 {
import idl "../common/RelatertBiPerson.avdl";

record Familierelasjon {
union { null, string } relatertPerson = null;

string relatertPersonsRolle;
union { null, string } minRolleForPerson = null;

union { null, no.nav.person.identhendelse.v1.common.RelatertBiPerson } relatertPersonUtenFolkeregisteridentifikator = null;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
@namespace("no.nav.person.identhendelse.v1.flytting")
protocol InnflyttingTilNorgeV1 {

record InnflyttingTilNorge {
union { null, string } fraflyttingsland = null;
union { null, string } fraflyttingsstedIUtlandet = null;
}
}
Loading

0 comments on commit e46dfe5

Please sign in to comment.