From d82525a3a0172cd21b7af8ad85d201576cadfc69 Mon Sep 17 00:00:00 2001 From: JeremiahUy Date: Wed, 16 Oct 2024 14:49:03 +0200 Subject: [PATCH] ADD: request object for pvk document Co-authored-by: andregroseth --- .../pvkdokument/domain/PvkDokumentData.java | 14 ++-- .../pvkdokument/dto/PvkDokumentRequest.java | 70 +++++++++++++++++++ 2 files changed, 77 insertions(+), 7 deletions(-) create mode 100644 apps/backend/src/main/java/no/nav/data/pvk/pvkdokument/dto/PvkDokumentRequest.java diff --git a/apps/backend/src/main/java/no/nav/data/pvk/pvkdokument/domain/PvkDokumentData.java b/apps/backend/src/main/java/no/nav/data/pvk/pvkdokument/domain/PvkDokumentData.java index d76bb961b..eb7a3bedf 100644 --- a/apps/backend/src/main/java/no/nav/data/pvk/pvkdokument/domain/PvkDokumentData.java +++ b/apps/backend/src/main/java/no/nav/data/pvk/pvkdokument/domain/PvkDokumentData.java @@ -16,20 +16,20 @@ public class PvkDokumentData { private List ytterligereEgenskaper; - private Boolean skalUtforePvk; - private String PvkVurderingsBegrunnelse; + private boolean skalUtforePvk; + private String pvkVurderingsBegrunnelse; - private Boolean stemmerOpplysningstypene; + private boolean stemmerOpplysningstypene; private List opplysningtypeData; private String tilgangsBeskrivelseForOpplysningstyper; private String lagringsBeskrivelseForOpplysningstyper; - private Boolean stemmerPersonkategorier; - private Boolean harInvolvertRepresentant; + private boolean stemmerPersonkategorier; + private boolean harInvolvertRepresentant; private String representantInvolveringsBeskrivelse; - private Boolean stemmerDatabehandlere; - private Boolean harDatabehandlerRepresentantInvolvering; + private boolean stemmerDatabehandlere; + private boolean harDatabehandlerRepresentantInvolvering; private String dataBehandlerRepresentantInvolveringBeskrivelse; } diff --git a/apps/backend/src/main/java/no/nav/data/pvk/pvkdokument/dto/PvkDokumentRequest.java b/apps/backend/src/main/java/no/nav/data/pvk/pvkdokument/dto/PvkDokumentRequest.java new file mode 100644 index 000000000..cbc1c64b5 --- /dev/null +++ b/apps/backend/src/main/java/no/nav/data/pvk/pvkdokument/dto/PvkDokumentRequest.java @@ -0,0 +1,70 @@ +package no.nav.data.pvk.pvkdokument.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.FieldNameConstants; +import no.nav.data.common.validator.RequestElement; +import no.nav.data.common.validator.Validator; +import no.nav.data.pvk.pvkdokument.domain.OpplysningtypeData; +import no.nav.data.pvk.pvkdokument.domain.PvkDokumentStatus; + +import java.util.List; + +import static no.nav.data.common.utils.StreamUtils.copyOf; +import static org.apache.commons.lang3.StringUtils.trimToNull; + +@Data +@Builder +@FieldNameConstants +@NoArgsConstructor +@AllArgsConstructor +public class PvkDokumentRequest implements RequestElement { + private String id; + private String etterlevelseDokumentId; + private PvkDokumentStatus status; + + private List ytterligereEgenskaper; + private boolean skalUtforePvk; + private String pvkVurderingsBegrunnelse; + private boolean stemmerOpplysningstypene; + private List opplysningtypeData; + private String tilgangsBeskrivelseForOpplysningstyper; + private String lagringsBeskrivelseForOpplysningstyper; + + private boolean stemmerPersonkategorier; + private boolean harInvolvertRepresentant; + private String representantInvolveringsBeskrivelse; + + private boolean stemmerDatabehandlere; + private boolean harDatabehandlerRepresentantInvolvering; + private String dataBehandlerRepresentantInvolveringBeskrivelse; + + private Boolean update; + + @Override + public void format() { + setId(trimToNull(id)); + setEtterlevelseDokumentId(trimToNull(etterlevelseDokumentId)); + setPvkVurderingsBegrunnelse(trimToNull(pvkVurderingsBegrunnelse)); + setOpplysningtypeData(copyOf(opplysningtypeData)); + setTilgangsBeskrivelseForOpplysningstyper(trimToNull(tilgangsBeskrivelseForOpplysningstyper)); + setLagringsBeskrivelseForOpplysningstyper(trimToNull(lagringsBeskrivelseForOpplysningstyper)); + + setRepresentantInvolveringsBeskrivelse(trimToNull(representantInvolveringsBeskrivelse)); + setDataBehandlerRepresentantInvolveringBeskrivelse(trimToNull(dataBehandlerRepresentantInvolveringBeskrivelse)); + + if (status == null) { + status = PvkDokumentStatus.AKTIV; + } + } + + @Override + public void validateFieldValues(Validator validator) { + validator.checkUUID(Fields.id, id); + validator.checkUUID(Fields.etterlevelseDokumentId, etterlevelseDokumentId); + validator.checkNull(Fields.status, status); + validator.checkId(this); + } +}