From c9f9e36323212926cf6d96be18e2b3fa5d00a387 Mon Sep 17 00:00:00 2001 From: "Kristen.Herum" Date: Mon, 7 Oct 2024 12:15:26 +0200 Subject: [PATCH] Oppdatert personstatus, rettet feil --- apps/pdl-forvalter/build.gradle | 1 + apps/pdl-forvalter/settings.gradle | 1 + .../pdl/forvalter/config/LocalVaultConfig.java | 17 +++++++++++++++++ .../service/ArtifactDeleteService.java | 2 ++ .../FolkeregisterPersonstatusService.java | 12 ++++-------- .../libs/data/pdlforvalter/v1/PersonDTO.java | 6 +++++- 6 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/config/LocalVaultConfig.java diff --git a/apps/pdl-forvalter/build.gradle b/apps/pdl-forvalter/build.gradle index 160fb17c31a..b35263e4dee 100644 --- a/apps/pdl-forvalter/build.gradle +++ b/apps/pdl-forvalter/build.gradle @@ -15,6 +15,7 @@ properties { dependencies { implementation "no.nav.testnav.libs:database" + implementation "no.nav.testnav.libs:vault" implementation "no.nav.testnav.libs:data-transfer-objects" implementation "no.nav.testnav.libs:data-transfer-search-objects" implementation "no.nav.testnav.libs:servlet-core" diff --git a/apps/pdl-forvalter/settings.gradle b/apps/pdl-forvalter/settings.gradle index c5eee4e5ef0..55439f16a1a 100644 --- a/apps/pdl-forvalter/settings.gradle +++ b/apps/pdl-forvalter/settings.gradle @@ -9,6 +9,7 @@ includeBuild "../../plugins/java" includeBuild '../../libs/data-transfer-objects' includeBuild '../../libs/data-transfer-search-objects' includeBuild '../../libs/database' +includeBuild '../../libs/vault' includeBuild '../../libs/reactive-core' includeBuild '../../libs/security-core' includeBuild '../../libs/servlet-core' diff --git a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/config/LocalVaultConfig.java b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/config/LocalVaultConfig.java new file mode 100644 index 00000000000..65026b7c5b9 --- /dev/null +++ b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/config/LocalVaultConfig.java @@ -0,0 +1,17 @@ +package no.nav.pdl.forvalter.config; + +import no.nav.testnav.libs.database.config.FlywayConfiguration; +import no.nav.testnav.libs.database.config.VaultHikariConfiguration; +import no.nav.testnav.libs.vault.AbstractLocalVaultConfiguration; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.Profile; + +@Configuration +@Profile("local") +@Import({ + FlywayConfiguration.class, + VaultHikariConfiguration.class +}) +public class LocalVaultConfig extends AbstractLocalVaultConfiguration { +} \ No newline at end of file diff --git a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/ArtifactDeleteService.java b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/ArtifactDeleteService.java index c764c67ccba..2040b57a2ce 100644 --- a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/ArtifactDeleteService.java +++ b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/ArtifactDeleteService.java @@ -352,6 +352,8 @@ public void deleteFolkeregisterPersonstatus(String ident, Integer id) { dbPerson.getPerson().setFolkeregisterPersonstatus(dbPerson.getPerson().getFolkeregisterPersonstatus().stream() .filter(type -> !id.equals(type.getId())) .toList()); + + FolkeregisterPersonstatusService.setGyldigTilOgMed(dbPerson.getPerson().getFolkeregisterPersonstatus()); } public void deleteSikkerhetstiltak(String ident, Integer id) { diff --git a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/FolkeregisterPersonstatusService.java b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/FolkeregisterPersonstatusService.java index 216c1615036..309fa665963 100644 --- a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/FolkeregisterPersonstatusService.java +++ b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/FolkeregisterPersonstatusService.java @@ -77,13 +77,7 @@ public List convert(PersonDTO person) { public List update(PersonDTO person) { - person.getFolkeregisterPersonstatus().clear(); - person.getFolkeregisterPersonstatus() - .add(FolkeregisterPersonstatusDTO.builder() - .id(person.getFolkeregisterPersonstatus().size() + 1) - .isNew(true) - .build()); - + person.setIsChanged(true); return convert(person); } @@ -195,7 +189,7 @@ private static LocalDateTime getBoadresseGyldigFraDato(PersonDTO person) { .orElse(FoedselsdatoUtility.getFoedselsdato(person)); } - private static void setGyldigTilOgMed(List folkeregisterPersonstatus) { + protected static void setGyldigTilOgMed(List folkeregisterPersonstatus) { for (var i = 0; i < folkeregisterPersonstatus.size(); i++) { if (i + 1 < folkeregisterPersonstatus.size() && nonNull(folkeregisterPersonstatus.get(i).getGyldigFraOgMed())) { @@ -203,5 +197,7 @@ private static void setGyldigTilOgMed(List folkere .setGyldigTilOgMed(folkeregisterPersonstatus.get(i).getGyldigFraOgMed().minusDays(1)); } } + + folkeregisterPersonstatus.getFirst().setGyldigTilOgMed(null); } } \ No newline at end of file diff --git a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/pdlforvalter/v1/PersonDTO.java b/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/pdlforvalter/v1/PersonDTO.java index 881bce95088..34d08149aed 100644 --- a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/pdlforvalter/v1/PersonDTO.java +++ b/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/pdlforvalter/v1/PersonDTO.java @@ -20,6 +20,7 @@ import static no.nav.testnav.libs.data.pdlforvalter.v1.Identtype.DNR; import static no.nav.testnav.libs.data.pdlforvalter.v1.Identtype.FNR; import static no.nav.testnav.libs.data.pdlforvalter.v1.Identtype.NPID; +import static org.apache.commons.lang3.BooleanUtils.isNotTrue; import static org.apache.commons.lang3.BooleanUtils.isTrue; @Data @@ -33,6 +34,9 @@ public class PersonDTO implements Serializable { private Identtype identtype; private Boolean standalone; + @JsonIgnore + private Boolean isChanged; + private List adressebeskyttelse; private List bostedsadresse; private List deltBosted; @@ -304,7 +308,7 @@ public boolean isStandalone() { @JsonIgnore public boolean isNotChanged() { - return Arrays.stream(this.getClass().getMethods()) + return isNotTrue(isChanged) && Arrays.stream(this.getClass().getMethods()) .filter(method -> method.getName().startsWith("get")) .filter(method -> method.getReturnType().equals(List.class)) .map(method -> {