Skip to content

Commit 4f05da9

Browse files
committed
Merge branch 'master' into feature/sokos-miljoe
2 parents c3f1ab9 + e3cbb2b commit 4f05da9

71 files changed

Lines changed: 3293 additions & 141 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/all.workflows.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ on:
99
- "frontend"
1010
type:
1111
type: choice
12-
description: "Apps or proxies. Used to resolve the working directory together with name, as <type>/<name>."
12+
description: "Apps, proxies or synt. Used to resolve the working directory together with name, as <type>/<name>."
1313
options:
1414
- "apps"
1515
- "proxies"
16+
- "synt"
1617
cluster:
1718
type: choice
1819
description: "The cluster to deploy to."
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: synt-dagpenger
2+
3+
on:
4+
push:
5+
paths:
6+
- .github/workflows/synt.synt-dagpenger.yml
7+
- synt/synt-dagpenger/**
8+
- libs/testing/**
9+
- libs/texas/**
10+
- plugins/**
11+
12+
jobs:
13+
workflow:
14+
uses: ./.github/workflows/common.workflow.backend.yml
15+
with:
16+
working-directory: "synt/synt-dagpenger"
17+
deploy-tag: "#deploy-synt-dagpenger"
18+
permissions:
19+
contents: read
20+
id-token: write
21+
secrets: inherit

apps/dolly-backend/src/main/java/no/nav/dolly/service/BestillingService.java

Lines changed: 5 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import no.nav.dolly.domain.jpa.BestillingProgress;
99
import no.nav.dolly.domain.jpa.Dokument;
1010
import no.nav.dolly.domain.jpa.Dokument.DokumentType;
11-
import no.nav.dolly.domain.projection.GruppeBestillingIdent;
1211
import no.nav.dolly.domain.projection.RsBestillingFragment;
1312
import no.nav.dolly.domain.resultset.BestilteKriterier;
1413
import no.nav.dolly.domain.resultset.RsDollyBestilling;
@@ -34,9 +33,7 @@
3433
import org.springframework.transaction.annotation.Transactional;
3534
import reactor.core.publisher.Flux;
3635
import reactor.core.publisher.Mono;
37-
import tools.jackson.core.JacksonException;
3836
import tools.jackson.databind.ObjectMapper;
39-
import tools.jackson.databind.node.ObjectNode;
4037

4138
import java.lang.reflect.InvocationTargetException;
4239
import java.util.Arrays;
@@ -351,7 +348,7 @@ public Mono<Bestilling> createBestillingForGjenopprettFraBestilling(Long bestill
351348
.sistOppdatert(now())
352349
.miljoer(filterAvailable(isNotBlank(miljoer) ? miljoer : tuple.getT1().getMiljoer(), tuple.getT3()))
353350
.opprettetFraId(bestillingId)
354-
.bestKriterier(tuple.getT1().getBestKriterier())
351+
.bestKriterier("{}")
355352
.bruker(tuple.getT2())
356353
.brukerId(tuple.getT2().getId())
357354
.build());
@@ -373,16 +370,12 @@ public Mono<Bestilling> createBestillingForGjenopprettFraIdent(String ident, Lis
373370
.flatMap(testident -> Mono.zip(
374371
Mono.just(testident),
375372
brukerService.fetchOrCreateBruker(),
376-
miljoerConsumer.getMiljoer(),
377-
identRepository.getBestillingerByIdent(ident)
378-
.map(GruppeBestillingIdent::getBestkriterier)
379-
.collectList()
380-
.map(this::mergeBestKriterier)))
373+
miljoerConsumer.getMiljoer()))
381374
.map(tuple -> Bestilling.builder()
382375
.gruppeId(tuple.getT1().getGruppeId())
383376
.ident(ident)
384377
.antallIdenter(1)
385-
.bestKriterier(tuple.getT4())
378+
.bestKriterier("{}")
386379
.sistOppdatert(now())
387380
.miljoer(filterAvailable(miljoer, tuple.getT3()))
388381
.gjenopprettetFraIdent(ident)
@@ -407,11 +400,7 @@ public Mono<Bestilling> createBestillingForGjenopprettFraGruppe(Long gruppeId, S
407400
brukerService.fetchOrCreateBruker(),
408401
identRepository.findByGruppeId(gruppeId, Pageable.unpaged())
409402
.collectList(),
410-
miljoerConsumer.getMiljoer(),
411-
identRepository.getBestillingerFromGruppe(gruppeId)
412-
.map(GruppeBestillingIdent::getBestkriterier)
413-
.collectList()
414-
.map(this::mergeBestKriterier)))
403+
miljoerConsumer.getMiljoer()))
415404
.flatMap(tuple -> {
416405
if (tuple.getT2().isEmpty()) {
417406
return Mono.error(new NotFoundException(format("Ingen testpersoner funnet i gruppe: %d", gruppeId)));
@@ -422,7 +411,7 @@ public Mono<Bestilling> createBestillingForGjenopprettFraGruppe(Long gruppeId, S
422411
.map(tuple -> Bestilling.builder()
423412
.gruppeId(gruppeId)
424413
.antallIdenter(tuple.getT2().size())
425-
.bestKriterier(tuple.getT4())
414+
.bestKriterier("{}")
426415
.sistOppdatert(now())
427416
.miljoer(filterAvailable(miljoer, tuple.getT3()))
428417
.opprettetFraGruppeId(gruppeId)
@@ -698,26 +687,6 @@ private Mono<List<BestillingProgress>> getBestillingProgresser(Bestilling bestil
698687
.collectList();
699688
}
700689

701-
private String mergeBestKriterier(List<String> kriterierList) {
702-
703-
var merged = objectMapper.createObjectNode();
704-
for (var kriterier : kriterierList) {
705-
try {
706-
var node = objectMapper.readTree(kriterier);
707-
if (node instanceof ObjectNode objectNode) {
708-
objectNode.properties().forEach(entry -> {
709-
if (!merged.has(entry.getKey())) {
710-
merged.set(entry.getKey(), entry.getValue());
711-
}
712-
});
713-
}
714-
} catch (JacksonException e) {
715-
log.warn("Kunne ikke parse bestKriterier: {}", kriterier, e);
716-
}
717-
}
718-
return merged.isEmpty() ? "{}" : merged.toString();
719-
}
720-
721690
private static void fixAaregAbstractClassProblem(List<RsAareg> aaregdata) {
722691

723692
aaregdata.forEach(arbeidforhold -> {

apps/dolly-backend/src/main/java/no/nav/dolly/util/JacksonExchangeStrategyUtil.java

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
44
import lombok.experimental.UtilityClass;
5-
import lombok.extern.slf4j.Slf4j;
65
import org.springframework.http.codec.json.JacksonJsonDecoder;
76
import org.springframework.http.codec.json.JacksonJsonEncoder;
87
import org.springframework.web.reactive.function.client.ExchangeStrategies;
@@ -11,7 +10,8 @@
1110
import tools.jackson.databind.ObjectMapper;
1211
import tools.jackson.databind.json.JsonMapper;
1312

14-
@Slf4j
13+
import static java.util.Objects.nonNull;
14+
1515
@UtilityClass
1616
public final class JacksonExchangeStrategyUtil {
1717

@@ -23,9 +23,8 @@ public static ExchangeStrategies getJacksonStrategy() {
2323
}
2424

2525
public static ExchangeStrategies getJacksonStrategy(JsonMapper jsonMapper) {
26-
log.info("JacksonExchangeStrategyUtil: Bruker JsonMapper: {}",
27-
jsonMapper != null ? jsonMapper.getClass().getName() : "null");
28-
var mapper = jsonMapper != null ? jsonMapper : createDefaultJsonMapper();
26+
27+
var mapper = nonNull(jsonMapper) ? jsonMapper : createDefaultJsonMapper();
2928
return ExchangeStrategies.builder()
3029
.codecs(config -> {
3130
config.defaultCodecs().maxInMemorySize(32 * 1024 * 1024);
@@ -36,15 +35,8 @@ public static ExchangeStrategies getJacksonStrategy(JsonMapper jsonMapper) {
3635
}
3736

3837
public static ExchangeStrategies getJacksonStrategy(ObjectMapper objectMapper) {
39-
JsonMapper jsonMapper;
40-
if (objectMapper instanceof JsonMapper jm) {
41-
jsonMapper = jm;
42-
log.info("JacksonExchangeStrategyUtil: Bruker eksisterende JsonMapper: {}", objectMapper.getClass().getName());
43-
} else {
44-
jsonMapper = createDefaultJsonMapper();
45-
log.info("JacksonExchangeStrategyUtil: ObjectMapper er ikke JsonMapper ({}), oppretter ny JsonMapper med standard konfigurasjon",
46-
objectMapper != null ? objectMapper.getClass().getName() : "null");
47-
}
38+
39+
var jsonMapper = objectMapper instanceof JsonMapper jm ? jm : createDefaultJsonMapper();
4840
return ExchangeStrategies.builder()
4941
.codecs(config -> {
5042
config.defaultCodecs().maxInMemorySize(32 * 1024 * 1024);

apps/dolly-frontend/src/main/js/src/pages/loginPage/LoginModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ export default () => {
9393
false,
9494
)}
9595
>
96-
Logg inn med NAV epost
96+
Logg inn med Nav-e-post
9797
</NavButton>
9898
<NavButton
9999
data-testid={TestComponentSelectors.BUTTON_LOGIN_BANKID}

apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/BostedAdresseService.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,7 @@ private Mono<BostedadresseDTO> handle(BostedadresseDTO bostedadresse, PersonDTO
126126
}
127127
}
128128

129-
} else if (bostedadresse.countAdresser() == 0 &&
130-
person.getOppholdsadresse().isEmpty() &&
131-
person.getKontaktadresse().isEmpty()) {
129+
} else if (bostedadresse.countAdresser() == 0) {
132130

133131
bostedadresse.setUtenlandskAdresse(new UtenlandskAdresseDTO());
134132
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
[[lokal_generelt]]
2+
= Forberede synt-modeller for lokal kjøring
3+
4+
Applikasjoner i synt kan kjøres lokalt, men er avhengig av at ONNX-modellfilene er lastet ned lokalt.
5+
6+
== Last ned onnx-modeller
7+
8+
Buckets finnes i https://console.cloud.google.com/storage/browser?project=dolly-dev-ff83[GCP].
9+
10+
. Sjekk applikasjonens `application-prod.yml` for å finne ut hvilken bucket som brukes. Dette konfigureres med `app.config.bucket`. I `app.config.models` ligger en eller flere prefixer for modellene som brukes.
11+
12+
. Last ned onnx-modellene (`*.onnx`) til `./src/main/resources/models/` for applikasjonen det gjelder, enten manuelt eller vha.
13+
----
14+
> gcloud storage cp gs://<app.config.bucket>/*.onnx .
15+
----

libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/pdlforvalter/v1/PersonDTO.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class PersonDTO implements Serializable {
3737

3838
private String ident;
3939
private Identtype identtype;
40-
private boolean id2032;
40+
private Boolean id2032;
4141
private Boolean standalone;
4242

4343
@JsonIgnore
@@ -347,7 +347,4 @@ public static boolean isId2032(String ident) {
347347

348348
return VALIDS.contains(beregnetRestSifferK1);
349349
}
350-
351-
public void getFol() {
352-
}
353350
}

libs/reactive-core/src/main/java/no/nav/testnav/libs/reactivecore/web/WebClientAutoConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ WebClient webClient(ObservationRegistry observationRegistry, ObjectMapper object
8888
.option(EpollChannelOption.TCP_KEEPIDLE, 300)
8989
.option(EpollChannelOption.TCP_KEEPINTVL, 60)
9090
.option(EpollChannelOption.TCP_KEEPCNT, 8)
91-
.responseTimeout(Duration.ofSeconds(10))
91+
.responseTimeout(Duration.ofSeconds(15))
9292
))
9393
.build();
9494

libs/texas/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ dependencies {
1818
implementation "org.springframework.boot:spring-boot-starter-test"
1919
implementation "org.springframework.boot:spring-boot-starter-webflux"
2020
implementation "org.springframework.boot:spring-boot-starter-jackson"
21+
implementation "org.springframework.security:spring-security-config"
2122
implementation "org.springframework.security:spring-security-oauth2-jose"
2223
implementation "org.springframework.security:spring-security-oauth2-resource-server"
2324
}

0 commit comments

Comments
 (0)