Skip to content

Commit 72bad00

Browse files
committed
TFP-5660 oppdatere infotrygd-saker
1 parent 3647f2e commit 72bad00

File tree

14 files changed

+262
-292
lines changed

14 files changed

+262
-292
lines changed

felles/util/src/main/java/no/nav/vedtak/util/InputValideringRegex.java

+9
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,15 @@ public class InputValideringRegex {
5555
*/
5656
public static final String FRITEKST = REGEXP_START + TEGN_FRITEKST + REGEXP_SLUTT;
5757

58+
/**
59+
* Bruk dette mønsteret for å validere fritekst til brev.
60+
* <p>
61+
* Godtar i tillegg til alt som er tillatt i navn og adresser også flere andre tegn som er relevante.
62+
* <p>
63+
* Godtar ikke større-enn og mindre-enn tegn da disse kan misbrukes til å gjøre XSS-angrep
64+
*/
65+
public static final String FRITEKST_BREV = REGEXP_START + TEGN_FRITEKST + "\\p{Graph}\\p{M}\\p{N}" + REGEXP_SLUTT;
66+
5867
/**
5968
* Bruk dette mønsteret for å validere BASE64 "URL and Filename safe".
6069
*

integrasjon/infotrygd-grunnlag-klient/src/main/java/no/nav/vedtak/felles/integrasjon/infotrygd/grunnlag/AbstractInfotrygdGrunnlag.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import no.nav.vedtak.felles.integrasjon.rest.RestConfig;
1414
import no.nav.vedtak.felles.integrasjon.rest.RestRequest;
1515

16-
// Extend og annoter med endpoint, evt default. tokenConfig kan settes til TokenFlow.STS_CC eller AZURE_CC
16+
// Extend og annoter med endpoint, evt default. tokenConfig kan settes til TokenFlow.AZURE_CC
1717
public abstract class AbstractInfotrygdGrunnlag implements InfotrygdGrunnlag {
1818
protected static final Logger LOG = LoggerFactory.getLogger(AbstractInfotrygdGrunnlag.class);
1919

Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
package no.nav.vedtak.felles.integrasjon.infotrygd.grunnlag.v1.respons;
22

3-
public record Arbeidskategori(ArbeidskategoriKode kode, String termnavn) {
3+
public record Arbeidskategori(ArbeidskategoriKode kode, String termnavn) implements InfotrygdKode {
4+
5+
@Override
6+
public String getKode() {
7+
return kode().getKode();
8+
}
49

510
}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
package no.nav.vedtak.felles.integrasjon.infotrygd.grunnlag.v1.respons;
22

3-
public record Behandlingstema(BehandlingstemaKode kode, String termnavn) {
3+
public record Behandlingstema(BehandlingstemaKode kode, String termnavn) implements InfotrygdKode {
44
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package no.nav.vedtak.felles.integrasjon.infotrygd.grunnlag.v1.respons;
2+
3+
public interface InfotrygdKode {
4+
5+
Enum<?> kode();
6+
7+
default String getKode() {
8+
return kode() != null ? kode().name() : null;
9+
}
10+
11+
String termnavn();
12+
13+
}
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package no.nav.vedtak.felles.integrasjon.infotrygd.grunnlag.v1.respons;
22

3-
public record Inntektsperiode(InntektsperiodeKode kode, String termnavn) {
3+
public record Inntektsperiode(InntektsperiodeKode kode, String termnavn) implements InfotrygdKode {
44

55
}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
package no.nav.vedtak.felles.integrasjon.infotrygd.grunnlag.v1.respons;
22

3-
public record Status(StatusKode kode, String termnavn) {
3+
public record Status(StatusKode kode, String termnavn) implements InfotrygdKode {
44
}
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package no.nav.vedtak.felles.integrasjon.infotrygd.grunnlag.v1.respons;
22

3-
public record Tema(TemaKode kode, String termnavn) {
3+
public record Tema(TemaKode kode, String termnavn) implements InfotrygdKode {
44

55
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package no.nav.vedtak.felles.integrasjon.infotrygd.saker;
2+
3+
import java.util.Arrays;
4+
import java.util.Collections;
5+
import java.util.List;
6+
7+
import org.slf4j.Logger;
8+
import org.slf4j.LoggerFactory;
9+
10+
import no.nav.vedtak.exception.TekniskException;
11+
import no.nav.vedtak.felles.integrasjon.infotrygd.grunnlag.GrunnlagRequest;
12+
import no.nav.vedtak.felles.integrasjon.infotrygd.saker.v1.respons.InfotrygdSak;
13+
import no.nav.vedtak.felles.integrasjon.rest.RestClient;
14+
import no.nav.vedtak.felles.integrasjon.rest.RestConfig;
15+
import no.nav.vedtak.felles.integrasjon.rest.RestRequest;
16+
17+
// Extend og annoter med endpoint, evt default. tokenConfig kan settes til TokenFlow.AZURE_CC
18+
public abstract class AbstractInfotrygdSaker implements InfotrygdSaker {
19+
protected static final Logger LOG = LoggerFactory.getLogger(AbstractInfotrygdSaker.class);
20+
21+
private final RestClient restClient;
22+
private final RestConfig restConfig;
23+
24+
protected AbstractInfotrygdSaker() {
25+
this(RestClient.client());
26+
}
27+
28+
protected AbstractInfotrygdSaker(RestClient client) {
29+
this.restClient = client;
30+
this.restConfig = RestConfig.forClient(this.getClass());
31+
}
32+
33+
@Override
34+
public List<InfotrygdSak> hentSaker(GrunnlagRequest request) {
35+
try {
36+
var rrequest = RestRequest.newPOSTJson(request, restConfig.endpoint(), restConfig);
37+
var resultat = restClient.send(rrequest, InfotrygdSak[].class);
38+
return Arrays.asList(resultat);
39+
} catch (Exception e) {
40+
throw new TekniskException("FP-180125",
41+
String.format("Tjeneste %s gir feil, meld til #infotrygd_replikering hvis dette skjer gjennom lengre tidsperiode.",
42+
restConfig.endpoint()), e);
43+
}
44+
}
45+
46+
@Override
47+
public List<InfotrygdSak> hentSakerFailSoft(GrunnlagRequest request) {
48+
try {
49+
return hentSaker(request);
50+
} catch (Exception e) {
51+
LOG.warn("Feil ved oppslag mot {}, returnerer ingen grunnlag", restConfig.endpoint(), e);
52+
return Collections.emptyList();
53+
}
54+
}
55+
56+
}
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package no.nav.vedtak.felles.integrasjon.infotrygd.saker;
22

3-
import no.nav.vedtak.felles.integrasjon.infotrygd.saker.v1.respons.Saker;
3+
import java.util.List;
44

5-
import java.time.LocalDate;
5+
import no.nav.vedtak.felles.integrasjon.infotrygd.grunnlag.GrunnlagRequest;
6+
import no.nav.vedtak.felles.integrasjon.infotrygd.saker.v1.respons.InfotrygdSak;
67

78
public interface InfotrygdSaker {
89

9-
Saker getSaker(String fnr, LocalDate fom);
10+
List<InfotrygdSak> hentSaker(GrunnlagRequest request);
11+
12+
List<InfotrygdSak> hentSakerFailSoft(GrunnlagRequest request);
1013

1114
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package no.nav.vedtak.felles.integrasjon.infotrygd.saker.v1.respons;
2+
3+
import java.time.LocalDate;
4+
5+
public record InfotrygdSak(LocalDate iverksatt, SakResultat resultat, LocalDate registrert, Saksnummer sakId, LocalDate mottatt,
6+
SakType type, LocalDate vedtatt, SakValg valg, SakUndervalg undervalg, SakNivå nivaa) {
7+
8+
9+
10+
public String saksBlokkNummer() {
11+
return sakId().blokk() + nrFra(sakId().nr());
12+
}
13+
14+
public String saksNummerBlokk() {
15+
return nrFra(sakId().nr()) + sakId().blokk();
16+
}
17+
18+
private static String nrFra(int nr) {
19+
return nr < 10 ? "0" + nr : String.valueOf(nr);
20+
}
21+
22+
23+
public record Saksnummer(String blokk, int nr) { }
24+
25+
public interface InfotrygdKode {
26+
String kode();
27+
String termnavn();
28+
}
29+
30+
public record SakValg(String kode, String termnavn) implements InfotrygdKode { }
31+
32+
public record SakUndervalg(String kode, String termnavn) implements InfotrygdKode { }
33+
34+
public record SakNivå(String kode, String termnavn) implements InfotrygdKode { }
35+
36+
public record SakType(String kode, String termnavn) implements InfotrygdKode { }
37+
38+
public record SakResultat(String kode, String termnavn) implements InfotrygdKode { }
39+
40+
}

integrasjon/infotrygd-grunnlag-klient/src/main/java/no/nav/vedtak/felles/integrasjon/infotrygd/saker/v1/respons/Saker.java

-84
This file was deleted.

0 commit comments

Comments
 (0)