Skip to content

Commit

Permalink
Merge pull request #362 from navikt/addNewVergemaalFields
Browse files Browse the repository at this point in the history
Add new fields to vergemål
  • Loading branch information
mamikals authored Nov 8, 2024
2 parents ecaa801 + 329fe82 commit 5ab0752
Show file tree
Hide file tree
Showing 12 changed files with 157 additions and 14 deletions.
14 changes: 14 additions & 0 deletions force-app/pdl-apexTypes/classes/PDL_IdentifiserendeInformasjon.cls
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
public with sharing class PDL_IdentifiserendeInformasjon {

@TestVisible
public PDL_Navn navn { get;}
@TestVisible
public String kjoenn { get;}
@TestVisible
public Date foedselsdato { get;}
@TestVisible
public String[] statsborgerskap { get;}

public PDL_IdentifiserendeInformasjon() {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>62.0</apiVersion>
<status>Active</status>
</ApexClass>
9 changes: 9 additions & 0 deletions force-app/pdl-apexTypes/classes/PDL_Tjenesteomraade.cls
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
public with sharing class PDL_Tjenesteomraade {
@TestVisible
public String tjenesteoppgave { get;}
@TestVisible
public String tjenestevirksomhet { get;}

public PDL_Tjenesteomraade() {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>62.0</apiVersion>
<status>Active</status>
</ApexClass>
5 changes: 4 additions & 1 deletion force-app/pdl-apexTypes/classes/PDL_VergeEllerFullmektig.cls
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,11 @@ public with sharing class PDL_VergeEllerFullmektig {
public String omfang{ get;}
@TestVisible
public Boolean omfangetErInnenPersonligOmraade{ get;}
@TestVisible
public PDL_IdentifiserendeInformasjon identifiserendeInformasjon { get;}
@TestVisible
public PDL_Tjenesteomraade tjenesteomraade { get;}

public PDL_VergeEllerFullmektig() {

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
public with sharing class PDL_API_IdentifiserendeInformasjonQuery {

PDL_API_PersonnavnQuery navn;
public Boolean kjoenn = false;
public Boolean foedselsdato = false;
public boolean statsborgerskap = false;

public PDL_API_IdentifiserendeInformasjonQuery() {
navn = new PDL_API_PersonnavnQuery('navn');
}

public void selectAll(){
navn.selectAll();
kjoenn = true;
foedselsdato = true;
statsborgerskap = true;
}

public Boolean isEmpty(){
return !( !navn.isEmpty() ||
kjoenn ||
foedselsdato ||
statsborgerskap);
}

public GQLField buildGQLField(){
if(isEmpty()) return null;

GQLSelectionSet selectionSet = new GQLSelectionSet();
selectionSet.addItem( navn.buildGQLField() );
if ( kjoenn ) selectionSet.addItem( new GQLField( 'kjoenn' ) );
if ( foedselsdato ) selectionSet.addItem( new GQLField( 'foedselsdato' ) );
if ( statsborgerskap ) selectionSet.addItem( new GQLField( 'statsborgerskap' ) );

GQLArguments args = new GQLArguments();

return new GQLField(
'identifiserendeInformasjon',
args,
selectionSet
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>62.0</apiVersion>
<status>Active</status>
</ApexClass>
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
public with sharing class PDL_API_TjenesteomraadeQuery {

public Boolean tjenesteoppgave = false;
public Boolean tjenestevirksomhet = false;

public PDL_API_TjenesteomraadeQuery() {
}

public void selectAll(){
tjenesteoppgave = true;
tjenestevirksomhet = true;
}

public Boolean isEmpty(){
return !( tjenesteoppgave ||
tjenestevirksomhet);
}

public GQLField buildGQLField(){
if(isEmpty()) return null;

GQLSelectionSet selectionSet = new GQLSelectionSet();
if ( tjenesteoppgave ) selectionSet.addItem( new GQLField( 'tjenesteoppgave' ) );
if ( tjenestevirksomhet ) selectionSet.addItem( new GQLField( 'tjenestevirksomhet' ) );

GQLArguments args = new GQLArguments();

return new GQLField(
'tjenesteomraade',
args,
selectionSet
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>62.0</apiVersion>
<status>Active</status>
</ApexClass>
Original file line number Diff line number Diff line change
@@ -1,23 +1,28 @@
public with sharing class PDL_API_VergeEllerFullmektigQuery {

PDL_API_PersonnavnQuery navn;
public Boolean motpartsPersonident = false;
public Boolean omfang = false;
public Boolean omfangetErInnenPersonligOmraade = false;
PDL_API_TjenesteomraadeQuery tjenesteomraade;
PDL_API_IdentifiserendeInformasjonQuery identifiserendeInformasjon;

public PDL_API_VergeEllerFullmektigQuery() {
navn = new PDL_API_PersonnavnQuery('navn');
tjenesteomraade = new PDL_API_TjenesteomraadeQuery();
identifiserendeInformasjon = new PDL_API_IdentifiserendeInformasjonQuery();

}

public void selectAll(){
navn.selectAll();
motpartsPersonident = true;
omfang = true;
omfangetErInnenPersonligOmraade = true;
tjenesteomraade.selectAll();
identifiserendeInformasjon.selectAll();
}

public Boolean isEmpty(){
return !( !navn.isEmpty() ||
return !( !tjenesteomraade.isEmpty() ||
!identifiserendeInformasjon.isEmpty() ||
motpartsPersonident ||
omfang ||
omfangetErInnenPersonligOmraade );
Expand All @@ -27,10 +32,11 @@ public with sharing class PDL_API_VergeEllerFullmektigQuery {
if(isEmpty()) return null;

GQLSelectionSet selectionSet = new GQLSelectionSet();
selectionSet.addItem( navn.buildGQLField() );
if ( motpartsPersonident ) selectionSet.addItem( new GQLField( 'motpartsPersonident' ) );
if ( omfang ) selectionSet.addItem( new GQLField( 'omfang' ) );
if ( omfangetErInnenPersonligOmraade ) selectionSet.addItem( new GQLField( 'omfangetErInnenPersonligOmraade' ) );
selectionSet.addItem( tjenesteomraade.buildGQLField() );
selectionSet.addItem( identifiserendeInformasjon.buildGQLField() );

GQLArguments args = new GQLArguments();

Expand Down
21 changes: 15 additions & 6 deletions force-app/pdl-api/classes/PDL_API_QueryTest.cls
Original file line number Diff line number Diff line change
Expand Up @@ -970,14 +970,23 @@ private class PDL_API_QueryTest {
'type ' +
'embete ' +
'vergeEllerFullmektig{ ' +
'navn{ ' +
'fornavn ' +
'mellomnavn ' +
'etternavn' +
'} ' +
'motpartsPersonident ' +
'omfang ' +
'omfangetErInnenPersonligOmraade' +
'omfangetErInnenPersonligOmraade ' +
'tjenesteomraade{ ' +
'tjenesteoppgave ' +
'tjenestevirksomhet' +
'} ' +
'identifiserendeInformasjon{ ' +
'navn{ ' +
'fornavn ' +
'mellomnavn ' +
'etternavn' +
'} ' +
'kjoenn ' +
'foedselsdato ' +
'statsborgerskap' +
'}' +
'} ' +
'folkeregistermetadata{ ' +
'ajourholdstidspunkt ' +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1170,9 +1170,14 @@ private class KafkaPdlPersondokumentHandlerTest {
verge.type = 'stadfestetFremtidsfullmakt';
verge.embete = 'Statsforvalter';
verge.vergeEllerFullmektig = new PDL_VergeEllerFullmektig();
verge.vergeEllerFullmektig.navn = null;
verge.vergeEllerFullmektig.motpartsPersonident = '12345678910';
verge.vergeEllerFullmektig.omfang = 'Personlige og/eller økonomiske interesser';
verge.vergeEllerFullmektig.tjenesteomraade = new PDL_Tjenesteomraade();
verge.vergeEllerFullmektig.tjenesteomraade.tjenesteoppgave = 'Arbeid';
verge.vergeEllerFullmektig.tjenesteomraade.tjenestevirksomhet = 'NAV';
verge.vergeEllerFullmektig.identifiserendeInformasjon = new PDL_IdentifiserendeInformasjon();
verge.vergeEllerFullmektig.identifiserendeInformasjon.navn = null;
verge.vergeEllerFullmektig.identifiserendeInformasjon.foedselsdato = Date.valueOf('1999-08-17');
verge.vergeEllerFullmektig.omfangetErInnenPersonligOmraade = true;
kafkaPerson.hentPerson.vergemaalEllerFremtidsfullmakt.add(verge);

Expand Down Expand Up @@ -1210,7 +1215,7 @@ private class KafkaPdlPersondokumentHandlerTest {
Assert.areEqual('Delhi', person.INT_MovedToPlace__c);
Assert.areEqual('NO', person.INT_SpokenLanguageIntepreter__c);
Assert.areEqual('[{"metadata":null,"omraader":["DAG"],"motpartsRolle":"FULLMEKTIG","motpartsPersonident":"12345678910","gyldigTilOgMed":"2020-02-28","gyldigFraOgMed":"2020-02-14"}]', person.INT_PowerOfAttorney__c);
Assert.areEqual('[{"metadata":null,"vergeEllerFullmektig":{"omfangetErInnenPersonligOmraade":true,"omfang":"Personlige og/eller økonomiske interesser","navn":null,"motpartsPersonident":"12345678910"},"type":"stadfestetFremtidsfullmakt","folkeregistermetadata":null,"embete":"Statsforvalter"}]', person.INT_GuardianshipOrFuturePowerOfAttorney__c);
Assert.areEqual('[{"metadata":null,"vergeEllerFullmektig":{"tjenesteomraade":{"tjenestevirksomhet":"NAV","tjenesteoppgave":"Arbeid"},"omfangetErInnenPersonligOmraade":true,"omfang":"Personlige og/eller økonomiske interesser","navn":null,"motpartsPersonident":"12345678910","identifiserendeInformasjon":{"statsborgerskap":null,"navn":null,"kjoenn":null,"foedselsdato":"1999-08-17"}},"type":"stadfestetFremtidsfullmakt","folkeregistermetadata":null,"embete":"Statsforvalter"}]', person.INT_GuardianshipOrFuturePowerOfAttorney__c);
Assert.areEqual('UGRADERT', person.INT_Confidential__c);
Assert.areEqual(Date.newInstance(2019, 1, 29), person.INT_DateOfDeath__c);
Assert.areEqual(true, person.INT_IsDeceased__c);
Expand Down

0 comments on commit 5ab0752

Please sign in to comment.