From 95ba8d08be7bb3bca3e3648a8d335f45ccb170ba Mon Sep 17 00:00:00 2001 From: Sondre Larsen Ovrid Date: Tue, 9 Apr 2024 09:50:18 +0200 Subject: [PATCH 1/8] =?UTF-8?q?TC-581=20Ta=20i=20bruk=20Springdoc=20for=20?= =?UTF-8?q?=C3=A5=20genere=20api-dokumentasjon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 +++++++ src/main/resources/application.properties | 3 +++ 2 files changed, 10 insertions(+) diff --git a/pom.xml b/pom.xml index aeee833140..18b91ce166 100644 --- a/pom.xml +++ b/pom.xml @@ -322,6 +322,13 @@ 1.12.2 + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + 2.5.0 + + org.junit.vintage diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index eaec97a481..aa67df1983 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -12,6 +12,9 @@ management.endpoints.web.base-path=/internal management.endpoints.web.exposure.include=prometheus management.endpoint.prometheus.enabled=true management.prometheus.metrics.export.enabled=true +# swagger-ui custom path +springdoc.swagger-ui.path=/internal/swagger-ui.html +springdoc.pathsToMatch=/api/** # Application environment app.env.opensearchUri=${OPEN_SEARCH_URI} app.env.opensearchUsername=${OPEN_SEARCH_USERNAME} From e0b143ebc359ce3f51a5c9bd5231ee27ae243dd1 Mon Sep 17 00:00:00 2001 From: Sondre Larsen Ovrid Date: Tue, 9 Apr 2024 13:02:41 +0200 Subject: [PATCH 2/8] TC-581 Legg til summary og description for alle endepunkter som ikke er deprecated --- README.md | 8 ++++- pom.xml | 4 +++ .../admin/v1/AdminController.java | 19 ++++++++++++ .../admin/v2/AdminV2Controller.java | 5 +++ .../v1/ArbeidsListeController.java | 9 ++++++ .../v2/ArbeidsListeV2Controller.java | 7 +++++ .../controller/EnhetController.java | 31 +++++++++++++++++++ .../controller/Frontendlogger.java | 4 +++ .../controller/VeilederController.java | 19 ++++++++++++ .../FargekategoriController.java | 6 ++++ .../controller/HuskelappController.java | 8 +++++ .../internal/InternalController.java | 6 ++++ 12 files changed, 125 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e6446b1e70..574d4981c8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ ![](https://github.com/navikt/veilarbportefolje/workflows/Build,%20push%20and%20deploy/badge.svg) -# Beskrivelse +# veilarbportefolje + +## Beskrivelse Tjeneste som aggregerer data fra andre baksystemer og håndterer oppdatering av søkeindeks brukt i modia oversikten. @@ -16,6 +18,10 @@ Følgende data aggregeres: * Informasjon om delt cv fra arbeidsplassen via Kafka * Informasjon om endring av mål fra `veilarboppfolging` via Kafka +### Swagger-dokumentasjon + +Endepunktene er dokumentert vha. Swagger/OpenAPI. Dokumentasjonen er tilgjengelig på egen sti, som i skrivende stund (08.05.24) er `https://veilarbportefoljeflate.intern.dev.nav.no/veilarbportefolje/internal/swagger-ui/index.html`. + ## Hvordan bygge Kjør `mvn clean install` diff --git a/pom.xml b/pom.xml index 18b91ce166..cbf22a8d06 100644 --- a/pom.xml +++ b/pom.xml @@ -166,6 +166,10 @@ org.slf4j slf4j-log4j12 + + io.swagger.core.v3 + swagger-annotations + diff --git a/src/main/java/no/nav/pto/veilarbportefolje/admin/v1/AdminController.java b/src/main/java/no/nav/pto/veilarbportefolje/admin/v1/AdminController.java index 472e21d610..971859643b 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/admin/v1/AdminController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/admin/v1/AdminController.java @@ -1,5 +1,7 @@ package no.nav.pto.veilarbportefolje.admin.v1; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import no.nav.common.auth.context.AuthContextHolder; @@ -33,6 +35,7 @@ @RestController @RequestMapping("/api/admin") @RequiredArgsConstructor +@Tag(name = "Admin", description = "Admin-funksjonalitet som ikke er tilgjengelig for vanlige brukere. Funksjonaliteten er kun tilgjengelig for medlemmer av applikasjonens forvaltningsteam.") public class AdminController { private final String PTO_ADMIN = new DownstreamApi(EnvironmentUtils.isProduction().orElse(false) ? "prod-fss" : "dev-fss", "pto", "pto-admin").toString(); @@ -47,6 +50,7 @@ public class AdminController { private final OpensearchAdminService opensearchAdminService; private final PdlService pdlService; + @Operation(summary = "Fjern bruker", description = "Sletter en bruker og fjerner tilhørende informasjon om brukeren. Brukeren vil ikke lenger eksistere i porteføljene.") @DeleteMapping("/oppfolgingsbruker") public String slettOppfolgingsbruker(@RequestBody String aktoerId) { sjekkTilgangTilAdmin(); @@ -54,6 +58,7 @@ public String slettOppfolgingsbruker(@RequestBody String aktoerId) { return "Oppfølgingsbruker ble slettet"; } + @Operation(summary = "Oppdater data for alle brukere", description = "Går gjennom alle brukere i løsningen og oppdaterer data om brukere under oppfølging. Brukere som eventuelt ikke er under oppfølging slettes.") @PostMapping("/lastInnOppfolging") public String lastInnOppfolgingsData() { sjekkTilgangTilAdmin(); @@ -61,6 +66,7 @@ public String lastInnOppfolgingsData() { return "Innlastning av oppfolgingsdata har startet"; } + @Operation(summary = "Oppdater data for bruker", description = "Oppdaterer data for en gitt bruker. Dersom brukeren eventuelt ikke er under oppfølging slettes den.") @PostMapping("/lastInnOppfolgingForBruker") public String lastInnOppfolgingsDataForBruker(@RequestBody String fnr) { sjekkTilgangTilAdmin(); @@ -86,6 +92,7 @@ public String indeksAktoerId(@RequestParam String aktorId) { return "Indeksering fullfort"; } + @Operation(summary = "Indekser alle brukere", description = "Går gjennom alle brukere i løsningen og oppdaterer data om disse i søkemotoren (OpenSearch).") @PostMapping("/indeks/AlleBrukere") public String indekserAlleBrukere() { sjekkTilgangTilAdmin(); @@ -96,6 +103,7 @@ public String indekserAlleBrukere() { ); } + @Operation(summary = "Indekser alle brukere på ny index", description = "Går gjennom alle brukere i løsningen og oppdaterer data om disse i søkemotoren (OpenSearch) på en ny index.") @PostMapping("/indeks/AlleBrukereNyIndex") public String indekserAlleBrukereNyIndex() { sjekkTilgangTilAdmin(); @@ -106,6 +114,7 @@ public String indekserAlleBrukereNyIndex() { ); } + @Operation(summary = "Synkroniser ytelser for alle brukere", description = "Går gjennom alle brukere i løsningen og oppdaterer data om ytelser for disse.") @PutMapping("/ytelser/allUsers") public String syncYtelserForAlle() { sjekkTilgangTilAdmin(); @@ -114,6 +123,7 @@ public String syncYtelserForAlle() { return "Ytelser er nå i sync"; } + @Operation(summary = "Synkroniser ytelser for alle brukere som har ytelser som starter i dag", description = "Går gjennom alle brukere i løsningen og oppdaterer data om ytelser for disse som starter i dag.") @PutMapping("/ytelser/idag") public String syncYtelserForIDag() { sjekkTilgangTilAdmin(); @@ -121,6 +131,7 @@ public String syncYtelserForIDag() { return "Aktiviteter er nå i sync"; } + @Operation(summary = "Opprett ny index", description = "Oppretter en ny index i søkemotoren (OpenSearch).") @PostMapping("/opensearch/createIndex") public String createIndex() { sjekkTilgangTilAdmin(); @@ -129,12 +140,14 @@ public String createIndex() { return indexName; } + @Operation(summary = "Hent alle aliaser", description = "Henter alle aliases som er opprettet i søkemotoren (OpenSearch).") @GetMapping("/opensearch/getAliases") public String getAliases() { sjekkTilgangTilAdmin(); return opensearchAdminService.hentAliaser(); } + @Operation(summary = "Slett index", description = "Sletter en index i søkemotoren (OpenSearch).") @PostMapping("/opensearch/deleteIndex") public boolean deleteIndex(@RequestParam String indexName) { sjekkTilgangTilAdmin(); @@ -142,6 +155,7 @@ public boolean deleteIndex(@RequestParam String indexName) { return opensearchAdminService.slettIndex(indexName); } + @Operation(summary = "Tildel alias til index", description = "Tildeler et alias til en index i søkemotoren (OpenSearch).") @PostMapping("/opensearch/assignAliasToIndex") public String assignAliasToIndex(@RequestParam String indexName) { sjekkTilgangTilAdmin(); @@ -149,6 +163,7 @@ public String assignAliasToIndex(@RequestParam String indexName) { return "Ok"; } + @Operation(summary = "Hent innstillinger for index", description = "Henter innstillinger for en index i søkemotoren (OpenSearch).") @PostMapping("/opensearch/getSettings") public String getSettings(@RequestParam String indexName) { sjekkTilgangTilAdmin(); @@ -156,18 +171,21 @@ public String getSettings(@RequestParam String indexName) { return opensearchAdminService.getSettingsOnIndex(indexName); } + @Operation(summary = "Fiks read only mode", description = "Fjerner read only mode på en index i søkemotoren (OpenSearch).") @PostMapping("/opensearch/fixReadOnlyMode") public String fixReadOnlyMode() { sjekkTilgangTilAdmin(); return opensearchAdminService.updateFromReadOnlyMode(); } + @Operation(summary = "Tving shard assignment", description = "Tvinger shard assignment på en index i søkemotoren (OpenSearch).") @PostMapping("/opensearch/forceShardAssignment") public String forceShardAssignment() { sjekkTilgangTilAdmin(); return opensearchAdminService.forceShardAssignment(); } + @Operation(summary = "Last inn PDL data", description = "Henter og lagrer data fra PDL (identer, personalia og foreldreansvar) for alle brukere i løsningen.") @PostMapping("/pdl/lastInnDataFraPdl") public String lastInnPDLBrukerData() { sjekkTilgangTilAdmin(); @@ -202,6 +220,7 @@ public String lastInnPDLBrukerData(@RequestParam String fnr) { } + @Operation(summary = "Test indeksering av brukere", description = "Går gjennom alle brukere i løsningen og gjør en dry-run av mapping til datamodell som benyttes av søkemotoren (OpenSearch).") @PostMapping("/test/postgresIndeksering") public void testHentUnderOppfolging() { sjekkTilgangTilAdmin(); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/admin/v2/AdminV2Controller.java b/src/main/java/no/nav/pto/veilarbportefolje/admin/v2/AdminV2Controller.java index 41cfaa4cad..71cf57b7ef 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/admin/v2/AdminV2Controller.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/admin/v2/AdminV2Controller.java @@ -1,5 +1,7 @@ package no.nav.pto.veilarbportefolje.admin.v2; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import no.nav.common.auth.context.AuthContextHolder; @@ -20,6 +22,7 @@ @RestController @RequestMapping("/api/v2/admin") @RequiredArgsConstructor +@Tag(name = "Admin V2", description = "Admin-funksjonalitet V2 som ikke er tilgjengelig for vanlige brukere. Funksjonaliteten er kun tilgjengelig for medlemmer av applikasjonens forvaltningsteam.") public class AdminV2Controller { private final String PTO_ADMIN = new DownstreamApi(EnvironmentUtils.isProduction().orElse(false) ? "prod-fss" : "dev-fss", "pto", "pto-admin").toString(); @@ -27,6 +30,7 @@ public class AdminV2Controller { private final OpensearchIndexer opensearchIndexer; private final AuthContextHolder authContextHolder; + @Operation(summary = "Indekser bruker med fødselsnummer", description = "Hent og skriv oppdatert data for bruker, gitt ved fødselsnummer, til søkemotoren (OpenSearch).") @PutMapping("/indeks/bruker/fnr") public String indeks(@RequestBody AdminIndeksBrukerRequest adminIndeksBrukerRequest) { sjekkTilgangTilAdmin(); @@ -35,6 +39,7 @@ public String indeks(@RequestBody AdminIndeksBrukerRequest adminIndeksBrukerRequ return "Indeksering fullfort"; } + @Operation(summary = "Indekser bruker med Aktør-ID", description = "Hent og skriv oppdatert data for bruker, gitt ved Aktør-ID, til søkemotoren (OpenSearch).") @PutMapping("/indeks/bruker") public String indeksAktoerId(@RequestBody AdminIndexAktorRequest adminIndexAktorRequest) { sjekkTilgangTilAdmin(); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v1/ArbeidsListeController.java b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v1/ArbeidsListeController.java index 2e67c9f1e4..92ee4f1bf2 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v1/ArbeidsListeController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v1/ArbeidsListeController.java @@ -1,5 +1,7 @@ package no.nav.pto.veilarbportefolje.arbeidsliste.v1; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import io.vavr.control.Validation; import lombok.extern.slf4j.Slf4j; import no.nav.common.types.identer.AktorId; @@ -35,6 +37,7 @@ @Slf4j @RestController @RequestMapping("/api/arbeidsliste") +@Tag(name = "Arbeidsliste", description = "Arbeidsliste-funksjonalitet") public class ArbeidsListeController { private final ArbeidslisteService arbeidslisteService; private final BrukerServiceV2 brukerService; @@ -53,6 +56,7 @@ public ArbeidsListeController( } + @Operation(summary = "Opprett arbeidslister", description = "Opprett arbeidslister for et sett med brukere.") @PostMapping public ResponseEntity opprettArbeidsListe(@RequestBody List arbeidsliste) { authService.innloggetVeilederHarTilgangTilOppfolging(); @@ -75,6 +79,7 @@ public ResponseEntity opprettArbeidsListe(@RequestBody List return response.data.isEmpty() ? response.badRequest() : response.created(); } + @Operation(summary = "Hent arbeidsliste", description = "Hent arbeidsliste for en gitt bruker.") @GetMapping("{fnr}") public Arbeidsliste getArbeidsListe(@PathVariable("fnr") String fnrString) { validerOppfolgingOgBruker(fnrString); @@ -97,6 +102,7 @@ public Arbeidsliste getArbeidsListe(@PathVariable("fnr") String fnrString) { return harVeilederTilgang ? arbeidsliste : emptyArbeidsliste().setHarVeilederTilgang(false); } + @Operation(summary = "Opprett arbeidsliste", description = "Opprett en arbeidsliste for en gitt bruker.") @PostMapping("{fnr}") public Arbeidsliste opprettArbeidsListe(@RequestBody ArbeidslisteRequest body, @PathVariable("fnr") String fnr) { validerOppfolgingOgBruker(fnr); @@ -112,6 +118,7 @@ public Arbeidsliste opprettArbeidsListe(@RequestBody ArbeidslisteRequest body, @ .setIsOppfolgendeVeileder(true); } + @Operation(summary = "Oppdater arbeidsliste", description = "Oppdater en arbeidsliste med nye felter for en gitt bruker.") @PutMapping("{fnr}") public Arbeidsliste oppdaterArbeidsListe(@RequestBody ArbeidslisteRequest body, @PathVariable("fnr") String fnrString) { validerOppfolgingOgBruker(fnrString); @@ -138,6 +145,7 @@ public Arbeidsliste oppdaterArbeidsListe(@RequestBody ArbeidslisteRequest body, AuthUtils.getInnloggetVeilederIdent())); } + @Operation(summary = "Slett arbeidsliste", description = "Slett en arbeidsliste for en gitt bruker.") @DeleteMapping("{fnr}") public Arbeidsliste deleteArbeidsliste(@PathVariable("fnr") String fnr) { validerOppfolgingOgBruker(fnr); @@ -157,6 +165,7 @@ public Arbeidsliste deleteArbeidsliste(@PathVariable("fnr") String fnr) { return emptyArbeidsliste().setHarVeilederTilgang(true).setIsOppfolgendeVeileder(true); } + @Operation(summary = "Slett arbeidslister", description = "Slett arbeidslister for et sett med brukere.") @PostMapping("/delete") public RestResponse deleteArbeidslisteListe(@RequestBody java.util.List arbeidslisteData) { authService.innloggetVeilederHarTilgangTilOppfolging(); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v2/ArbeidsListeV2Controller.java b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v2/ArbeidsListeV2Controller.java index d6326b0147..6f6927c865 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v2/ArbeidsListeV2Controller.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v2/ArbeidsListeV2Controller.java @@ -1,5 +1,7 @@ package no.nav.pto.veilarbportefolje.arbeidsliste.v2; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import io.vavr.control.Validation; import lombok.extern.slf4j.Slf4j; import no.nav.common.types.identer.Fnr; @@ -28,6 +30,7 @@ @Slf4j @RestController @RequestMapping("/api/v2") +@Tag(name = "Arbeidsliste", description = "Arbeidsliste-funksjonalitet") public class ArbeidsListeV2Controller { private final ArbeidslisteService arbeidslisteService; private final BrukerServiceV2 brukerService; @@ -44,6 +47,7 @@ public ArbeidsListeV2Controller( this.authService = authService; } + @Operation(summary = "Hent arbeidsliste for bruker", description = "Hent arbeidsliste for en gitt bruker.") @PostMapping("/hent-arbeidsliste") public Arbeidsliste getArbeidsListe(@RequestBody ArbeidslisteForBrukerRequest arbeidslisteForBrukerRequest) { validerOppfolgingOgBruker(arbeidslisteForBrukerRequest.fnr().get()); @@ -67,6 +71,7 @@ public Arbeidsliste getArbeidsListe(@RequestBody ArbeidslisteForBrukerRequest ar return harVeilederTilgang ? arbeidsliste : emptyArbeidsliste().setHarVeilederTilgang(false); } + @Operation(summary = "Opprett arbeidsliste for bruker", description = "Opprett en ny arbeidsliste for en gitt bruker.") @PostMapping("/arbeidsliste") public Arbeidsliste opprettArbeidsListe(@RequestBody ArbeidslisteV2Request body) { validerOppfolgingOgBruker(body.fnr().get()); @@ -83,6 +88,7 @@ public Arbeidsliste opprettArbeidsListe(@RequestBody ArbeidslisteV2Request body) .setIsOppfolgendeVeileder(true); } + @Operation(summary = "Oppdater arbeidsliste", description = "Oppdater en arbeidsliste med nye felter for en gitt bruker.") @PutMapping("/arbeidsliste") public Arbeidsliste oppdaterArbeidsListe(@RequestBody ArbeidslisteV2Request body) { validerOppfolgingOgBruker(body.fnr().get()); @@ -109,6 +115,7 @@ public Arbeidsliste oppdaterArbeidsListe(@RequestBody ArbeidslisteV2Request body AuthUtils.getInnloggetVeilederIdent())); } + @Operation(summary = "Slett arbeidsliste", description = "Slett en arbeidsliste for en gitt bruker.") @DeleteMapping("/arbeidsliste") public Arbeidsliste deleteArbeidsliste(@RequestBody ArbeidslisteForBrukerRequest arbeidslisteForBrukerRequest) { validerOppfolgingOgBruker(arbeidslisteForBrukerRequest.fnr().get()); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/controller/EnhetController.java b/src/main/java/no/nav/pto/veilarbportefolje/controller/EnhetController.java index f00bcacd84..411f265c26 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/controller/EnhetController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/controller/EnhetController.java @@ -2,6 +2,8 @@ import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import no.nav.common.types.identer.EnhetId; import no.nav.pto.veilarbportefolje.arenapakafka.aktiviteter.TiltakService; @@ -25,6 +27,7 @@ @RestController @RequiredArgsConstructor @RequestMapping("/api/enhet") +@Tag(name = "Enhet", description = "Portefølje-funksjonalitet på enhetsnivå.") public class EnhetController { private final OpensearchService opensearchService; private final AuthService authService; @@ -47,6 +50,10 @@ public class EnhetController { .maximumSize(1000) .build(); + @Operation( + summary = "Hent portefølje for enhet", + description = "Henter en liste med brukere under arbeidsrettet oppfølging knyttet til enheten." + ) @PostMapping("/{enhet}/portefolje") public Portefolje hentPortefoljeForEnhet( @PathVariable("enhet") String enhet, @@ -71,6 +78,10 @@ public Portefolje hentPortefoljeForEnhet( Optional.ofNullable(fra).orElse(0)); } + @Operation( + summary = "Hent porteføljestørrelser for enhet", + description = "Henter antall brukere i porteføljen for en gitt enhet." + ) @GetMapping("/{enhet}/portefoljestorrelser") public FacetResults hentPortefoljestorrelser(@PathVariable("enhet") String enhet) { ValideringsRegler.sjekkEnhet(enhet); @@ -79,6 +90,10 @@ public FacetResults hentPortefoljestorrelser(@PathVariable("enhet") String enhet return opensearchService.hentPortefoljestorrelser(enhet); } + @Operation( + summary = "Hent statustall for enhet portefølje", + description = "Henter statustall på enhetsnivå (statistikk for alle brukere under arbeidsrettet oppfølging tilknyttet enheten), delt opp i brukere som veileder som utfører forespørselen har innsynsrett på og brukere som veileder ikke har innsynsrett på." + ) @GetMapping("/{enhet}/portefolje/statustall") public EnhetPortefoljeStatustallRespons hentEnhetPortefoljeStatustall(@PathVariable("enhet") String enhet) { ValideringsRegler.sjekkEnhet(enhet); @@ -90,6 +105,10 @@ public EnhetPortefoljeStatustallRespons hentEnhetPortefoljeStatustall(@PathVaria ); } + @Operation( + summary = "Hent tiltak for enhet", + description = "Henter alle tiltakstyper for enheten hvor minst en bruker er tilknyttet tiltaket." + ) @GetMapping("/{enhet}/tiltak") public EnhetTiltak hentTiltak(@PathVariable("enhet") String enhet) { ValideringsRegler.sjekkEnhet(enhet); @@ -98,6 +117,10 @@ public EnhetTiltak hentTiltak(@PathVariable("enhet") String enhet) { return tiltakService.hentEnhettiltak(EnhetId.of(enhet)); } + @Operation( + summary = "Hent fødeland for enhet", + description = "Henter en liste av fødeland for brukere på enheten. Listen inneholder kun land som er registrert på brukere på enheten." + ) @GetMapping("/{enhet}/foedeland") public List hentFoedeland( @PathVariable("enhet") @@ -109,6 +132,10 @@ public List hentFoedeland( () -> personOpprinnelseService.hentFoedeland(enhet)); } + @Operation( + summary = "Hent språk med tolkebehov for enhet", + description = "Henter en liste av språk for enheten hvor det er tolkebehov. Listen inneholder kun språk som er registrert på brukere på enheten." + ) @GetMapping("/{enhet}/tolkSpraak") public List hentTolkSpraak( @PathVariable("enhet") @@ -121,6 +148,10 @@ public List hentTolkSpraak( } + @Operation( + summary = "Hent geografisk bosted for enhet", + description = "Henter en liste av geografiske bosteder (kommuner og bydeler) for enheten. Listen inneholder kun geografiske bosteder som er registrert på brukere på enheten." + ) @GetMapping("/{enhet}/geografiskbosted") public List hentGeografiskBosted( @PathVariable("enhet") diff --git a/src/main/java/no/nav/pto/veilarbportefolje/controller/Frontendlogger.java b/src/main/java/no/nav/pto/veilarbportefolje/controller/Frontendlogger.java index 3a58c9193b..409fe5d6bf 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/controller/Frontendlogger.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/controller/Frontendlogger.java @@ -1,5 +1,7 @@ package no.nav.pto.veilarbportefolje.controller; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.experimental.Accessors; @@ -20,9 +22,11 @@ @RestController @RequiredArgsConstructor @RequestMapping("/api/logger") +@Tag(name = "Frontendlogger", description = "Frontendlogger-funksjonalitet") public class Frontendlogger { private final MetricsClient metricsClient; + @Operation(summary = "Skriv event til influx", description = "Registrer en frontend-hendelse og send til InfluxDB.") @PostMapping("/event") public void skrivEventTilInflux(@RequestBody FrontendEvent event) { Event toInflux = new Event(event.name + ".event"); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/controller/VeilederController.java b/src/main/java/no/nav/pto/veilarbportefolje/controller/VeilederController.java index 25c00c1a82..6e120203a4 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/controller/VeilederController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/controller/VeilederController.java @@ -1,5 +1,7 @@ package no.nav.pto.veilarbportefolje.controller; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import no.nav.common.types.identer.EnhetId; @@ -22,12 +24,17 @@ @RestController @RequiredArgsConstructor @RequestMapping("/api/veileder") +@Tag(name = "Veileder", description = "Portefølje-funksjonalitet på veiledernivå.") public class VeilederController { private final OpensearchService opensearchService; private final AuthService authService; private final ArbeidslisteService arbeidslisteService; private final AktivitetService aktivitetService; + @Operation( + summary = "Hent portefølje for veileder", + description = "Henter en liste med brukere under arbeidsrettet oppfølging som er tilordnet veilederen." + ) @PostMapping("/{veilederident}/portefolje") public Portefolje hentPortefoljeForVeileder( @PathVariable("veilederident") String veilederIdent, @@ -54,6 +61,10 @@ public Portefolje hentPortefoljeForVeileder( Optional.ofNullable(fra).orElse(0)); } + @Operation( + summary = "Hent status tall for veilederportefølje", + description = "Henter statustall på veileder (statistikk for alle brukere under arbeidsrettet oppfølging tilordnet veilederen)." + ) @GetMapping("/{veilederident}/portefolje/statustall") public VeilederPortefoljeStatustallRespons hentVeilederportefoljeStatustall(@PathVariable("veilederident") String veilederIdent, @RequestParam("enhet") String enhet) { ValideringsRegler.sjekkEnhet(enhet); @@ -65,6 +76,10 @@ public VeilederPortefoljeStatustallRespons hentVeilederportefoljeStatustall(@Pat ); } + @Operation( + summary = "Hent arbeidsliste for veileder", + description = "Henter en liste av arbeidslister for en gitt veileder på en gitt enhet." + ) @GetMapping("/{veilederident}/hentArbeidslisteForVeileder") public List hentArbeidslisteForVeileder(@PathVariable("veilederident") VeilederId veilederIdent, @RequestParam("enhet") EnhetId enhet) { ValideringsRegler.sjekkEnhet(enhet.get()); @@ -74,6 +89,10 @@ public List hentArbeidslisteForVeileder(@PathVariable("veilederide return arbeidslisteService.getArbeidslisteForVeilederPaEnhet(enhet, veilederIdent); } + @Operation( + summary = "Hent møteplan for veileder", + description = "Henter en liste av møteplaner for en gitt veileder på en gitt enhet." + ) @GetMapping("{veilederident}/moteplan") public List hentMoteplanForVeileder(@PathVariable("veilederident") VeilederId veilederIdent, @RequestParam("enhet") EnhetId enhet) { ValideringsRegler.sjekkEnhet(enhet.get()); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/fargekategori/FargekategoriController.java b/src/main/java/no/nav/pto/veilarbportefolje/fargekategori/FargekategoriController.java index bdce50a341..f3ed39be4e 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/fargekategori/FargekategoriController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/fargekategori/FargekategoriController.java @@ -2,6 +2,8 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import io.vavr.control.Validation; import lombok.RequiredArgsConstructor; import no.nav.common.types.identer.Fnr; @@ -23,12 +25,14 @@ @RestController @RequestMapping("/api/v1") @RequiredArgsConstructor +@Tag(name = "Fargekategori", description = "Fargekategori-funksjonalitet") public class FargekategoriController { private final FargekategoriService fargekategoriService; private final AuthService authService; private final BrukerServiceV2 brukerServiceV2; + @Operation(summary = "Hent fargekategori for bruker", description = "Hent fargekategorien en gitt bruker er merket med.") @PostMapping("/hent-fargekategori") public ResponseEntity hentFargekategoriForBruker(@RequestBody HentFargekategoriRequest request) { validerRequest(request.fnr); @@ -54,6 +58,7 @@ public ResponseEntity hentFargekategoriForBruker(@RequestBo } } + @Operation(summary = "Sett fargekategori", description = "Sett fargekategori for en gitt bruker.") @PutMapping("/fargekategori") public ResponseEntity oppdaterFargekategoriForBruker(@RequestBody OppdaterFargekategoriRequest request) { VeilederId innloggetVeileder = AuthUtils.getInnloggetVeilederIdent(); @@ -88,6 +93,7 @@ public ResponseEntity oppdaterFargekategoriForBruker(@Req } } + @Operation(summary = "Sett fargekategori for brukere", description = "Sett en fargekategori for flere brukere i samme operasjon.") @PutMapping("/fargekategorier") public ResponseEntity batchoppdaterFargekategoriForBruker(@RequestBody BatchoppdaterFargekategoriRequest request) { VeilederId innloggetVeileder = AuthUtils.getInnloggetVeilederIdent(); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/huskelapp/controller/HuskelappController.java b/src/main/java/no/nav/pto/veilarbportefolje/huskelapp/controller/HuskelappController.java index a3fec10fb1..2549d4c068 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/huskelapp/controller/HuskelappController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/huskelapp/controller/HuskelappController.java @@ -1,5 +1,7 @@ package no.nav.pto.veilarbportefolje.huskelapp.controller; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import io.vavr.control.Validation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -29,6 +31,7 @@ @RequestMapping("/api/v1") @RequiredArgsConstructor @Slf4j +@Tag(name = "Huskelapp", description = "Huskelapp-funksjonalitet") public class HuskelappController { private final HuskelappService huskelappService; @@ -37,6 +40,7 @@ public class HuskelappController { private final PdlIdentRepository pdlIdentRepository; @PostMapping("/huskelapp") + @Operation(summary = "Opprett huskelapp", description = "Opprett en huskelapp for en gitt bruker på en gitt enhet") public ResponseEntity opprettHuskelapp(@RequestBody HuskelappOpprettRequest huskelappOpprettRequest) { validerOppfolgingOgBrukerOgEnhet(huskelappOpprettRequest.brukerFnr().get(), huskelappOpprettRequest.enhetId().get()); try { @@ -60,6 +64,7 @@ public ResponseEntity opprettHuskelapp(@RequestBody Hu } @PutMapping("/huskelapp") + @Operation(summary = "Oppdater huskelapp", description = "Oppdater en huskelapp med nye felter") public ResponseEntity redigerHuskelapp(@RequestBody HuskelappRedigerRequest huskelappRedigerRequest) { validerOppfolgingOgBrukerOgEnhet(huskelappRedigerRequest.brukerFnr().get(), huskelappRedigerRequest.enhetId().get()); try { @@ -78,6 +83,7 @@ public ResponseEntity redigerHuskelapp(@RequestBody HuskelappRedigerRequest husk @PostMapping("/hent-huskelapp-for-veileder") + @Operation(summary = "Hent huskelapp for veileder", description = "Hent alle aktive huskelapper for en gitt veileder på en gitt enhet") public ResponseEntity> hentHuskelapp(@RequestBody HuskelappForVeilederRequest huskelappForVeilederRequest) { authService.innloggetVeilederHarTilgangTilEnhet(huskelappForVeilederRequest.enhetId().get()); try { @@ -90,6 +96,7 @@ public ResponseEntity> hentHuskelapp(@RequestBody Huskel } @PostMapping("/hent-huskelapp-for-bruker") + @Operation(summary = "Hent huskelapp for bruker", description = "Hent aktiv huskelapp for en gitt bruker") public ResponseEntity hentHuskelapp(@RequestBody HuskelappForBrukerRequest huskelappForBrukerRequest) { validerOppfolgingOgBrukerOgEnhet(huskelappForBrukerRequest.fnr().get(), huskelappForBrukerRequest.enhetId().get()); try { @@ -101,6 +108,7 @@ public ResponseEntity hentHuskelapp(@RequestBody HuskelappFor } @DeleteMapping("/huskelapp") + @Operation(summary = "Slett huskelapp", description = "Slett en huskelapp") public ResponseEntity slettHuskelapp(@RequestBody HuskelappSlettRequest huskelappSlettRequest) { Optional huskelappOptional = huskelappService.hentHuskelapp(UUID.fromString(huskelappSlettRequest.huskelappId())); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/internal/InternalController.java b/src/main/java/no/nav/pto/veilarbportefolje/internal/InternalController.java index 0afe81494f..ace21aeada 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/internal/InternalController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/internal/InternalController.java @@ -1,5 +1,7 @@ package no.nav.pto.veilarbportefolje.internal; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import no.nav.common.health.selftest.SelfTestChecks; import no.nav.common.health.selftest.SelfTestUtils; @@ -18,17 +20,21 @@ @RestController @RequiredArgsConstructor @RequestMapping("/internal") +@Tag(name = "Internal", description = "Intern funksjonalitet. Benyttes hovedsaklig av kjøretidsplattformen.") public class InternalController { private final SelfTestChecks selfTestChecks; + @Operation(summary = "Applikasjon klar for trafikk", description = "Sjekk om applikasjonen er klar til å motta trafikk.") @GetMapping("/isReady") public void isReady() { } + @Operation(summary = "Applikasjon kjører", description = "Sjekk om applikasjonen kjører.") @GetMapping("/isAlive") public void isAlive() { } + @Operation(summary = "Sjekk applikasjonens helsesjekker", description = "Utfør helsesjekk for tjenester applikasjonen er avhengig av og generer rapport.") @GetMapping("/selftest") public ResponseEntity selftest() { List results = checkAllParallel(selfTestChecks.getSelfTestChecks()); From 32221ea1f92a4c7861c8763598fe2c4f70781dfd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 10:11:21 +0000 Subject: [PATCH 3/8] Bump com.github.kagkarlsson:db-scheduler from 13.0.0 to 14.0.2 Bumps [com.github.kagkarlsson:db-scheduler](https://github.com/kagkarlsson/db-scheduler) from 13.0.0 to 14.0.2. - [Release notes](https://github.com/kagkarlsson/db-scheduler/releases) - [Changelog](https://github.com/kagkarlsson/db-scheduler/blob/master/jreleaser.yml) - [Commits](https://github.com/kagkarlsson/db-scheduler/compare/v13.0.0...v14.0.2) --- updated-dependencies: - dependency-name: com.github.kagkarlsson:db-scheduler dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ceb21f292a..835cc36fe6 100644 --- a/pom.xml +++ b/pom.xml @@ -314,7 +314,7 @@ com.github.kagkarlsson db-scheduler - 13.0.0 + 14.0.2 org.flywaydb From 4dbeaf8adadb2f59fcd0d9aa7bb510ab57a8047a Mon Sep 17 00:00:00 2001 From: Dragutin Vujovic <66312566+dragutin-nav@users.noreply.github.com> Date: Wed, 3 Jul 2024 11:36:08 +0200 Subject: [PATCH 4/8] Small fix for change of enhet for arbeidsliste (#1637) --- .../arbeidsliste/ArbeidslisteService.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java index 7b950d2613..38d7779b98 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java @@ -14,10 +14,7 @@ import no.nav.pto.veilarbportefolje.domene.value.VeilederId; import no.nav.pto.veilarbportefolje.opensearch.OpensearchIndexerV2; import no.nav.pto.veilarbportefolje.service.BrukerServiceV2; -import no.nav.pto.veilarbportefolje.util.DateUtils; import no.nav.pto.veilarbportefolje.util.ValideringsRegler; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import java.sql.Timestamp; @@ -33,8 +30,6 @@ @Service @RequiredArgsConstructor public class ArbeidslisteService { - private static final Logger log = LoggerFactory.getLogger(ArbeidslisteService.class); - private final AktorClient aktorClient; private final ArbeidslisteRepositoryV2 arbeidslisteRepositoryV2; private final BrukerServiceV2 brukerServiceV2; @@ -153,7 +148,7 @@ public Boolean erVeilederForBruker(AktorId aktoerId, VeilederId veilederId) { public void oppdaterEnhetPaaArbeidsliste(Fnr fnr, EnhetId enhetId, VeilederId veilederId) { Try arbeidsliste = getArbeidsliste(fnr); - if (arbeidsliste.isSuccess()) { + if (arbeidsliste.isSuccess() && !arbeidsliste.isEmpty()) { ArbeidslisteDTO arbeidslisteDTO = ArbeidslisteDTO.of( fnr, AktorId.of(arbeidsliste.get().getAktoerid()), From e8d05273e9fcea866aac65d7ce592995a47a38ee Mon Sep 17 00:00:00 2001 From: Dragutin Vujovic <66312566+dragutin-nav@users.noreply.github.com> Date: Wed, 3 Jul 2024 13:17:18 +0200 Subject: [PATCH 5/8] Enhet arbeidsliste fix (#1639) * Small fix for change of enhet for arbeidsliste (#1638) --- .../pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java index 38d7779b98..35912b9f52 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java @@ -148,7 +148,7 @@ public Boolean erVeilederForBruker(AktorId aktoerId, VeilederId veilederId) { public void oppdaterEnhetPaaArbeidsliste(Fnr fnr, EnhetId enhetId, VeilederId veilederId) { Try arbeidsliste = getArbeidsliste(fnr); - if (arbeidsliste.isSuccess() && !arbeidsliste.isEmpty()) { + if (arbeidsliste.isSuccess() && !arbeidsliste.isEmpty() && arbeidsliste.get() != null) { ArbeidslisteDTO arbeidslisteDTO = ArbeidslisteDTO.of( fnr, AktorId.of(arbeidsliste.get().getAktoerid()), From d3f14adda3dd50e45b26a25ff3097862894d3e5d Mon Sep 17 00:00:00 2001 From: Dragutin Vujovic <66312566+dragutin-nav@users.noreply.github.com> Date: Wed, 3 Jul 2024 15:41:48 +0200 Subject: [PATCH 6/8] Huskelapp fargekategori small fixes (#1641) * Small changes for huskelapp & fargekategori --- .../arbeidsliste/ArbeidslisteService.java | 3 +-- .../fargekategori/FargekategoriController.java | 2 +- .../huskelapp/controller/HuskelappController.java | 12 +++++------- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java index 35912b9f52..1fe84326f5 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java @@ -156,8 +156,7 @@ public void oppdaterEnhetPaaArbeidsliste(Fnr fnr, EnhetId enhetId, VeilederId ve Timestamp.from(now()), enhetId.get() ); - arbeidslisteRepositoryV2.updateArbeidslisteUtenFargekategori(arbeidslisteDTO) - .onSuccess(opensearchIndexerV2::updateArbeidsliste); + arbeidslisteRepositoryV2.updateArbeidslisteUtenFargekategori(arbeidslisteDTO); } } diff --git a/src/main/java/no/nav/pto/veilarbportefolje/fargekategori/FargekategoriController.java b/src/main/java/no/nav/pto/veilarbportefolje/fargekategori/FargekategoriController.java index 590dc04446..c08e69fe67 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/fargekategori/FargekategoriController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/fargekategori/FargekategoriController.java @@ -37,10 +37,10 @@ public class FargekategoriController { @PostMapping("/hent-fargekategori") public ResponseEntity hentFargekategoriForBruker(@RequestBody HentFargekategoriRequest request) { validerRequest(request.fnr); - NavKontor navKontorForBruker = brukerServiceV2.hentNavKontor(request.fnr).orElseThrow(() -> new ResponseStatusException(HttpStatus.FORBIDDEN, "Bruker har ikke tilordnet enhet")); authService.innloggetVeilederHarTilgangTilOppfolging(); authService.innloggetVeilederHarTilgangTilBruker(request.fnr.get()); + NavKontor navKontorForBruker = brukerServiceV2.hentNavKontor(request.fnr).orElseThrow(() -> new ResponseStatusException(HttpStatus.FORBIDDEN, "Bruker har ikke tilordnet enhet")); authService.innloggetVeilederHarTilgangTilEnhet(navKontorForBruker.getValue()); try { diff --git a/src/main/java/no/nav/pto/veilarbportefolje/huskelapp/controller/HuskelappController.java b/src/main/java/no/nav/pto/veilarbportefolje/huskelapp/controller/HuskelappController.java index 06eaed1ea1..b211d7c08c 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/huskelapp/controller/HuskelappController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/huskelapp/controller/HuskelappController.java @@ -145,18 +145,16 @@ public record HentErBrukerUfordelt(Fnr fnr) { } private void validerOppfolgingOgBrukerOgEnhet(String fnr) { - Optional navKontor = brukerServiceV2.hentNavKontor(Fnr.of(fnr)); - if (navKontor.isEmpty()) { + Validation validateFnr = ValideringsRegler.validerFnr(fnr); + if (validateFnr.isInvalid()) { throw new ResponseStatusException(HttpStatus.BAD_REQUEST); } authService.innloggetVeilederHarTilgangTilOppfolging(); - Validation validateFnr = ValideringsRegler.validerFnr(fnr); authService.innloggetVeilederHarTilgangTilBruker(fnr); - authService.innloggetVeilederHarTilgangTilEnhet(navKontor.get().getValue()); - if (validateFnr.isInvalid()) { - throw new ResponseStatusException(HttpStatus.BAD_REQUEST); - } + + NavKontor navKontor = brukerServiceV2.hentNavKontor(Fnr.of(fnr)).orElseThrow(() -> new ResponseStatusException(HttpStatus.BAD_REQUEST)); + authService.innloggetVeilederHarTilgangTilEnhet(navKontor.getValue()); } private HuskelappResponse mapToHuskelappResponse(Huskelapp huskelapp) { From 3b8b24f2e6be192a5551fd3c45c4715c18c674d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathias=20S=2E=20M=C3=BCller?= Date: Fri, 5 Jul 2024 16:37:45 +0200 Subject: [PATCH 7/8] =?UTF-8?q?Sm=C3=A5justeringer=20p=C3=A5=20spr=C3=A5k?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/v1/AdminController.java | 32 ++++++++--------- .../v1/ArbeidsListeController.java | 16 +++++---- .../v2/ArbeidsListeV2Controller.java | 8 ++--- .../controller/EnhetController.java | 35 ++++--------------- .../controller/Frontendlogger.java | 2 +- .../controller/VeilederController.java | 20 +++-------- .../FargekategoriController.java | 4 +-- .../controller/HuskelappController.java | 9 ++--- .../internal/InternalController.java | 8 ++--- 9 files changed, 53 insertions(+), 81 deletions(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/admin/v1/AdminController.java b/src/main/java/no/nav/pto/veilarbportefolje/admin/v1/AdminController.java index 971859643b..b46618b550 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/admin/v1/AdminController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/admin/v1/AdminController.java @@ -50,24 +50,24 @@ public class AdminController { private final OpensearchAdminService opensearchAdminService; private final PdlService pdlService; - @Operation(summary = "Fjern bruker", description = "Sletter en bruker og fjerner tilhørende informasjon om brukeren. Brukeren vil ikke lenger eksistere i porteføljene.") @DeleteMapping("/oppfolgingsbruker") + @Operation(summary = "Fjern bruker", description = "Sletter en bruker og fjerner tilhørende informasjon om brukeren. Brukeren vil ikke lenger eksistere i porteføljene.") public String slettOppfolgingsbruker(@RequestBody String aktoerId) { sjekkTilgangTilAdmin(); oppfolgingAvsluttetService.avsluttOppfolging(AktorId.of(aktoerId)); return "Oppfølgingsbruker ble slettet"; } - @Operation(summary = "Oppdater data for alle brukere", description = "Går gjennom alle brukere i løsningen og oppdaterer data om brukere under oppfølging. Brukere som eventuelt ikke er under oppfølging slettes.") @PostMapping("/lastInnOppfolging") + @Operation(summary = "Oppdater data for alle brukere", description = "Går gjennom alle brukere i løsningen og oppdaterer oppfølgingsdata om brukere under oppfølging. Brukere som eventuelt ikke er under oppfølging slettes.") public String lastInnOppfolgingsData() { sjekkTilgangTilAdmin(); oppfolgingService.lastInnDataPaNytt(); return "Innlastning av oppfolgingsdata har startet"; } - @Operation(summary = "Oppdater data for bruker", description = "Oppdaterer data for en gitt bruker. Dersom brukeren eventuelt ikke er under oppfølging slettes den.") @PostMapping("/lastInnOppfolgingForBruker") + @Operation(summary = "Oppdater data for bruker", description = "Oppdaterer oppfølgingsdata for en gitt bruker. Dersom brukeren eventuelt ikke er under oppfølging slettes den.") public String lastInnOppfolgingsDataForBruker(@RequestBody String fnr) { sjekkTilgangTilAdmin(); String aktorId = aktorClient.hentAktorId(Fnr.ofValidFnr(fnr)).get(); @@ -92,8 +92,8 @@ public String indeksAktoerId(@RequestParam String aktorId) { return "Indeksering fullfort"; } - @Operation(summary = "Indekser alle brukere", description = "Går gjennom alle brukere i løsningen og oppdaterer data om disse i søkemotoren (OpenSearch).") @PostMapping("/indeks/AlleBrukere") + @Operation(summary = "Indekser alle brukere", description = "Går gjennom alle brukere i løsningen og oppdaterer data om disse i søkemotoren (OpenSearch).") public String indekserAlleBrukere() { sjekkTilgangTilAdmin(); return JobRunner.runAsync("Admin_hovedindeksering", () -> { @@ -103,8 +103,8 @@ public String indekserAlleBrukere() { ); } - @Operation(summary = "Indekser alle brukere på ny index", description = "Går gjennom alle brukere i løsningen og oppdaterer data om disse i søkemotoren (OpenSearch) på en ny index.") @PostMapping("/indeks/AlleBrukereNyIndex") + @Operation(summary = "Indekser alle brukere på ny index", description = "Går gjennom alle brukere i løsningen og oppdaterer data om disse i søkemotoren (OpenSearch) på en ny indeks.") public String indekserAlleBrukereNyIndex() { sjekkTilgangTilAdmin(); return JobRunner.runAsync("Admin_hovedindeksering_ny_index", () -> { @@ -114,8 +114,8 @@ public String indekserAlleBrukereNyIndex() { ); } - @Operation(summary = "Synkroniser ytelser for alle brukere", description = "Går gjennom alle brukere i løsningen og oppdaterer data om ytelser for disse.") @PutMapping("/ytelser/allUsers") + @Operation(summary = "Oppdater ytelser for alle brukere", description = "Går gjennom alle brukere i løsningen og oppdaterer data om ytelser for disse.") public String syncYtelserForAlle() { sjekkTilgangTilAdmin(); List brukereUnderOppfolging = oppfolgingRepositoryV2.hentAlleGyldigeBrukereUnderOppfolging(); @@ -123,16 +123,16 @@ public String syncYtelserForAlle() { return "Ytelser er nå i sync"; } - @Operation(summary = "Synkroniser ytelser for alle brukere som har ytelser som starter i dag", description = "Går gjennom alle brukere i løsningen og oppdaterer data om ytelser for disse som starter i dag.") @PutMapping("/ytelser/idag") + @Operation(summary = "Oppdater ytelser for alle brukere som har ytelser som starter i dag", description = "Går gjennom alle brukere i løsningen og oppdaterer data om ytelser for disse som starter i dag.") public String syncYtelserForIDag() { sjekkTilgangTilAdmin(); ytelsesService.oppdaterBrukereMedYtelserSomStarterIDag(); return "Aktiviteter er nå i sync"; } - @Operation(summary = "Opprett ny index", description = "Oppretter en ny index i søkemotoren (OpenSearch).") @PostMapping("/opensearch/createIndex") + @Operation(summary = "Opprett ny indeks", description = "Oppretter en ny indeks i søkemotoren (OpenSearch).") public String createIndex() { sjekkTilgangTilAdmin(); String indexName = opensearchAdminService.opprettNyIndeks(); @@ -140,53 +140,53 @@ public String createIndex() { return indexName; } - @Operation(summary = "Hent alle aliaser", description = "Henter alle aliases som er opprettet i søkemotoren (OpenSearch).") @GetMapping("/opensearch/getAliases") + @Operation(summary = "Hent alle aliaser", description = "Henter alle aliaser som eksisterer i søkemotoren (OpenSearch).") public String getAliases() { sjekkTilgangTilAdmin(); return opensearchAdminService.hentAliaser(); } - @Operation(summary = "Slett index", description = "Sletter en index i søkemotoren (OpenSearch).") @PostMapping("/opensearch/deleteIndex") + @Operation(summary = "Slett indeks", description = "Sletter en indeks i søkemotoren (OpenSearch).") public boolean deleteIndex(@RequestParam String indexName) { sjekkTilgangTilAdmin(); log.info("Sletter index: {}", indexName); return opensearchAdminService.slettIndex(indexName); } - @Operation(summary = "Tildel alias til index", description = "Tildeler et alias til en index i søkemotoren (OpenSearch).") @PostMapping("/opensearch/assignAliasToIndex") + @Operation(summary = "Tildel alias til indeks", description = "Tildeler et alias til en indeks i søkemotoren (OpenSearch).") public String assignAliasToIndex(@RequestParam String indexName) { sjekkTilgangTilAdmin(); opensearchAdminService.opprettAliasForIndeks(indexName); return "Ok"; } - @Operation(summary = "Hent innstillinger for index", description = "Henter innstillinger for en index i søkemotoren (OpenSearch).") @PostMapping("/opensearch/getSettings") + @Operation(summary = "Hent innstillinger for indeks", description = "Henter innstillinger for en indeks i søkemotoren (OpenSearch).") public String getSettings(@RequestParam String indexName) { sjekkTilgangTilAdmin(); validerIndexName(indexName); return opensearchAdminService.getSettingsOnIndex(indexName); } - @Operation(summary = "Fiks read only mode", description = "Fjerner read only mode på en index i søkemotoren (OpenSearch).") @PostMapping("/opensearch/fixReadOnlyMode") + @Operation(summary = "Fjern read only mode", description = "Fjerner read only mode på en indeks i søkemotoren (OpenSearch).") public String fixReadOnlyMode() { sjekkTilgangTilAdmin(); return opensearchAdminService.updateFromReadOnlyMode(); } - @Operation(summary = "Tving shard assignment", description = "Tvinger shard assignment på en index i søkemotoren (OpenSearch).") @PostMapping("/opensearch/forceShardAssignment") + @Operation(summary = "Tving shard assignment", description = "Tvinger shard assignment på en indeks i søkemotoren (OpenSearch).") public String forceShardAssignment() { sjekkTilgangTilAdmin(); return opensearchAdminService.forceShardAssignment(); } - @Operation(summary = "Last inn PDL data", description = "Henter og lagrer data fra PDL (identer, personalia og foreldreansvar) for alle brukere i løsningen.") @PostMapping("/pdl/lastInnDataFraPdl") + @Operation(summary = "Last inn PDL-data", description = "Henter og lagrer data fra PDL (identer, personalia og foreldreansvar) for alle brukere i løsningen.") public String lastInnPDLBrukerData() { sjekkTilgangTilAdmin(); AtomicInteger antall = new AtomicInteger(0); @@ -220,8 +220,8 @@ public String lastInnPDLBrukerData(@RequestParam String fnr) { } - @Operation(summary = "Test indeksering av brukere", description = "Går gjennom alle brukere i løsningen og gjør en dry-run av mapping til datamodell som benyttes av søkemotoren (OpenSearch).") @PostMapping("/test/postgresIndeksering") + @Operation(summary = "Test indeksering av brukere", description = "Går gjennom alle brukere i løsningen og gjør en dry-run av mapping til datamodell som benyttes av søkemotoren (OpenSearch).") public void testHentUnderOppfolging() { sjekkTilgangTilAdmin(); List brukereUnderOppfolging = oppfolgingRepositoryV2.hentAlleGyldigeBrukereUnderOppfolging(); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v1/ArbeidsListeController.java b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v1/ArbeidsListeController.java index 1ba77d1315..b2759cc295 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v1/ArbeidsListeController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v1/ArbeidsListeController.java @@ -56,8 +56,8 @@ public ArbeidsListeController( } - @Operation(summary = "Opprett arbeidslister", description = "Opprett arbeidslister for et sett med brukere.") @PostMapping + @Operation(summary = "Opprett arbeidslister", description = "Oppretter arbeidslister for et sett med brukere.") public ResponseEntity opprettArbeidsListe(@RequestBody List arbeidsliste) { authService.innloggetVeilederHarTilgangTilOppfolging(); List tilgangErrors = getTilgangErrors(arbeidsliste); @@ -79,8 +79,9 @@ public ResponseEntity opprettArbeidsListe(@RequestBody List return response.data.isEmpty() ? response.badRequest() : response.created(); } - @Operation(summary = "Hent arbeidsliste", description = "Hent arbeidsliste for en gitt bruker.") @GetMapping("{fnr}") + @Deprecated(forRemoval = true) + @Operation(summary = "Hent arbeidsliste", description = "Henter arbeidsliste for en gitt bruker.") public Arbeidsliste getArbeidsListe(@PathVariable("fnr") String fnrString) { validerOppfolgingOgBruker(fnrString); @@ -102,8 +103,9 @@ public Arbeidsliste getArbeidsListe(@PathVariable("fnr") String fnrString) { return harVeilederTilgang ? arbeidsliste : emptyArbeidsliste().setHarVeilederTilgang(false); } - @Operation(summary = "Opprett arbeidsliste", description = "Opprett en arbeidsliste for en gitt bruker.") @PostMapping("{fnr}") + @Deprecated(forRemoval = true) + @Operation(summary = "Opprett arbeidsliste", description = "Oppretter en arbeidsliste for en gitt bruker.") public Arbeidsliste opprettArbeidsListe(@RequestBody ArbeidslisteRequest body, @PathVariable("fnr") String fnr) { validerOppfolgingOgBruker(fnr); sjekkTilgangTilEnhet(Fnr.ofValidFnr(fnr)); @@ -117,8 +119,9 @@ public Arbeidsliste opprettArbeidsListe(@RequestBody ArbeidslisteRequest body, @ .setIsOppfolgendeVeileder(true); } - @Operation(summary = "Oppdater arbeidsliste", description = "Oppdater en arbeidsliste med nye felter for en gitt bruker.") @PutMapping("{fnr}") + @Deprecated(forRemoval = true) + @Operation(summary = "Oppdater arbeidsliste", description = "Oppdaterer en arbeidsliste med nye felter for en gitt bruker.") public Arbeidsliste oppdaterArbeidsListe(@RequestBody ArbeidslisteRequest body, @PathVariable("fnr") String fnrString) { validerOppfolgingOgBruker(fnrString); Fnr fnr = Fnr.ofValidFnr(fnrString); @@ -144,8 +147,9 @@ public Arbeidsliste oppdaterArbeidsListe(@RequestBody ArbeidslisteRequest body, AuthUtils.getInnloggetVeilederIdent())); } - @Operation(summary = "Slett arbeidsliste", description = "Slett en arbeidsliste for en gitt bruker.") @DeleteMapping("{fnr}") + @Deprecated(forRemoval = true) + @Operation(summary = "Slett arbeidsliste", description = "Sletter en arbeidsliste for en gitt bruker.") public Arbeidsliste deleteArbeidsliste(@PathVariable("fnr") String fnr) { validerOppfolgingOgBruker(fnr); sjekkTilgangTilEnhet(Fnr.ofValidFnr(fnr)); @@ -163,8 +167,8 @@ public Arbeidsliste deleteArbeidsliste(@PathVariable("fnr") String fnr) { return emptyArbeidsliste().setHarVeilederTilgang(true).setIsOppfolgendeVeileder(true); } - @Operation(summary = "Slett arbeidslister", description = "Slett arbeidslister for et sett med brukere.") @PostMapping("/delete") + @Operation(summary = "Slett arbeidslister", description = "Sletter arbeidslister for et sett med brukere.") public RestResponse deleteArbeidslisteListe(@RequestBody java.util.List arbeidslisteData) { authService.innloggetVeilederHarTilgangTilOppfolging(); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v2/ArbeidsListeV2Controller.java b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v2/ArbeidsListeV2Controller.java index f3b0c52417..6d952e83cb 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v2/ArbeidsListeV2Controller.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v2/ArbeidsListeV2Controller.java @@ -51,8 +51,8 @@ public ArbeidsListeV2Controller( this.fargekategoriService = fargekategoriService; } - @Operation(summary = "Hent arbeidsliste for bruker", description = "Hent arbeidsliste for en gitt bruker.") @PostMapping("/hent-arbeidsliste") + @Operation(summary = "Hent arbeidsliste for bruker", description = "Henter arbeidsliste for en gitt bruker.") public Arbeidsliste getArbeidsListe(@RequestBody ArbeidslisteForBrukerRequest arbeidslisteForBrukerRequest) { validerOppfolgingOgBruker(arbeidslisteForBrukerRequest.fnr().get()); @@ -75,8 +75,8 @@ public Arbeidsliste getArbeidsListe(@RequestBody ArbeidslisteForBrukerRequest ar return harVeilederTilgang ? arbeidsliste : emptyArbeidsliste().setHarVeilederTilgang(false); } - @Operation(summary = "Opprett arbeidsliste for bruker", description = "Opprett en ny arbeidsliste for en gitt bruker.") @PostMapping("/arbeidsliste") + @Operation(summary = "Opprett arbeidsliste for bruker", description = "Oppretter en ny arbeidsliste for en gitt bruker.") public Arbeidsliste opprettArbeidsListe(@RequestBody ArbeidslisteV2Request body) { validerOppfolgingOgBruker(body.fnr().get()); Fnr gyldigFnr = Fnr.ofValidFnr(body.fnr().get()); @@ -91,8 +91,8 @@ public Arbeidsliste opprettArbeidsListe(@RequestBody ArbeidslisteV2Request body) .setIsOppfolgendeVeileder(true); } - @Operation(summary = "Oppdater arbeidsliste", description = "Oppdater en arbeidsliste med nye felter for en gitt bruker.") @PutMapping("/arbeidsliste") + @Operation(summary = "Oppdater arbeidsliste", description = "Oppdaterer en arbeidsliste med nye felter for en gitt bruker.") public Arbeidsliste oppdaterArbeidsListe(@RequestBody ArbeidslisteV2Request body) { validerOppfolgingOgBruker(body.fnr().get()); Fnr fnr = Fnr.ofValidFnr(body.fnr().get()); @@ -118,8 +118,8 @@ public Arbeidsliste oppdaterArbeidsListe(@RequestBody ArbeidslisteV2Request body AuthUtils.getInnloggetVeilederIdent())); } - @Operation(summary = "Slett arbeidsliste", description = "Slett en arbeidsliste for en gitt bruker.") @DeleteMapping("/arbeidsliste") + @Operation(summary = "Slett arbeidsliste", description = "Sletter en arbeidsliste for en gitt bruker.") public Arbeidsliste deleteArbeidsliste( @RequestBody ArbeidslisteForBrukerRequest arbeidslisteForBrukerRequest, @RequestParam(value = "slettFargekategori", required = false, defaultValue = "true") Boolean slettFargekategori diff --git a/src/main/java/no/nav/pto/veilarbportefolje/controller/EnhetController.java b/src/main/java/no/nav/pto/veilarbportefolje/controller/EnhetController.java index 411f265c26..6122d47a8d 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/controller/EnhetController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/controller/EnhetController.java @@ -50,11 +50,8 @@ public class EnhetController { .maximumSize(1000) .build(); - @Operation( - summary = "Hent portefølje for enhet", - description = "Henter en liste med brukere under arbeidsrettet oppfølging knyttet til enheten." - ) @PostMapping("/{enhet}/portefolje") + @Operation(summary = "Hent portefølje for enhet", description = "Henter en liste med brukere under oppfølging knyttet til enheten.") public Portefolje hentPortefoljeForEnhet( @PathVariable("enhet") String enhet, @RequestParam(value = "fra", required = false) Integer fra, @@ -78,11 +75,8 @@ public Portefolje hentPortefoljeForEnhet( Optional.ofNullable(fra).orElse(0)); } - @Operation( - summary = "Hent porteføljestørrelser for enhet", - description = "Henter antall brukere i porteføljen for en gitt enhet." - ) @GetMapping("/{enhet}/portefoljestorrelser") + @Operation(summary = "Hent porteføljestørrelser for enhet", description = "Henter antall brukere i porteføljen til hver veileder på en gitt enhet.") public FacetResults hentPortefoljestorrelser(@PathVariable("enhet") String enhet) { ValideringsRegler.sjekkEnhet(enhet); authService.innloggetVeilederHarTilgangTilEnhet(enhet); @@ -90,11 +84,8 @@ public FacetResults hentPortefoljestorrelser(@PathVariable("enhet") String enhet return opensearchService.hentPortefoljestorrelser(enhet); } - @Operation( - summary = "Hent statustall for enhet portefølje", - description = "Henter statustall på enhetsnivå (statistikk for alle brukere under arbeidsrettet oppfølging tilknyttet enheten), delt opp i brukere som veileder som utfører forespørselen har innsynsrett på og brukere som veileder ikke har innsynsrett på." - ) @GetMapping("/{enhet}/portefolje/statustall") + @Operation(summary = "Hent statustall for enhetsportefølje", description = "Henter statustall på enhetsnivå (statistikk for alle brukere under oppfølging tilknyttet enheten), delt opp i brukere som veileder som utfører forespørselen har tilgang til og brukere som veileder ikke har tilgang til å se detaljer om.") public EnhetPortefoljeStatustallRespons hentEnhetPortefoljeStatustall(@PathVariable("enhet") String enhet) { ValideringsRegler.sjekkEnhet(enhet); authService.innloggetVeilederHarTilgangTilEnhet(enhet); @@ -105,11 +96,8 @@ public EnhetPortefoljeStatustallRespons hentEnhetPortefoljeStatustall(@PathVaria ); } - @Operation( - summary = "Hent tiltak for enhet", - description = "Henter alle tiltakstyper for enheten hvor minst en bruker er tilknyttet tiltaket." - ) @GetMapping("/{enhet}/tiltak") + @Operation(summary = "Hent tiltak for enhet", description = "Henter alle tiltakstyper for enheten hvor minst én bruker er tilknyttet tiltaket.") public EnhetTiltak hentTiltak(@PathVariable("enhet") String enhet) { ValideringsRegler.sjekkEnhet(enhet); authService.innloggetVeilederHarTilgangTilEnhet(enhet); @@ -117,11 +105,8 @@ public EnhetTiltak hentTiltak(@PathVariable("enhet") String enhet) { return tiltakService.hentEnhettiltak(EnhetId.of(enhet)); } - @Operation( - summary = "Hent fødeland for enhet", - description = "Henter en liste av fødeland for brukere på enheten. Listen inneholder kun land som er registrert på brukere på enheten." - ) @GetMapping("/{enhet}/foedeland") + @Operation(summary = "Hent fødeland for enhet", description = "Henter en liste av fødeland for brukere på enheten. Listen inneholder kun land som er registrert på brukere på enheten.") public List hentFoedeland( @PathVariable("enhet") String enhet) { @@ -132,11 +117,8 @@ public List hentFoedeland( () -> personOpprinnelseService.hentFoedeland(enhet)); } - @Operation( - summary = "Hent språk med tolkebehov for enhet", - description = "Henter en liste av språk for enheten hvor det er tolkebehov. Listen inneholder kun språk som er registrert på brukere på enheten." - ) @GetMapping("/{enhet}/tolkSpraak") + @Operation(summary = "Hent språk med tolkebehov for enhet", description = "Henter en liste av språk for enheten hvor det er tolkebehov. Listen inneholder kun språk som er registrert på brukere på enheten.") public List hentTolkSpraak( @PathVariable("enhet") String enhet) { @@ -148,11 +130,8 @@ public List hentTolkSpraak( } - @Operation( - summary = "Hent geografisk bosted for enhet", - description = "Henter en liste av geografiske bosteder (kommuner og bydeler) for enheten. Listen inneholder kun geografiske bosteder som er registrert på brukere på enheten." - ) @GetMapping("/{enhet}/geografiskbosted") + @Operation(summary = "Hent geografiske bosteder for enhet", description = "Henter en liste av geografiske bosteder (kommuner og bydeler) for enheten. Listen inneholder kun geografiske bosteder som er registrert på brukere på enheten.") public List hentGeografiskBosted( @PathVariable("enhet") String enhet) { diff --git a/src/main/java/no/nav/pto/veilarbportefolje/controller/Frontendlogger.java b/src/main/java/no/nav/pto/veilarbportefolje/controller/Frontendlogger.java index 409fe5d6bf..599f141372 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/controller/Frontendlogger.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/controller/Frontendlogger.java @@ -26,8 +26,8 @@ public class Frontendlogger { private final MetricsClient metricsClient; - @Operation(summary = "Skriv event til influx", description = "Registrer en frontend-hendelse og send til InfluxDB.") @PostMapping("/event") + @Operation(summary = "Skriv event til Influx", description = "Registrerer en frontend-hendelse og sender til InfluxDB.") public void skrivEventTilInflux(@RequestBody FrontendEvent event) { Event toInflux = new Event(event.name + ".event"); if (event.getTags() != null) { diff --git a/src/main/java/no/nav/pto/veilarbportefolje/controller/VeilederController.java b/src/main/java/no/nav/pto/veilarbportefolje/controller/VeilederController.java index 6e120203a4..bf96bb87e6 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/controller/VeilederController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/controller/VeilederController.java @@ -31,11 +31,8 @@ public class VeilederController { private final ArbeidslisteService arbeidslisteService; private final AktivitetService aktivitetService; - @Operation( - summary = "Hent portefølje for veileder", - description = "Henter en liste med brukere under arbeidsrettet oppfølging som er tilordnet veilederen." - ) @PostMapping("/{veilederident}/portefolje") + @Operation(summary = "Hent portefølje for veileder", description = "Henter en liste med brukere under oppfølging som er tilordnet veilederen.") public Portefolje hentPortefoljeForVeileder( @PathVariable("veilederident") String veilederIdent, @RequestParam("enhet") String enhet, @@ -61,11 +58,8 @@ public Portefolje hentPortefoljeForVeileder( Optional.ofNullable(fra).orElse(0)); } - @Operation( - summary = "Hent status tall for veilederportefølje", - description = "Henter statustall på veileder (statistikk for alle brukere under arbeidsrettet oppfølging tilordnet veilederen)." - ) @GetMapping("/{veilederident}/portefolje/statustall") + @Operation(summary = "Hent statustall for veilederportefølje", description = "Henter statustall på veileder (statistikk for alle brukere under oppfølging tilordnet veilederen).") public VeilederPortefoljeStatustallRespons hentVeilederportefoljeStatustall(@PathVariable("veilederident") String veilederIdent, @RequestParam("enhet") String enhet) { ValideringsRegler.sjekkEnhet(enhet); ValideringsRegler.sjekkVeilederIdent(veilederIdent, false); @@ -76,11 +70,8 @@ public VeilederPortefoljeStatustallRespons hentVeilederportefoljeStatustall(@Pat ); } - @Operation( - summary = "Hent arbeidsliste for veileder", - description = "Henter en liste av arbeidslister for en gitt veileder på en gitt enhet." - ) @GetMapping("/{veilederident}/hentArbeidslisteForVeileder") + @Operation(summary = "Hent arbeidslister for veileder", description = "Henter en liste av arbeidslister for en gitt veileder på en gitt enhet.") public List hentArbeidslisteForVeileder(@PathVariable("veilederident") VeilederId veilederIdent, @RequestParam("enhet") EnhetId enhet) { ValideringsRegler.sjekkEnhet(enhet.get()); ValideringsRegler.sjekkVeilederIdent(veilederIdent.getValue(), false); @@ -89,11 +80,8 @@ public List hentArbeidslisteForVeileder(@PathVariable("veilederide return arbeidslisteService.getArbeidslisteForVeilederPaEnhet(enhet, veilederIdent); } - @Operation( - summary = "Hent møteplan for veileder", - description = "Henter en liste av møteplaner for en gitt veileder på en gitt enhet." - ) @GetMapping("{veilederident}/moteplan") + @Operation(summary = "Hent møteplan for veileder", description = "Henter en liste av fremtidige møter for en gitt veileder på en gitt enhet.") public List hentMoteplanForVeileder(@PathVariable("veilederident") VeilederId veilederIdent, @RequestParam("enhet") EnhetId enhet) { ValideringsRegler.sjekkEnhet(enhet.get()); ValideringsRegler.sjekkVeilederIdent(veilederIdent.getValue(), false); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/fargekategori/FargekategoriController.java b/src/main/java/no/nav/pto/veilarbportefolje/fargekategori/FargekategoriController.java index 2109d59e1a..3cfe919589 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/fargekategori/FargekategoriController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/fargekategori/FargekategoriController.java @@ -37,8 +37,8 @@ public class FargekategoriController { private final AuthService authService; private final BrukerServiceV2 brukerServiceV2; - @Operation(summary = "Hent fargekategori for bruker", description = "Hent fargekategorien en gitt bruker er merket med.") @PostMapping("/hent-fargekategori") + @Operation(summary = "Hent fargekategori for bruker", description = "Henter fargekategorien en gitt bruker er merket med.") public ResponseEntity hentFargekategoriForBruker(@RequestBody HentFargekategoriRequest request) { validerRequest(request.fnr); @@ -62,8 +62,8 @@ public ResponseEntity hentFargekategoriForBruker(@RequestBo } } - @Operation(summary = "Sett fargekategori for bruker(e)", description = "Sett en fargekategori for en eller flere brukere i samme operasjon.") @PutMapping("/fargekategorier") + @Operation(summary = "Sett fargekategori for bruker(e)", description = "Setter en fargekategori for en eller flere brukere i samme operasjon.") public ResponseEntity batchoppdaterFargekategoriForBruker(@RequestBody BatchoppdaterFargekategoriRequest request) { VeilederId innloggetVeileder = AuthUtils.getInnloggetVeilederIdent(); authService.innloggetVeilederHarTilgangTilOppfolging(); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/huskelapp/controller/HuskelappController.java b/src/main/java/no/nav/pto/veilarbportefolje/huskelapp/controller/HuskelappController.java index ed3908e553..cd4e4cd903 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/huskelapp/controller/HuskelappController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/huskelapp/controller/HuskelappController.java @@ -43,7 +43,7 @@ public class HuskelappController { private final VeilarbVeilederClient veilarbVeilederClient; @PostMapping("/huskelapp") - @Operation(summary = "Opprett huskelapp", description = "Opprett en huskelapp for en gitt bruker på en gitt enhet") + @Operation(summary = "Opprett huskelapp", description = "Oppretter en huskelapp for en gitt bruker på en gitt enhet.") public ResponseEntity opprettHuskelapp(@RequestBody HuskelappOpprettRequest huskelappOpprettRequest) { validerOppfolgingOgBrukerOgEnhet(huskelappOpprettRequest.brukerFnr().get()); try { @@ -66,7 +66,7 @@ public ResponseEntity opprettHuskelapp(@RequestBody Hu } @PutMapping("/huskelapp") - @Operation(summary = "Oppdater huskelapp", description = "Oppdater en huskelapp med nye felter") + @Operation(summary = "Oppdater huskelapp", description = "Oppdaterer huskelappen for en gitt bruker med nye felter.") public ResponseEntity redigerHuskelapp(@RequestBody HuskelappRedigerRequest huskelappRedigerRequest) { validerOppfolgingOgBrukerOgEnhet(huskelappRedigerRequest.brukerFnr().get()); try { @@ -91,7 +91,7 @@ public ResponseEntity redigerHuskelapp(@RequestBody HuskelappRedigerRequest husk } @PostMapping("/hent-huskelapp-for-bruker") - @Operation(summary = "Hent huskelapp for bruker", description = "Hent aktiv huskelapp for en gitt bruker") + @Operation(summary = "Hent huskelapp for bruker", description = "Henter aktiv huskelapp for en gitt bruker.") public ResponseEntity hentHuskelapp(@RequestBody HuskelappForBrukerRequest huskelappForBrukerRequest) { validerOppfolgingOgBrukerOgEnhet(huskelappForBrukerRequest.fnr().get()); try { @@ -103,7 +103,7 @@ public ResponseEntity hentHuskelapp(@RequestBody HuskelappFor } @DeleteMapping("/huskelapp") - @Operation(summary = "Slett huskelapp", description = "Slett en huskelapp") + @Operation(summary = "Slett huskelapp", description = "Setter huskelapp som inaktiv i databasen og sletter den fra søkemotoren (OpenSearch).") public ResponseEntity slettHuskelapp(@RequestBody HuskelappSlettRequest huskelappSlettRequest) { Optional huskelappOptional = huskelappService.hentHuskelapp(UUID.fromString(huskelappSlettRequest.huskelappId())); @@ -131,6 +131,7 @@ public Boolean harBrukerenTildeltVeileder(Fnr fnr) { } @PostMapping("/hent-er-bruker-ufordelt") + @Operation(summary = "Hent om bruker er ufordelt", description = "Sjekker om bruker er ufordelt og returnerer true hvis bruker er ufordelt.") public ResponseEntity hentErBrukerUfordelt(@RequestBody HentErBrukerUfordelt request) { Optional navKontor = brukerServiceV2.hentNavKontor(request.fnr); if (navKontor.isEmpty()) { diff --git a/src/main/java/no/nav/pto/veilarbportefolje/internal/InternalController.java b/src/main/java/no/nav/pto/veilarbportefolje/internal/InternalController.java index ace21aeada..b8b50bbcb7 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/internal/InternalController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/internal/InternalController.java @@ -20,22 +20,22 @@ @RestController @RequiredArgsConstructor @RequestMapping("/internal") -@Tag(name = "Internal", description = "Intern funksjonalitet. Benyttes hovedsaklig av kjøretidsplattformen.") +@Tag(name = "Internal", description = "Intern funksjonalitet. Benyttes hovedsakelig av kjøretidsplattformen.") public class InternalController { private final SelfTestChecks selfTestChecks; - @Operation(summary = "Applikasjon klar for trafikk", description = "Sjekk om applikasjonen er klar til å motta trafikk.") @GetMapping("/isReady") + @Operation(summary = "Applikasjon klar for trafikk", description = "Sjekker om applikasjonen er klar til å motta trafikk.") public void isReady() { } - @Operation(summary = "Applikasjon kjører", description = "Sjekk om applikasjonen kjører.") @GetMapping("/isAlive") + @Operation(summary = "Applikasjon kjører", description = "Sjekker om applikasjonen kjører.") public void isAlive() { } - @Operation(summary = "Sjekk applikasjonens helsesjekker", description = "Utfør helsesjekk for tjenester applikasjonen er avhengig av og generer rapport.") @GetMapping("/selftest") + @Operation(summary = "Sjekk applikasjonens helsesjekker", description = "Utfører helsesjekk for tjenester som applikasjonen er avhengig av og generer rapport.") public ResponseEntity selftest() { List results = checkAllParallel(selfTestChecks.getSelfTestChecks()); String html = SelftestHtmlGenerator.generate(results); From 170088261efbadbfbdc0e15e65b63ad0889af3d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathias=20S=2E=20M=C3=BCller?= Date: Fri, 5 Jul 2024 16:51:47 +0200 Subject: [PATCH 8/8] =?UTF-8?q?Legg=20p=C3=A5=20javadoc=20deprecated-tags?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../arbeidsliste/v1/ArbeidsListeController.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v1/ArbeidsListeController.java b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v1/ArbeidsListeController.java index b2759cc295..17d5f61287 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v1/ArbeidsListeController.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/v1/ArbeidsListeController.java @@ -79,6 +79,9 @@ public ResponseEntity opprettArbeidsListe(@RequestBody List return response.data.isEmpty() ? response.badRequest() : response.created(); } + /** + * @deprecated Skal fjernes høsten 2024 når arbeidslistene slettes. + */ @GetMapping("{fnr}") @Deprecated(forRemoval = true) @Operation(summary = "Hent arbeidsliste", description = "Henter arbeidsliste for en gitt bruker.") @@ -103,6 +106,9 @@ public Arbeidsliste getArbeidsListe(@PathVariable("fnr") String fnrString) { return harVeilederTilgang ? arbeidsliste : emptyArbeidsliste().setHarVeilederTilgang(false); } + /** + * @deprecated Skal fjernes høsten 2024 når arbeidslistene slettes. + */ @PostMapping("{fnr}") @Deprecated(forRemoval = true) @Operation(summary = "Opprett arbeidsliste", description = "Oppretter en arbeidsliste for en gitt bruker.") @@ -119,6 +125,9 @@ public Arbeidsliste opprettArbeidsListe(@RequestBody ArbeidslisteRequest body, @ .setIsOppfolgendeVeileder(true); } + /** + * @deprecated Skal fjernes høsten 2024 når arbeidslistene slettes. + */ @PutMapping("{fnr}") @Deprecated(forRemoval = true) @Operation(summary = "Oppdater arbeidsliste", description = "Oppdaterer en arbeidsliste med nye felter for en gitt bruker.") @@ -147,6 +156,9 @@ public Arbeidsliste oppdaterArbeidsListe(@RequestBody ArbeidslisteRequest body, AuthUtils.getInnloggetVeilederIdent())); } + /** + * @deprecated Skal fjernes høsten 2024 når arbeidslistene slettes. + */ @DeleteMapping("{fnr}") @Deprecated(forRemoval = true) @Operation(summary = "Slett arbeidsliste", description = "Sletter en arbeidsliste for en gitt bruker.")