Skip to content

Commit 164bec7

Browse files
authored
støtte for ettersendelse som en del av PsbSøknadsinnhold (#435)
* støtte for ettersendelse som en del av PsbSøknadsinnhold
1 parent 64e294b commit 164bec7

File tree

4 files changed

+61
-19
lines changed

4 files changed

+61
-19
lines changed

innsyn/pom.xml

+4
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@
3333
<groupId>no.nav.k9</groupId>
3434
<artifactId>soknad</artifactId>
3535
</dependency>
36+
<dependency>
37+
<groupId>no.nav.k9</groupId>
38+
<artifactId>ettersendelse</artifactId>
39+
</dependency>
3640
<dependency>
3741
<groupId>no.nav.k9</groupId>
3842
<artifactId>konstant</artifactId>

innsyn/src/main/java/no/nav/k9/innsyn/PsbSøknadsinnhold.java

+51-18
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
package no.nav.k9.innsyn;
22

3-
import jakarta.validation.Valid;
4-
import jakarta.validation.constraints.NotNull;
5-
import jakarta.validation.constraints.Pattern;
6-
import jakarta.validation.constraints.Size;
7-
83
import com.fasterxml.jackson.annotation.JsonAutoDetect;
4+
import com.fasterxml.jackson.annotation.JsonCreator;
95
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
106
import com.fasterxml.jackson.annotation.JsonProperty;
117
import com.fasterxml.jackson.annotation.JsonTypeName;
128

9+
import jakarta.validation.Valid;
10+
import jakarta.validation.constraints.NotNull;
11+
import jakarta.validation.constraints.Pattern;
12+
import jakarta.validation.constraints.Size;
13+
import no.nav.k9.ettersendelse.Ettersendelse;
1314
import no.nav.k9.søknad.Søknad;
1415

1516
/**
1617
* Innholdet til en ny søknad som har kommet inn i k9-sak.
17-
*
18+
* <p>
1819
* {@code PsbSøknadsinnhold} identifiseres av {@code journalpostId}.
19-
*
20+
* <p>
2021
* Merk at man skal bruke {@code søkerAktørId} og {@code pleietrengendeAktørId} fremfor å hente
2122
* identene direkte fra søknaden. Dette er for å støtte bytte av D-/fødselsnummer.
2223
*/
@@ -46,37 +47,69 @@ public class PsbSøknadsinnhold implements InnsynHendelseData {
4647
@Pattern(regexp = "^\\d+$", message = "pleietrengendeAktørId [${validatedValue}] matcher ikke tillatt pattern [{regexp}]")
4748
private String pleietrengendeAktørId;
4849

49-
@JsonProperty(value = "søknad", required = true)
50+
@JsonProperty(value = "søknad")
5051
@Valid
5152
@NotNull
5253
private Søknad søknad;
53-
54-
54+
55+
@JsonProperty(value = "ettersendelse")
56+
@Valid
57+
private Ettersendelse ettersendelse;
58+
5559
protected PsbSøknadsinnhold() {
56-
60+
5761
}
58-
59-
public PsbSøknadsinnhold(String journalpostId, String søkerAktørId, String pleietrengendeAktørId, Søknad søknad) {
62+
63+
@JsonCreator
64+
public PsbSøknadsinnhold(
65+
@JsonProperty(value = "journalpostId", required = true)
66+
String journalpostId,
67+
@JsonProperty(value = "søkerAktørId", required = true)
68+
String søkerAktørId,
69+
@JsonProperty(value = "pleietrengendeAktørId", required = true)
70+
String pleietrengendeAktørId,
71+
@JsonProperty(value = "søknad")
72+
Søknad søknad,
73+
@JsonProperty(value = "ettersendelse")
74+
Ettersendelse ettersendelse) {
6075
this.journalpostId = journalpostId;
6176
this.søkerAktørId = søkerAktørId;
6277
this.pleietrengendeAktørId = pleietrengendeAktørId;
78+
79+
validerInput(søknad, ettersendelse);
80+
6381
this.søknad = søknad;
82+
this.ettersendelse = ettersendelse;
6483
}
65-
66-
84+
85+
private static void validerInput(Søknad søknad, Ettersendelse ettersendelse) {
86+
if (søknad == null && ettersendelse == null) {
87+
throw new IllegalArgumentException("Både søknad og ettersendelse kan ikke være null");
88+
}
89+
90+
if (ettersendelse != null && søknad != null) {
91+
throw new IllegalArgumentException("Kan ikke sette både søknad og ettersendelse");
92+
}
93+
}
94+
95+
6796
public String getJournalpostId() {
6897
return journalpostId;
6998
}
70-
99+
71100
public String getSøkerAktørId() {
72101
return søkerAktørId;
73102
}
74-
103+
75104
public String getPleietrengendeAktørId() {
76105
return pleietrengendeAktørId;
77106
}
78-
107+
79108
public Søknad getSøknad() {
80109
return søknad;
81110
}
111+
112+
public Ettersendelse getEttersendelse() {
113+
return ettersendelse;
114+
}
82115
}

innsyn/src/test/java/no/nav/k9/innsyn/PsbSøknaddataHendelseTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class PsbSøknaddataHendelseTest {
2020
@Test
2121
public void kanLageOgLeseHendelse() {
2222
final var søknad = lagGyldigSøknad();
23-
final PsbSøknadsinnhold data = new PsbSøknadsinnhold("123", "1111", "2222", søknad);
23+
final PsbSøknadsinnhold data = new PsbSøknadsinnhold("123", "1111", "2222", søknad, null);
2424
final InnsynHendelse<PsbSøknadsinnhold> hendelse = new InnsynHendelse<>(ZonedDateTime.now(), data);
2525
final String json = JsonUtils.toString(hendelse);
2626

pom.xml

+5
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,11 @@
8484
<artifactId>soknad</artifactId>
8585
<version>${project.version}</version>
8686
</dependency>
87+
<dependency>
88+
<groupId>no.nav.k9</groupId>
89+
<artifactId>ettersendelse</artifactId>
90+
<version>${project.version}</version>
91+
</dependency>
8792
<dependency>
8893
<groupId>org.assertj</groupId>
8994
<artifactId>assertj-core</artifactId>

0 commit comments

Comments
 (0)