Skip to content

Commit 4e59245

Browse files
authored
Feature/ny sykemelding frontend (#3957)
* - Refactor Consumers and RouteLocatorConfig to support new services: syfosmregler and tsm-input-dolly - Changed the setup of the proxy in minor ways * Add support for routing `syfosmregler` and `tsm-input-dolly` services; update tests and configuration files accordingly. * Update syfosmregler validation URL; comment out auth filter in TSM route. * Enable auth filter for TSM route in RouteLocatorConfig * Add support for TSM sykemelding processing and routing; refactor sykemelding commands and configurations. * Refactor Sykemelding handling to remove unused MapperFacade; add support for new TSM Sykemelding processing and configurations. Fix mapping strategies for consistency. * Add TSM sykemelding delete command and integrate deletion logic in SykemeldingClient. Refactor TsmSykemeldingConsumer to support delete operations. * Deploy backend test * Fix missing newline at EOF in SykemeldingProxyApplicationStarter. * Add reordered proxy rules for sykemelding and other services in config files * Simplify status messages in SykemeldingClient by removing redundant prefixes. #deploy-test-dolly-backend * Refactor Sykemelding classes and logic: replace `TsmSykemelding` with `NySykemelding`, update DTO naming conventions, and simplify related methods. #deploy-test-dolly-backend * - Add support for "Ny Sykemelding" in Sykemelding UI and backend integration. - Implement new attributes and validation logic for "Ny Sykemelding". - Refactor existing Sykemelding logic to account for "Ny Sykemelding". - Add dynamic proxy configuration for `testnav-sykemelding-proxy`. - Update SWR hooks and components to handle new sykemelding-related data. - Modify environment-specific configuration files. * - Add support for "Ny Sykemelding" in Sykemelding UI and backend integration. - Implement new attributes and validation logic for "Ny Sykemelding". - Refactor existing Sykemelding logic to account for "Ny Sykemelding". - Add dynamic proxy configuration for `testnav-sykemelding-proxy`. - Update SWR hooks and components to handle new sykemelding-related data. - Modify environment-specific configuration files. * - Replace `defaultSelected` fallback value in Datepicker component with `undefined` instead of `new Date()` for improved input handling. * - Remove unused `data` prop from `Visning` component in `MiljoTabs`. * - Remove unused `ident` prop from `VisningAvBestilling` in `Visning` component. * - Fix typo in help text for "Ny Sykemelding" component. * Refactor sykemelding handling: adjust error logging, update DTO structure, and enhance response handling in NySykemelding classes.
1 parent 76807b2 commit 4e59245

File tree

55 files changed

+1352
-856
lines changed

Some content is hidden

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

55 files changed

+1352
-856
lines changed

apps/dolly-backend/config.test.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,12 @@ spec:
2828
outbound:
2929
rules:
3030
- application: generer-navn-service
31-
- application: testnav-arbeidsplassencv-proxy
32-
- application: testnav-arbeidssoekerregisteret-proxy
3331
- application: testnav-bruker-service-dev
3432
- application: testnav-inntektsmelding-service
3533
- application: testnav-kodeverk-service
3634
- application: testnav-miljoer-service
3735
- application: testnav-organisasjon-forvalter
3836
- application: testnav-organisasjon-service
39-
- application: testnav-nom-proxy
4037
- application: testnav-pdl-forvalter-dev
4138
- application: testnav-person-service
4239
- application: testnav-skattekort-service
@@ -45,12 +42,16 @@ spec:
4542
- application: testnav-synt-sykemelding-api
4643
- application: testnav-synt-sykemelding-api-dev
4744
- application: testnav-tps-messaging-service
48-
- application: testnav-yrkesskade-proxy
4945
- application: testnorge-profil-api-dev
5046
- application: etterlatte-testdata
5147
namespace: etterlatte
5248
- application: logging
5349
namespace: nais-system
50+
- application: testnav-yrkesskade-proxy
51+
- application: testnav-nom-proxy
52+
- application: testnav-sykemelding-proxy
53+
- application: testnav-arbeidsplassencv-proxy
54+
- application: testnav-arbeidssoekerregisteret-proxy
5455
external:
5556
- host: testnav-arena-forvalteren-proxy.dev-fss-pub.nais.io
5657
- host: testnav-brregstub-proxy.dev-fss-pub.nais.io

apps/dolly-backend/config.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,27 +28,28 @@ spec:
2828
outbound:
2929
rules:
3030
- application: generer-navn-service
31-
- application: testnav-arbeidsplassencv-proxy
32-
- application: testnav-arbeidssoekerregisteret-proxy
3331
- application: testnav-bruker-service
3432
- application: testnav-inntektsmelding-service
3533
- application: testnav-kodeverk-service
3634
- application: testnav-miljoer-service
3735
- application: testnav-organisasjon-forvalter
3836
- application: testnav-organisasjon-service
39-
- application: testnav-nom-proxy
4037
- application: testnav-pdl-forvalter
4138
- application: testnav-person-service
4239
- application: testnav-skattekort-service
4340
- application: testnav-sykemelding-api
4441
- application: testnav-synt-sykemelding-api
4542
- application: testnav-tps-messaging-service
46-
- application: testnav-yrkesskade-proxy
4743
- application: testnorge-profil-api
4844
- application: etterlatte-testdata
4945
namespace: etterlatte
5046
- application: logging
5147
namespace: nais-system
48+
- application: testnav-yrkesskade-proxy
49+
- application: testnav-nom-proxy
50+
- application: testnav-arbeidsplassencv-proxy
51+
- application: testnav-arbeidssoekerregisteret-proxy
52+
- application: testnav-sykemelding-proxy
5253
external:
5354
- host: testnav-arena-forvalteren-proxy.dev-fss-pub.nais.io
5455
- host: testnav-brregstub-proxy.dev-fss-pub.nais.io

apps/dolly-backend/src/main/java/no/nav/dolly/DollyBackendApplicationStarter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ public static void main(String[] args) {
1212
.initializers(new NaisEnvironmentApplicationContextInitializer())
1313
.run(args);
1414
}
15-
}
15+
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package no.nav.dolly.bestilling.sykemelding;
2+
3+
import com.fasterxml.jackson.databind.ObjectMapper;
4+
import io.swagger.v3.core.util.Json;
5+
import lombok.extern.slf4j.Slf4j;
6+
import no.nav.dolly.bestilling.ConsumerStatus;
7+
import no.nav.dolly.bestilling.sykemelding.command.NySykemeldingDeleteCommand;
8+
import no.nav.dolly.bestilling.sykemelding.command.NySykemeldingPostCommand;
9+
import no.nav.dolly.bestilling.sykemelding.domain.dto.NySykemeldingRequestDTO;
10+
import no.nav.dolly.bestilling.sykemelding.domain.dto.NySykemeldingResponseDTO;
11+
import no.nav.dolly.config.Consumers;
12+
import no.nav.dolly.metrics.Timed;
13+
import no.nav.testnav.libs.securitycore.domain.ServerProperties;
14+
import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange;
15+
import org.springframework.stereotype.Service;
16+
import org.springframework.web.reactive.function.client.WebClient;
17+
import reactor.core.publisher.Mono;
18+
19+
import static no.nav.dolly.util.JacksonExchangeStrategyUtil.getJacksonStrategy;
20+
21+
@Slf4j
22+
@Service
23+
public class NySykemeldingConsumer extends ConsumerStatus {
24+
25+
private final WebClient webClient;
26+
private final TokenExchange tokenService;
27+
private final ServerProperties serverProperties;
28+
29+
public NySykemeldingConsumer(
30+
TokenExchange accessTokenService,
31+
Consumers consumers,
32+
ObjectMapper objectMapper,
33+
WebClient webClient) {
34+
35+
this.tokenService = accessTokenService;
36+
serverProperties = consumers.getTestnavSykemeldingProxy();
37+
this.webClient = webClient
38+
.mutate()
39+
.exchangeStrategies(getJacksonStrategy(objectMapper))
40+
.baseUrl(serverProperties.getUrl())
41+
.build();
42+
}
43+
44+
@Timed(name = "providers", tags = { "operation", "nysykemelding_opprett" })
45+
public Mono<NySykemeldingResponseDTO> postTsmSykemelding(NySykemeldingRequestDTO nySykemeldingRequestDTO) {
46+
47+
log.info("Sykemelding sendt til tsm-input-dolly {}", Json.pretty(nySykemeldingRequestDTO));
48+
49+
return tokenService.exchange(serverProperties)
50+
.flatMap(token -> new NySykemeldingPostCommand(webClient, nySykemeldingRequestDTO, token.getTokenValue()).call());
51+
}
52+
53+
@Timed(name = "providers", tags = { "operation", "nysykemelding_delete" })
54+
public Mono<Void> deleteTsmSykemeldinger(String ident) {
55+
56+
log.info("Sletter nye sykemeldinger for ident: {}", ident);
57+
58+
return tokenService.exchange(serverProperties)
59+
.flatMap(token -> new NySykemeldingDeleteCommand(webClient, ident, token.getTokenValue()).call());
60+
}
61+
62+
@Override
63+
public String serviceUrl() {
64+
return serverProperties.getUrl();
65+
}
66+
67+
@Override
68+
public String consumerName() {
69+
return "testnav-sykemelding-proxy";
70+
}
71+
}

0 commit comments

Comments
 (0)