From 09d1acb437652cf22ac55faa9b601ff6f626b549 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristen=20H=C3=A6rum?= Date: Mon, 3 Mar 2025 12:41:40 +0100 Subject: [PATCH] Feature/slette a-melding (#3782) --- .github/workflows/app.amelding-service.yml | 25 - .../workflows/app.arbeidsforhold-service.yml | 25 - ...erer-arbeidsforhold-populasjon-service.yml | 24 - ...enerer-organisasjon-populasjon-service.yml | 29 - .../app.generer-synt-amelding-service.yml | 24 - .../workflows/app.joark-dokument-service.yml | 1 - .../app.oppsummeringsdokument-service.yml | 24 - .../workflows/app.synt-sykemelding-api.yml | 26 - .../app.synt-vedtakshistorikk-service.yml | 1 - .github/workflows/lib.domain.yml | 15 - .../proxy.aareg-synt-services-proxy.yml | 22 - apps/amelding-service/Dockerfile | 8 - apps/amelding-service/README.md | 6 - apps/amelding-service/build.gradle | 27 - apps/amelding-service/config.yml | 61 -- .../gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - apps/amelding-service/gradlew | 234 ----- apps/amelding-service/gradlew.bat | 89 -- apps/amelding-service/gradlewUpdate.sh | 3 - apps/amelding-service/settings.gradle | 22 - .../AMeldingServiceApplicationStarter.java | 25 - .../ameldingservice/config/Consumers.java | 29 - .../ameldingservice/config/OpenApiConfig.java | 48 - .../config/SecurityConfig.java | 38 - .../OppsummeringsdokumentConsumer.java | 89 -- .../controller/AMeldingController.java | 49 - .../ameldingservice/domain/AMelding.java | 290 ------ .../filter/SwaggerWebFilter.java | 23 - .../service/AMeldingService.java | 35 - .../src/main/resources/application-local.yml | 7 - .../src/main/resources/application.yml | 20 - .../src/main/resources/logback-spring.xml | 40 - .../ApplicationContextTest.java | 8 - .../src/test/resources/application-test.yml | 0 apps/arbeidsforhold-service/Dockerfile | 8 - apps/arbeidsforhold-service/README.md | 6 - apps/arbeidsforhold-service/build.gradle | 34 - apps/arbeidsforhold-service/config.yml | 66 -- .../gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - apps/arbeidsforhold-service/gradlew | 234 ----- apps/arbeidsforhold-service/gradlew.bat | 89 -- apps/arbeidsforhold-service/gradlewUpdate.sh | 3 - apps/arbeidsforhold-service/settings.gradle | 22 - .../ArbeidsforholdApiApplicationStarter.java | 17 - .../config/ApplicationConfig.java | 11 - .../config/Consumers.java | 29 - .../config/OpenApiConfig.java | 56 -- .../config/SecurityConfig.java | 26 - .../consumer/AaregConsumer.java | 81 -- .../GetArbeidstakerArbeidsforholdCommand.java | 74 -- .../consumer/dto/AnsettelsesperiodeDTO.java | 15 - .../dto/AntallTimerForTimeloennetDTO.java | 17 - .../consumer/dto/ArbeidsavtaleDTO.java | 25 - .../consumer/dto/ArbeidsforholdDTO.java | 26 - .../dto/ArbeidsforholdoversiktDTO.java | 14 - .../consumer/dto/ArbeidsgiverDTO.java | 16 - .../consumer/dto/ArbeidstakerDTO.java | 15 - .../consumer/dto/PeriodeDTO.java | 17 - .../dto/PermisjonPermitteringDTO.java | 17 - .../consumer/dto/UtenlandsoppholdDTO.java | 16 - .../arbeidsforholdservice/domain/Aktoer.java | 7 - .../domain/Ansettelsesperiode.java | 20 - .../domain/AntallTimerForTimeloennet.java | 15 - .../domain/Arbeidsavtale.java | 29 - .../domain/Arbeidsforhold.java | 85 -- .../domain/Arbeidsgiver.java | 25 - .../domain/Arbeidstaker.java | 19 - .../arbeidsforholdservice/domain/Fartoy.java | 20 - .../arbeidsforholdservice/domain/Periode.java | 19 - .../domain/Permisjon.java | 22 - .../domain/Utenlandsopphold.java | 20 - .../ArbeidsforholdNotFoundException.java | 8 - .../SikkerhetsTokenExpiredException.java | 8 - .../provider/v1/ArbeidsforholdController.java | 35 - .../provider/v2/ArbeidstakerController.java | 40 - .../v2/dto/AnsettelsesperiodeDTO.java | 17 - .../v2/dto/AntallTimerForTimeloennetDTO.java | 17 - .../provider/v2/dto/ArbeidsavtaleDTO.java | 27 - .../provider/v2/dto/ArbeidsforholdDTO.java | 34 - .../provider/v2/dto/ArbeidsgiverDTO.java | 18 - .../provider/v2/dto/ArbeidstakerDTO.java | 18 - .../provider/v2/dto/FartoyDTO.java | 17 - .../provider/v2/dto/PeriodeDTO.java | 18 - .../v2/dto/PermisjonPermitteringDTO.java | 18 - .../provider/v2/dto/UtenlandsoppholdDTO.java | 17 - .../service/ArbeidsforholdService.java | 35 - .../src/main/resources/application-local.yml | 3 - .../src/main/resources/application.yml | 22 - .../src/main/resources/logback-spring.xml | 40 - .../ApplicationContextTest.java | 8 - .../src/test/resources/application-test.yml | 0 apps/dolly-backend/config.test.yml | 2 - apps/dolly-backend/config.yml | 2 - .../dolly/bestilling/aareg/AaregClient.java | 21 +- .../aareg/amelding/AmeldingConsumer.java | 80 -- .../aareg/amelding/AmeldingService.java | 73 -- .../amelding/OrganisasjonServiceConsumer.java | 40 - .../amelding/domain/AmeldingTransaksjon.java | 18 - .../aareg/amelding/domain/Virksomhet.java | 30 - .../AmeldingRequestMappingStrategy.java | 209 ---- .../aareg/command/AmeldingPutCommand.java | 54 - .../java/no/nav/dolly/config/Consumers.java | 1 - .../dolly/domain/resultset/aareg/RsAareg.java | 11 - .../resultset/aareg/RsAmeldingRequest.java | 20 - .../aareg/RsArbeidsforholdAareg.java | 82 -- .../resultset/aareg/RsPeriodeAmelding.java | 47 - .../domain/resultset/aareg/RsPersonAareg.java | 22 - .../src/main/resources/application-local.yml | 4 - .../src/main/resources/application.yml | 10 - .../AmeldingRequestMappingStrategyTest.java | 183 ---- apps/dolly-frontend/config.idporten.yml | 2 - apps/dolly-frontend/config.test.yml | 2 - apps/dolly-frontend/config.unstable.yml | 1 - apps/dolly-frontend/config.yml | 3 - ...=> OpenSearchResponseMappingStrategy.java} | 2 +- .../Dockerfile | 8 - .../README.md | 6 - .../build.gradle | 27 - .../config.yml | 63 -- .../gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../gradlew | 234 ----- .../gradlew.bat | 89 -- .../gradlewUpdate.sh | 3 - .../settings.gradle | 21 - ...ldPopulasjonServiceApplicationStarter.java | 15 - .../adapter/IdentAdapter.java | 7 - .../config/ApplicationConfig.java | 25 - .../config/Consumers.java | 31 - .../config/OpenApiConfig.java | 55 - .../config/SecurityConfig.java | 39 - ...GenererOrganisasjonPopulasjonConsumer.java | 39 - .../OppsummeringsdokumentConsumer.java | 125 --- .../consumer/OrganisasjonConsumer.java | 47 - .../consumer/SyntArbeidsforholdConsumer.java | 61 -- ...GenererArbeidsforholdHistorikkCommand.java | 55 - .../GenererStartArbeidsforholdCommand.java | 52 - ...GetOpplysningspliktigOrgnummerCommand.java | 37 - .../GetOppsummeringsdokumentCommand.java | 45 - .../command/GetOrganisasjonCommand.java | 42 - .../SaveOppsummeringsdokumenterCommand.java | 68 -- .../GenererArbeidsforholdController.java | 27 - .../domain/Id.java | 5 - .../domain/OppsummeringsdokumentTimeline.java | 16 - .../domain/Organisajon.java | 38 - .../domain/PermisjonCount.java | 51 - .../domain/Person.java | 44 - .../domain/Timeline.java | 99 -- .../domain/TimelineEntries.java | 22 - .../domain/amelding/Arbeidsforhold.java | 142 --- .../domain/amelding/Avvik.java | 43 - .../domain/amelding/Fartoey.java | 41 - .../domain/amelding/Generated.java | 49 - .../domain/amelding/Inntekt.java | 61 -- .../domain/amelding/Opplysningspliktig.java | 12 - .../amelding/Oppsummeringsdokument.java | 101 -- .../domain/amelding/Permisjon.java | 65 -- .../ArbeidsforholdHistorikkService.java | 63 -- .../service/ArbeidsforholdSerivce.java | 48 - .../service/IdentService.java | 34 - .../service/OppsummeringsdokumentService.java | 71 -- .../service/OrganisasjonService.java | 47 - .../service/OrkestratorService.java | 19 - .../PersonArbeidsforholdHistorkkService.java | 204 ---- .../src/main/resources/application-local.yml | 11 - .../src/main/resources/application.yml | 37 - .../src/main/resources/logback-spring.xml | 39 - .../ApplicationContextTest.java | 9 - .../src/test/resources/application-test.yml | 0 apps/generer-navn-service/config.yml | 2 - .../Dockerfile | 8 - .../README.md | 6 - .../build.gradle | 41 - .../config.yml | 71 -- .../gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../gradlew | 234 ----- .../gradlew.bat | 89 -- .../gradlewUpdate.sh | 3 - .../settings.gradle | 25 - ...onPopulasjonServiceApplicationStarter.java | 16 - .../config/ApplicationConfig.java | 29 - .../config/Consumers.java | 30 - .../config/KafkaProducerConfig.java | 11 - .../config/OpenApiConfig.java | 55 - .../config/SecurityConfig.java | 26 - .../consumer/GenererNavnConsumer.java | 35 - .../consumer/OrgnummerConsumer.java | 34 - .../consumer/command/GetOrgnummerCommand.java | 37 - .../OpplysningspliktigController.java | 45 - .../domain/Organisasjon.java | 63 -- .../OpplysningspliktigRepository.java | 15 - .../model/OpplysningspliktigModel.java | 39 - .../GenererOpplysningspliktigService.java | 75 -- .../service/OpplysningspliktigService.java | 55 - .../src/main/resources/application-local.yml | 24 - .../src/main/resources/application-prod.yml | 15 - .../src/main/resources/application.yml | 30 - .../db/migration/V1__initial_database.sql | 6 - .../src/main/resources/logback-spring.xml | 39 - .../ApplicationContextTest.java | 8 - .../src/test/resources/application-test.yml | 1 - apps/generer-synt-amelding-service/Dockerfile | 8 - apps/generer-synt-amelding-service/README.md | 6 - .../build.gradle | 27 - apps/generer-synt-amelding-service/config.yml | 61 -- .../gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - apps/generer-synt-amelding-service/gradlew | 234 ----- .../generer-synt-amelding-service/gradlew.bat | 89 -- .../gradlewUpdate.sh | 3 - .../settings.gradle | 21 - ...GenererSyntAmeldingApplicationStarter.java | 16 - .../config/ApplicationConfig.java | 12 - .../config/Consumers.java | 29 - .../config/OpenApiConfig.java | 54 - .../config/SecurityConfig.java | 27 - .../consumer/SyntAmeldingConsumer.java | 55 - .../PostHentArbeidsforholdCommand.java | 46 - .../command/PostHentHistorikkCommand.java | 46 - .../domain/ArbeidsforholdType.java | 14 - .../provider/SyntController.java | 41 - .../provider/response/ArbeidsforholdDTO.java | 49 - .../service/SyntAmeldingService.java | 65 -- .../util/WebClientFilter.java | 28 - .../src/main/resources/application-local.yml | 3 - .../src/main/resources/application.yml | 24 - .../src/main/resources/logback-spring.xml | 40 - .../ResourceUtils.java | 18 - .../consumer/SyntAmeldingConsumerTest.java | 84 -- .../service/SyntAmeldingServiceTest.java | 94 -- .../src/test/resources/application-test.yml | 6 - .../resources/files/synt_arbeidsforhold.json | 14 - .../test/resources/files/synt_historikk.json | 110 -- ...ktsmeldingGeneratorApplicationStarter.java | 2 +- apps/joark-dokument-service/build.gradle | 1 - apps/joark-dokument-service/settings.gradle | 1 - apps/oppsummeringsdokument-service/Dockerfile | 8 - apps/oppsummeringsdokument-service/README.md | 29 - .../build.gradle | 39 - apps/oppsummeringsdokument-service/config.yml | 70 -- .../docker-compose.yml | 11 - .../gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - apps/oppsummeringsdokument-service/gradlew | 234 ----- .../oppsummeringsdokument-service/gradlew.bat | 89 -- .../gradlewUpdate.sh | 3 - .../settings.gradle | 21 - ...ingsdokumentServiceApplicationStarter.java | 18 - .../config/ApplicationConfig.java | 15 - .../config/Consumers.java | 29 - .../config/JsonMapperConfig.java | 135 --- .../config/OpenApiConfig.java | 56 -- .../config/OpenSearchConfig.java | 39 - .../config/OpenSearchLocalConfig.java | 33 - .../config/SecurityConfig.java | 26 - .../credentials/ElasticSearchCredentials.java | 17 - .../consumer/AaregSyntConsumer.java | 51 - .../SaveOpplysningspliktigCommand.java | 47 - .../OppsummeringsdokumentController.java | 119 --- .../OppsummeringsdokumentetRawController.java | 68 -- .../domain/Oppsummeringsdokument.java | 431 -------- .../domain/QueryRequest.java | 25 - .../domain/QueryResponse.java | 19 - .../OppsummeringsdokumentRepository.java | 9 - .../repository/model/ArbeidsforholdModel.java | 35 - .../repository/model/AvvikModel.java | 12 - .../repository/model/FartoeyModel.java | 12 - .../repository/model/InntektModel.java | 23 - .../model/OppsummeringsdokumentModel.java | 54 - .../repository/model/PermisjonModel.java | 24 - .../repository/model/PersonModel.java | 16 - .../repository/model/VirksomhetModel.java | 16 - .../service/OppsummeringsdokumentService.java | 183 ---- .../service/SearchQueryUtility.java | 47 - .../util/WebClientFilter.java | 14 - .../src/main/resources/application-local.yml | 8 - .../src/main/resources/application-prod.yml | 11 - .../src/main/resources/application.yml | 19 - .../src/main/resources/logback-spring.xml | 39 - apps/organisasjon-service/config.yml | 3 - apps/synt-sykemelding-api/Dockerfile | 6 - apps/synt-sykemelding-api/README.md | 13 - apps/synt-sykemelding-api/build.gradle | 27 - apps/synt-sykemelding-api/config.test.yml | 73 -- apps/synt-sykemelding-api/config.yml | 71 -- .../gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - apps/synt-sykemelding-api/gradlew | 234 ----- apps/synt-sykemelding-api/gradlew.bat | 89 -- apps/synt-sykemelding-api/gradlewUpdate.sh | 3 - apps/synt-sykemelding-api/settings.gradle | 21 - .../SyntSykemeldingApiApplicationStarter.java | 16 - .../adapter/ArbeidsforholdAdapter.java | 23 - .../syntsykemeldingapi/config/AppConfig.java | 11 - .../syntsykemeldingapi/config/Consumers.java | 34 - .../config/OpenApiConfig.java | 69 -- .../config/SecurityConfig.java | 28 - .../consumer/ArbeidsforholdConsumer.java | 47 - .../consumer/HelsepersonellConsumer.java | 51 - .../consumer/OrganisasjonConsumer.java | 36 - .../consumer/PdlProxyConsumer.java | 84 -- .../consumer/SykemeldingConsumer.java | 40 - .../consumer/SyntElsamConsumer.java | 63 -- .../command/GetArbeidsforholdCommand.java | 47 - .../command/GetHelsepersonellCommand.java | 33 - .../command/GetOrganisasjonCommand.java | 45 - .../consumer/command/GetPdlPersonCommand.java | 52 - .../command/PostSykemeldingCommand.java | 41 - .../command/PostSyntSykemeldingCommand.java | 46 - .../consumer/dto/SyntDiagnoserDTO.java | 20 - .../consumer/dto/SyntSykemeldingDTO.java | 25 - .../dto/SyntSykemeldingHistorikkDTO.java | 17 - .../consumer/request/GraphQLRequest.java | 9 - .../domain/Arbeidsforhold.java | 30 - .../domain/Helsepersonell.java | 28 - .../domain/HelsepersonellListe.java | 31 - .../syntsykemeldingapi/domain/Person.java | 55 - .../domain/Sykemelding.java | 141 --- .../domain/pdl/Metadata.java | 12 - .../domain/pdl/PdlPerson.java | 155 --- .../domain/pdl/WithMetadata.java | 5 - .../provider/SyntSykemeldingController.java | 25 - .../service/SykemeldingService.java | 50 - .../syntsykemeldingapi/util/FilLaster.java | 22 - .../apps/syntsykemeldingapi/util/Headers.java | 12 - .../syntsykemeldingapi/util/IdentUtil.java | 65 -- .../src/main/resources/application-dev.yml | 12 - .../src/main/resources/application-local.yml | 16 - .../src/main/resources/application-prod.yml | 7 - .../src/main/resources/application.yml | 48 - .../src/main/resources/logback-spring.xml | 40 - .../resources/pdlperson/graphql.config.yml | 8 - .../pdlperson/pdl-api-schema.graphql | 949 ------------------ .../main/resources/pdlperson/pdlquery.graphql | 118 --- .../consumer/ArbeidsforholdConsumerTest.java | 68 -- .../consumer/HelsepersonellConsumerTest.java | 67 -- .../consumer/OrganisasjonConsumerTest.java | 65 -- .../consumer/PdlProxyConsumerTest.java | 72 -- .../consumer/SykemeldingConsumerTest.java | 121 --- .../consumer/SyntElsamConsumerTest.java | 68 -- ...tSykemeldingControllerIntegrationTest.java | 124 --- .../syntsykemeldingapi/util/TestUtil.java | 104 -- .../src/test/resources/application-test.yml | 35 - .../build.gradle | 1 - .../settings.gradle | 1 - .../consumer/ArenaForvalterConsumer.java | 8 +- .../SyntVedtakshistorikkConsumer.java | 2 +- .../command/arena/GetArenaBrukereCommand.java | 2 +- .../command/arena/PostArenaBrukerCommand.java | 4 +- .../command/arena/PostFinnTiltakCommand.java | 2 +- .../command/arena/PostRettighetCommand.java | 2 +- .../synt/HentVedtakshistorikkCommand.java | 2 +- .../arena/EndreInnsatsbehovRequest.java | 2 +- .../request/arena/FinnTiltakRequest.java | 2 +- .../rettighet/RettighetAap115Request.java | 6 +- .../arena/rettighet/RettighetAapRequest.java | 6 +- .../RettighetEndreDeltakerstatusRequest.java | 6 +- .../RettighetFritakMeldekortRequest.java | 6 +- .../arena/rettighet/RettighetRequest.java | 6 +- .../rettighet/RettighetTilleggRequest.java | 6 +- .../RettighetTilleggsytelseRequest.java | 6 +- .../RettighetTiltaksaktivitetRequest.java | 6 +- .../RettighetTiltaksdeltakelseRequest.java | 6 +- .../RettighetTiltakspengerRequest.java | 6 +- .../RettighetTvungenForvaltningRequest.java | 6 +- .../rettighet/RettighetUngUfoerRequest.java | 6 +- .../arena/EndreInnsatsbehovResponse.java | 10 +- .../provider/BrukerController.java | 2 +- .../provider/VedtakshistorikkController.java | 3 +- .../service/ArenaAapService.java | 4 +- .../service/ArenaForvalterService.java | 13 +- .../service/ArenaTilleggService.java | 17 +- .../service/ArenaTiltakService.java | 14 +- .../service/VedtakshistorikkService.java | 6 +- .../service/util/ArenaBrukerUtils.java | 4 +- .../service/util/DatoUtils.java | 12 +- .../service/util/RequestUtils.java | 16 +- .../service/util/VedtakUtils.java | 10 +- .../consumer/ArenaForvalterConsumerTest.java | 10 +- .../provider/BrukerControllerTest.java | 4 +- .../service/ArenaAapServiceTest.java | 6 +- .../service/ArenaTilleggServiceTest.java | 10 +- .../service/ArenaTiltakServiceTest.java | 8 +- .../service/util/DatoUtilsTest.java | 2 +- .../service/util/RequestUtilsTest.java | 4 +- .../GetOppsummeringsdokumentByIdCommand.java | 45 - .../GetOppsummeringsdokumentCommand.java | 48 - ...OppsummeringsdokumenterByIdentCommand.java | 51 - .../GetOppsummeringsdokumenterCommand.java | 51 - .../SaveOppsummeringsdokumenterCommand.java | 69 -- .../aareg/v1/ArbeidsgiverArbeidsforhold.java | 27 - .../ArbeidsgiverArbeidsforholdoversikter.java | 32 - .../dto/aareg/v1/Arbeidsgiveroversikt.java | 25 - .../dto/ameldingservice/v1/AMeldingDTO.java | 23 - .../ameldingservice/v1/ArbeidsforholdDTO.java | 52 - .../libs/dto/ameldingservice/v1/AvvikDTO.java | 18 - .../dto/ameldingservice/v1/FartoeyDTO.java | 16 - .../dto/ameldingservice/v1/InntektDTO.java | 29 - .../dto/ameldingservice/v1/PermisjonDTO.java | 40 - .../dto/ameldingservice/v1/PersonDTO.java | 20 - .../dto/ameldingservice/v1/VirksomhetDTO.java | 20 - .../aap/gensaksopplysninger/GensakKoder.java | 2 +- .../gensaksopplysninger/GensakOvKoder.java | 6 + .../gensaksopplysninger/Saksopplysning.java | 2 +- .../aap/institusjonsopphold/InstKoder.java | 2 +- .../aap/institusjonsopphold/InstOvKoder.java | 5 + .../Institusjonsopphold.java | 2 +- .../MedisinskOpplysning.java | 2 +- .../medlemfolketrygden/FolketrygdenKoder.java | 5 + .../MedlemFolketrygden.java | 2 +- .../arena/testnorge/aap/periode/Periode.java | 2 +- .../arena/testnorge/brukere/Arbeidsoeker.java | 2 +- .../testnorge/brukere/Deltakerstatuser.java | 2 +- .../brukere/Kvalifiseringsgrupper.java | 2 +- .../dto/arena/testnorge/brukere/NyBruker.java | 2 +- .../arena/testnorge/brukere/NyBrukerFeil.java | 2 +- .../brukere/NyEndreInnsatsbehov.java | 2 +- .../brukere/NyEndreInnsatsbehovFeil.java | 2 +- .../testnorge/brukere/UtenServicebehov.java | 2 +- .../testnorge/historikk/Vedtakshistorikk.java | 11 +- .../tilleggsstoenad/Vedtaksperiode.java | 2 +- .../tilleggsstoenad/boutgift/Boutgift.java | 2 +- .../boutgift/BoutgiftKoder.java | 2 +- .../boutgift/BoutgiftOvKoder.java | 6 + .../dagligreise/DagligReise.java | 2 +- .../dagligreise/DagligReiseKoder.java | 2 +- .../dagligreise/DagligReiseOvKoder.java | 5 + .../tilleggsstoenad/flytting/FlytteKoder.java | 2 +- .../flytting/FlytteOvKoder.java | 5 + .../tilleggsstoenad/flytting/Flytting.java | 2 +- .../tilleggsstoenad/hjemreise/Hjemreise.java | 4 +- .../hjemreise/HjemreiseKoder.java | 2 +- .../hjemreise/HjemreiseOvKoder.java | 5 + .../laeremidler/Laeremiddel.java | 2 +- .../laeremidler/LaeremiddelKoder.java | 2 +- .../laeremidler/LaeremiddelOvKoder.java | 5 + .../ObligatoriskSamlingKoder.java | 2 +- .../ObligatoriskSamlingOvKoder.java | 6 + .../ReiseObligatoriskSamling.java | 2 +- .../ReisestoenadArbeidssoeker.java | 2 +- .../ReisestoenadArbeidssoekerKoder.java | 2 +- .../ReisestoenadArbeidssoekerOvKoder.java | 6 + .../tilleggsstoenad/tilsyn/Barn.java | 2 +- .../tilleggsstoenad/tilsyn/BarnKoder.java | 2 +- .../tilleggsstoenad/tilsyn/BarnOvKoder.java | 5 + .../tilleggsstoenad/tilsyn/Familiemedlem.java | 2 +- .../tilsyn/FamiliemedlemKoder.java | 2 +- .../tilsyn/FamiliemedlemOvKoder.java | 5 + .../tilleggsstoenad/tilsyn/TilsynBarn.java | 2 +- .../tilsyn/TilsynFamiliemedlemmer.java | 2 +- .../testnorge/vedtak/NyeBrukereResponse.java | 6 +- .../arena/testnorge/vedtak/NyttVedtak.java | 5 +- .../arena/testnorge/vedtak/NyttVedtakAap.java | 16 +- .../testnorge/vedtak/NyttVedtakFeil.java | 2 +- .../testnorge/vedtak/NyttVedtakResponse.java | 2 +- .../testnorge/vedtak/NyttVedtakTillegg.java | 26 +- .../testnorge/vedtak/NyttVedtakTiltak.java | 7 +- .../arena/testnorge/vedtak/RettighetType.java | 2 +- .../dto/arena/testnorge/vedtak/Vilkaar.java | 2 +- .../AndreOkonomYtelser.java | 2 +- .../AnnenOkonomYtelseAap.java | 2 +- .../AnnenOkonomYtelseTiltak.java | 2 +- .../andreokonomytelser/OkonomKoderAap.java | 2 +- .../andreokonomytelser/OkonomKoderTiltak.java | 2 +- .../testnorge/vedtak/forvalter/Adresse.java | 2 +- .../testnorge/vedtak/forvalter/Forvalter.java | 2 +- .../testnorge/vedtak/forvalter/Konto.java | 2 +- .../vedtak/forvalter/UtlandKontoInfo.java | 2 +- .../v1/ArbeidsforholdDTO.java | 38 - .../v2/ArbeidsforholdDTO.java | 66 -- .../v2/AvvikDTO.java | 18 - .../v2/FartoeyDTO.java | 16 - .../v2/InntektDTO.java | 29 - .../v2/OppsummeringsdokumentDTO.java | 25 - .../v2/PermisjonDTO.java | 40 - .../v2/PersonDTO.java | 20 - .../v2/Populasjon.java | 6 - .../v2/VirksomhetDTO.java | 20 - libs/domain/README.md | 8 - libs/domain/build.gradle | 19 - libs/domain/gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - libs/domain/gradlew | 234 ----- libs/domain/gradlew.bat | 89 -- libs/domain/gradlewUpdate.sh | 3 - libs/domain/settings.gradle | 14 - .../dto/aareg/amelding/Arbeidsforhold.java | 103 -- .../aareg/amelding/ArbeidsforholdPeriode.java | 28 - .../libs/domain/dto/aareg/amelding/Avvik.java | 33 - .../domain/dto/aareg/amelding/Fartoey.java | 29 - .../domain/dto/aareg/amelding/Inntekt.java | 40 - .../domain/dto/aareg/amelding/Permisjon.java | 37 - .../arbeidsforhold/Ansettelsesperiode.java | 44 - .../AntallTimerForTimeloennet.java | 53 - .../arbeidsforhold/Arbeidsavtale.java | 98 -- .../arbeidsforhold/Arbeidsforhold.java | 88 -- .../arbeidsforhold/Bruksperiode.java | 46 - .../aordningen/arbeidsforhold/Fartoey.java | 26 - .../arbeidsforhold/Gyldighetsperiode.java | 47 - .../arbeidsforhold/JavaTimeUtil.java | 25 - .../OpplysningspliktigArbeidsgiver.java | 19 - .../arbeidsforhold/Organisasjon.java | 41 - .../aordningen/arbeidsforhold/Periode.java | 95 -- .../arbeidsforhold/PermisjonPermittering.java | 54 - .../dto/aordningen/arbeidsforhold/Person.java | 46 - .../arbeidsforhold/Sporingsinformasjon.java | 80 -- .../arbeidsforhold/Utenlandsopphold.java | 53 - .../v2/inntekter/Alvorlighetsgrad.java | 10 - .../v2/inntekter/Arbeidsforhold.java | 79 -- .../v2/inntekter/Avvik.java | 29 - .../v2/inntekter/Forskuddstrekk.java | 44 - .../v2/inntekter/Fradrag.java | 44 - .../v2/inntekter/Inntekt.java | 102 -- .../v2/inntekter/Inntektsinformasjon.java | 76 -- .../v2/inntekter/Inntektstype.java | 17 - .../v2/inntekter/Tilleggsinformasjon.java | 83 -- ...eEtterlatteAvtalefestetOgKrigspensjon.java | 22 - .../tilleggsinformasjon/BilOgBaat.java | 8 - .../BonusFraForsvaret.java | 24 - .../DagmammaIEgenBolig.java | 8 - .../Inntjeningsforhold.java | 17 - .../tilleggsinformasjon/Livrente.java | 8 - .../LottOgPartInnenFiske.java | 8 - .../Nettoloennsordning.java | 8 - .../NorskKontinentalsokkel.java | 8 - .../tilleggsinformasjon/Periode.java | 29 - .../tilleggsinformasjon/ReiseKostOgLosji.java | 17 - .../tilleggsinformasjon/UtenlandskArtist.java | 8 - .../gensaksopplysninger/GensakOvKoder.java | 6 - .../aap/institusjonsopphold/InstOvKoder.java | 5 - .../medlemfolketrygden/FolketrygdenKoder.java | 5 - .../boutgift/BoutgiftOvKoder.java | 6 - .../dagligreise/DagligReiseOvKoder.java | 5 - .../flytting/FlytteOvKoder.java | 5 - .../hjemreise/HjemreiseOvKoder.java | 5 - .../laeremidler/LaeremiddelOvKoder.java | 5 - .../ObligatoriskSamlingOvKoder.java | 6 - .../ReisestoenadArbeidssoekerOvKoder.java | 6 - .../tilleggsstoenad/tilsyn/BarnOvKoder.java | 5 - .../tilsyn/FamiliemedlemOvKoder.java | 5 - .../testnorge/tiltak/Tiltaksaktivitet.java | 25 - .../domain/dto/eregmapper/v1/AdresseDTO.java | 26 - .../domain/dto/eregmapper/v1/EregDTO.java | 79 -- .../domain/dto/eregmapper/v1/KapitalDTO.java | 24 - .../domain/dto/eregmapper/v1/KnytningDTO.java | 33 - .../domain/dto/eregmapper/v1/Maalform.java | 18 - .../dto/eregmapper/v1/NaeringskodeDTO.java | 22 - .../domain/dto/eregmapper/v1/NavnDTO.java | 23 - .../domain/dto/eregmapper/v1/TelefonDTO.java | 22 - .../eregmapper/v1/UnderlagtHjemlandDTO.java | 24 - .../eregmapper/v1/UtenlandsRegisterDTO.java | 24 - .../domain/dto/namespacetps/BehovType.java | 69 -- .../dto/namespacetps/BoadresseType.java | 179 ---- .../libs/domain/dto/namespacetps/DodType.java | 61 -- .../domain/dto/namespacetps/DokumentType.java | 88 -- .../dto/namespacetps/EgenansattType.java | 69 -- .../dto/namespacetps/ForeldreansvarType.java | 70 -- .../domain/dto/namespacetps/GetiType.java | 88 -- .../dto/namespacetps/GironummerType.java | 70 -- .../dto/namespacetps/MigrasjonType.java | 79 -- .../domain/dto/namespacetps/NavnType.java | 105 -- .../namespacetps/OppholdstillatelseType.java | 69 -- .../namespacetps/PersonIdentStatusType.java | 60 -- .../dto/namespacetps/PersonIdentType.java | 79 -- .../dto/namespacetps/PersonInfoType.java | 88 -- .../dto/namespacetps/PersonStatusType.java | 60 -- .../domain/dto/namespacetps/PersonType.java | 776 -------------- .../domain/dto/namespacetps/PostType.java | 105 -- .../namespacetps/PrioritertadresseType.java | 60 -- .../domain/dto/namespacetps/RelasjonType.java | 96 -- .../dto/namespacetps/SivilstandType.java | 69 -- .../domain/dto/namespacetps/SpesRegType.java | 69 -- .../domain/dto/namespacetps/SpraakType.java | 69 -- .../dto/namespacetps/StatsborgerType.java | 69 -- .../dto/namespacetps/TelefonJobbType.java | 78 -- .../dto/namespacetps/TelefonMobilType.java | 78 -- .../dto/namespacetps/TelefonPrivatType.java | 78 -- .../domain/dto/namespacetps/TelefonType.java | 41 - .../domain/dto/namespacetps/TilleggType.java | 178 ---- .../domain/dto/namespacetps/TiltakType.java | 69 -- .../domain/dto/namespacetps/TknrType.java | 69 -- .../namespacetps/TpsPersonDokumentType.java | 71 -- .../domain/dto/namespacetps/UtadType.java | 105 -- .../dto/namespacetps/UtlandbankType.java | 151 --- .../dto/namespacetps/UtlandinfoType.java | 197 ---- .../domain/dto/namespacetps/VergeType.java | 123 --- .../domain/dto/skd/v1/GeneringsOrdreDTO.java | 24 - .../libs/domain/dto/skd/v1/MeldingDTO.java | 30 - .../domain/dto/skd/v1/MeldingStatusDTO.java | 25 - .../domain/dto/skd/v1/MeldingerStatusDTO.java | 24 - proxies/aareg-proxy/config.yml | 2 - proxies/aareg-synt-services-proxy/Dockerfile | 8 - proxies/aareg-synt-services-proxy/README.md | 3 - .../aareg-synt-services-proxy/build.gradle | 10 - proxies/aareg-synt-services-proxy/config.yml | 53 - .../gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - proxies/aareg-synt-services-proxy/gradlew | 234 ----- proxies/aareg-synt-services-proxy/gradlew.bat | 89 -- .../gradlewUpdate.sh | 3 - .../aareg-synt-services-proxy/settings.gradle | 18 - ...regSyntServiceProxyApplicationStarter.java | 38 - .../src/main/resources/application-local.yml | 3 - .../src/main/resources/application.yml | 19 - .../src/main/resources/logback-spring.xml | 40 - .../ApplicationContextTest.java | 8 - .../src/test/resources/application-test.yml | 0 .../arbeidssoekerregisteret-proxy/config.yml | 1 + 611 files changed, 286 insertions(+), 23067 deletions(-) delete mode 100644 .github/workflows/app.amelding-service.yml delete mode 100644 .github/workflows/app.arbeidsforhold-service.yml delete mode 100644 .github/workflows/app.generer-arbeidsforhold-populasjon-service.yml delete mode 100644 .github/workflows/app.generer-organisasjon-populasjon-service.yml delete mode 100644 .github/workflows/app.generer-synt-amelding-service.yml delete mode 100644 .github/workflows/app.oppsummeringsdokument-service.yml delete mode 100644 .github/workflows/app.synt-sykemelding-api.yml delete mode 100644 .github/workflows/lib.domain.yml delete mode 100644 .github/workflows/proxy.aareg-synt-services-proxy.yml delete mode 100644 apps/amelding-service/Dockerfile delete mode 100644 apps/amelding-service/README.md delete mode 100644 apps/amelding-service/build.gradle delete mode 100644 apps/amelding-service/config.yml delete mode 100644 apps/amelding-service/gradle/wrapper/gradle-wrapper.jar delete mode 100644 apps/amelding-service/gradle/wrapper/gradle-wrapper.properties delete mode 100755 apps/amelding-service/gradlew delete mode 100644 apps/amelding-service/gradlew.bat delete mode 100755 apps/amelding-service/gradlewUpdate.sh delete mode 100644 apps/amelding-service/settings.gradle delete mode 100644 apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/AMeldingServiceApplicationStarter.java delete mode 100644 apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/config/Consumers.java delete mode 100644 apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/config/OpenApiConfig.java delete mode 100644 apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/config/SecurityConfig.java delete mode 100644 apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/consumer/OppsummeringsdokumentConsumer.java delete mode 100644 apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/controller/AMeldingController.java delete mode 100644 apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/domain/AMelding.java delete mode 100644 apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/filter/SwaggerWebFilter.java delete mode 100644 apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/service/AMeldingService.java delete mode 100644 apps/amelding-service/src/main/resources/application-local.yml delete mode 100644 apps/amelding-service/src/main/resources/application.yml delete mode 100644 apps/amelding-service/src/main/resources/logback-spring.xml delete mode 100644 apps/amelding-service/src/test/java/no/nav/registre/testnav/ameldingservice/ApplicationContextTest.java delete mode 100644 apps/amelding-service/src/test/resources/application-test.yml delete mode 100644 apps/arbeidsforhold-service/Dockerfile delete mode 100644 apps/arbeidsforhold-service/README.md delete mode 100644 apps/arbeidsforhold-service/build.gradle delete mode 100644 apps/arbeidsforhold-service/config.yml delete mode 100644 apps/arbeidsforhold-service/gradle/wrapper/gradle-wrapper.jar delete mode 100644 apps/arbeidsforhold-service/gradle/wrapper/gradle-wrapper.properties delete mode 100755 apps/arbeidsforhold-service/gradlew delete mode 100644 apps/arbeidsforhold-service/gradlew.bat delete mode 100755 apps/arbeidsforhold-service/gradlewUpdate.sh delete mode 100644 apps/arbeidsforhold-service/settings.gradle delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/ArbeidsforholdApiApplicationStarter.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/ApplicationConfig.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/Consumers.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/OpenApiConfig.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/SecurityConfig.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/AaregConsumer.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/command/GetArbeidstakerArbeidsforholdCommand.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AnsettelsesperiodeDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AntallTimerForTimeloennetDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsavtaleDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdoversiktDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsgiverDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidstakerDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PeriodeDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PermisjonPermitteringDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/UtenlandsoppholdDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Aktoer.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Ansettelsesperiode.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/AntallTimerForTimeloennet.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsavtale.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsforhold.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsgiver.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidstaker.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Fartoy.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Periode.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Permisjon.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Utenlandsopphold.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/ArbeidsforholdNotFoundException.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/SikkerhetsTokenExpiredException.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v1/ArbeidsforholdController.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/ArbeidstakerController.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AnsettelsesperiodeDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AntallTimerForTimeloennetDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsavtaleDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsforholdDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsgiverDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidstakerDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/FartoyDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PeriodeDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PermisjonPermitteringDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/UtenlandsoppholdDTO.java delete mode 100644 apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/service/ArbeidsforholdService.java delete mode 100644 apps/arbeidsforhold-service/src/main/resources/application-local.yml delete mode 100644 apps/arbeidsforhold-service/src/main/resources/application.yml delete mode 100644 apps/arbeidsforhold-service/src/main/resources/logback-spring.xml delete mode 100644 apps/arbeidsforhold-service/src/test/java/no/nav/registre/testnorge/arbeidsforholdservice/ApplicationContextTest.java delete mode 100644 apps/arbeidsforhold-service/src/test/resources/application-test.yml delete mode 100644 apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/AmeldingConsumer.java delete mode 100644 apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/AmeldingService.java delete mode 100644 apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/OrganisasjonServiceConsumer.java delete mode 100644 apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/domain/AmeldingTransaksjon.java delete mode 100644 apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/domain/Virksomhet.java delete mode 100644 apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/mapper/AmeldingRequestMappingStrategy.java delete mode 100644 apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/command/AmeldingPutCommand.java delete mode 100644 apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsAmeldingRequest.java delete mode 100644 apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsArbeidsforholdAareg.java delete mode 100644 apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsPeriodeAmelding.java delete mode 100644 apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsPersonAareg.java delete mode 100644 apps/dolly-backend/src/test/java/no/nav/dolly/bestilling/aareg/mapper/AmeldingRequestMappingStrategyTest.java rename apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/{OpenSearchV2ResponseMappingStrategy.java => OpenSearchResponseMappingStrategy.java} (94%) delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/Dockerfile delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/README.md delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/build.gradle delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/config.yml delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/gradle/wrapper/gradle-wrapper.jar delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/gradle/wrapper/gradle-wrapper.properties delete mode 100755 apps/generer-arbeidsforhold-populasjon-service/gradlew delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/gradlew.bat delete mode 100755 apps/generer-arbeidsforhold-populasjon-service/gradlewUpdate.sh delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/settings.gradle delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/GenererArbeidsforholdPopulasjonServiceApplicationStarter.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/adapter/IdentAdapter.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/ApplicationConfig.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/Consumers.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/OpenApiConfig.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/SecurityConfig.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/GenererOrganisasjonPopulasjonConsumer.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OppsummeringsdokumentConsumer.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OrganisasjonConsumer.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/SyntArbeidsforholdConsumer.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererArbeidsforholdHistorikkCommand.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererStartArbeidsforholdCommand.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOpplysningspliktigOrgnummerCommand.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOppsummeringsdokumentCommand.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOrganisasjonCommand.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/SaveOppsummeringsdokumenterCommand.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/controller/GenererArbeidsforholdController.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Id.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/OppsummeringsdokumentTimeline.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Organisajon.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/PermisjonCount.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Person.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Timeline.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/TimelineEntries.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Arbeidsforhold.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Avvik.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Fartoey.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Generated.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Inntekt.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Opplysningspliktig.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Oppsummeringsdokument.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Permisjon.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdHistorikkService.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdSerivce.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/IdentService.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OppsummeringsdokumentService.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrganisasjonService.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrkestratorService.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/PersonArbeidsforholdHistorkkService.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application-local.yml delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application.yml delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/main/resources/logback-spring.xml delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/test/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/ApplicationContextTest.java delete mode 100644 apps/generer-arbeidsforhold-populasjon-service/src/test/resources/application-test.yml delete mode 100644 apps/generer-organisasjon-populasjon-service/Dockerfile delete mode 100644 apps/generer-organisasjon-populasjon-service/README.md delete mode 100644 apps/generer-organisasjon-populasjon-service/build.gradle delete mode 100644 apps/generer-organisasjon-populasjon-service/config.yml delete mode 100644 apps/generer-organisasjon-populasjon-service/gradle/wrapper/gradle-wrapper.jar delete mode 100644 apps/generer-organisasjon-populasjon-service/gradle/wrapper/gradle-wrapper.properties delete mode 100755 apps/generer-organisasjon-populasjon-service/gradlew delete mode 100644 apps/generer-organisasjon-populasjon-service/gradlew.bat delete mode 100755 apps/generer-organisasjon-populasjon-service/gradlewUpdate.sh delete mode 100644 apps/generer-organisasjon-populasjon-service/settings.gradle delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/GenererOrganisasjonPopulasjonServiceApplicationStarter.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/ApplicationConfig.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/Consumers.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/KafkaProducerConfig.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/OpenApiConfig.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/SecurityConfig.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/consumer/GenererNavnConsumer.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/consumer/OrgnummerConsumer.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/consumer/command/GetOrgnummerCommand.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/controller/OpplysningspliktigController.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/domain/Organisasjon.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/repository/OpplysningspliktigRepository.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/repository/model/OpplysningspliktigModel.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/service/GenererOpplysningspliktigService.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/service/OpplysningspliktigService.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/resources/application-local.yml delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/resources/application-prod.yml delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/resources/application.yml delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/resources/db/migration/V1__initial_database.sql delete mode 100644 apps/generer-organisasjon-populasjon-service/src/main/resources/logback-spring.xml delete mode 100644 apps/generer-organisasjon-populasjon-service/src/test/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/ApplicationContextTest.java delete mode 100644 apps/generer-organisasjon-populasjon-service/src/test/resources/application-test.yml delete mode 100644 apps/generer-synt-amelding-service/Dockerfile delete mode 100644 apps/generer-synt-amelding-service/README.md delete mode 100644 apps/generer-synt-amelding-service/build.gradle delete mode 100644 apps/generer-synt-amelding-service/config.yml delete mode 100644 apps/generer-synt-amelding-service/gradle/wrapper/gradle-wrapper.jar delete mode 100644 apps/generer-synt-amelding-service/gradle/wrapper/gradle-wrapper.properties delete mode 100755 apps/generer-synt-amelding-service/gradlew delete mode 100644 apps/generer-synt-amelding-service/gradlew.bat delete mode 100755 apps/generer-synt-amelding-service/gradlewUpdate.sh delete mode 100644 apps/generer-synt-amelding-service/settings.gradle delete mode 100644 apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/GenererSyntAmeldingApplicationStarter.java delete mode 100644 apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/ApplicationConfig.java delete mode 100644 apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/Consumers.java delete mode 100644 apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/OpenApiConfig.java delete mode 100644 apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/SecurityConfig.java delete mode 100644 apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumer.java delete mode 100644 apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentArbeidsforholdCommand.java delete mode 100644 apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentHistorikkCommand.java delete mode 100644 apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/domain/ArbeidsforholdType.java delete mode 100644 apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/SyntController.java delete mode 100644 apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/response/ArbeidsforholdDTO.java delete mode 100644 apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingService.java delete mode 100644 apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/util/WebClientFilter.java delete mode 100644 apps/generer-synt-amelding-service/src/main/resources/application-local.yml delete mode 100644 apps/generer-synt-amelding-service/src/main/resources/application.yml delete mode 100644 apps/generer-synt-amelding-service/src/main/resources/logback-spring.xml delete mode 100644 apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/ResourceUtils.java delete mode 100644 apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumerTest.java delete mode 100644 apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingServiceTest.java delete mode 100644 apps/generer-synt-amelding-service/src/test/resources/application-test.yml delete mode 100644 apps/generer-synt-amelding-service/src/test/resources/files/synt_arbeidsforhold.json delete mode 100644 apps/generer-synt-amelding-service/src/test/resources/files/synt_historikk.json delete mode 100644 apps/oppsummeringsdokument-service/Dockerfile delete mode 100644 apps/oppsummeringsdokument-service/README.md delete mode 100644 apps/oppsummeringsdokument-service/build.gradle delete mode 100644 apps/oppsummeringsdokument-service/config.yml delete mode 100644 apps/oppsummeringsdokument-service/docker-compose.yml delete mode 100644 apps/oppsummeringsdokument-service/gradle/wrapper/gradle-wrapper.jar delete mode 100644 apps/oppsummeringsdokument-service/gradle/wrapper/gradle-wrapper.properties delete mode 100755 apps/oppsummeringsdokument-service/gradlew delete mode 100644 apps/oppsummeringsdokument-service/gradlew.bat delete mode 100755 apps/oppsummeringsdokument-service/gradlewUpdate.sh delete mode 100644 apps/oppsummeringsdokument-service/settings.gradle delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/OppsummeringsdokumentServiceApplicationStarter.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/ApplicationConfig.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/Consumers.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/JsonMapperConfig.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/OpenApiConfig.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/OpenSearchConfig.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/OpenSearchLocalConfig.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/SecurityConfig.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/credentials/ElasticSearchCredentials.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/consumer/AaregSyntConsumer.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/consumer/command/SaveOpplysningspliktigCommand.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/controller/OppsummeringsdokumentController.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/controller/OppsummeringsdokumentetRawController.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/domain/Oppsummeringsdokument.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/domain/QueryRequest.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/domain/QueryResponse.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/OppsummeringsdokumentRepository.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/ArbeidsforholdModel.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/AvvikModel.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/FartoeyModel.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/InntektModel.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/OppsummeringsdokumentModel.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/PermisjonModel.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/PersonModel.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/VirksomhetModel.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/service/OppsummeringsdokumentService.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/service/SearchQueryUtility.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/util/WebClientFilter.java delete mode 100644 apps/oppsummeringsdokument-service/src/main/resources/application-local.yml delete mode 100644 apps/oppsummeringsdokument-service/src/main/resources/application-prod.yml delete mode 100644 apps/oppsummeringsdokument-service/src/main/resources/application.yml delete mode 100644 apps/oppsummeringsdokument-service/src/main/resources/logback-spring.xml delete mode 100644 apps/synt-sykemelding-api/Dockerfile delete mode 100644 apps/synt-sykemelding-api/README.md delete mode 100644 apps/synt-sykemelding-api/build.gradle delete mode 100644 apps/synt-sykemelding-api/config.test.yml delete mode 100644 apps/synt-sykemelding-api/config.yml delete mode 100644 apps/synt-sykemelding-api/gradle/wrapper/gradle-wrapper.jar delete mode 100644 apps/synt-sykemelding-api/gradle/wrapper/gradle-wrapper.properties delete mode 100755 apps/synt-sykemelding-api/gradlew delete mode 100644 apps/synt-sykemelding-api/gradlew.bat delete mode 100755 apps/synt-sykemelding-api/gradlewUpdate.sh delete mode 100644 apps/synt-sykemelding-api/settings.gradle delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/SyntSykemeldingApiApplicationStarter.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/adapter/ArbeidsforholdAdapter.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/AppConfig.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/Consumers.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/OpenApiConfig.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/SecurityConfig.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumer.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumer.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumer.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumer.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumer.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumer.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetArbeidsforholdCommand.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetHelsepersonellCommand.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetOrganisasjonCommand.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetPdlPersonCommand.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSykemeldingCommand.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSyntSykemeldingCommand.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntDiagnoserDTO.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingDTO.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingHistorikkDTO.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/request/GraphQLRequest.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Arbeidsforhold.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Helsepersonell.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/HelsepersonellListe.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Person.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Sykemelding.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/Metadata.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/PdlPerson.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/WithMetadata.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingController.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/service/SykemeldingService.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/FilLaster.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/Headers.java delete mode 100644 apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/IdentUtil.java delete mode 100644 apps/synt-sykemelding-api/src/main/resources/application-dev.yml delete mode 100644 apps/synt-sykemelding-api/src/main/resources/application-local.yml delete mode 100644 apps/synt-sykemelding-api/src/main/resources/application-prod.yml delete mode 100644 apps/synt-sykemelding-api/src/main/resources/application.yml delete mode 100644 apps/synt-sykemelding-api/src/main/resources/logback-spring.xml delete mode 100644 apps/synt-sykemelding-api/src/main/resources/pdlperson/graphql.config.yml delete mode 100644 apps/synt-sykemelding-api/src/main/resources/pdlperson/pdl-api-schema.graphql delete mode 100644 apps/synt-sykemelding-api/src/main/resources/pdlperson/pdlquery.graphql delete mode 100644 apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumerTest.java delete mode 100644 apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumerTest.java delete mode 100644 apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumerTest.java delete mode 100644 apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumerTest.java delete mode 100644 apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumerTest.java delete mode 100644 apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumerTest.java delete mode 100644 apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingControllerIntegrationTest.java delete mode 100644 apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/util/TestUtil.java delete mode 100644 apps/synt-sykemelding-api/src/test/resources/application-test.yml delete mode 100644 libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentByIdCommand.java delete mode 100644 libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentCommand.java delete mode 100644 libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterByIdentCommand.java delete mode 100644 libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterCommand.java delete mode 100644 libs/commands/src/main/java/no/nav/testnav/libs/commands/SaveOppsummeringsdokumenterCommand.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1/ArbeidsgiverArbeidsforhold.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1/ArbeidsgiverArbeidsforholdoversikter.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1/Arbeidsgiveroversikt.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AMeldingDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/ArbeidsforholdDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AvvikDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/FartoeyDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/InntektDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PermisjonDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PersonDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/VirksomhetDTO.java rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/aap/gensaksopplysninger/GensakKoder.java (78%) create mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/gensaksopplysninger/GensakOvKoder.java rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/aap/gensaksopplysninger/Saksopplysning.java (86%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/aap/institusjonsopphold/InstKoder.java (58%) create mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/institusjonsopphold/InstOvKoder.java rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/aap/institusjonsopphold/Institusjonsopphold.java (86%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/aap/medisinskopplysning/MedisinskOpplysning.java (89%) create mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/medlemfolketrygden/FolketrygdenKoder.java rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/aap/medlemfolketrygden/MedlemFolketrygden.java (81%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/aap/periode/Periode.java (92%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/brukere/Arbeidsoeker.java (90%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/brukere/Deltakerstatuser.java (67%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/brukere/Kvalifiseringsgrupper.java (68%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/brukere/NyBruker.java (89%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/brukere/NyBrukerFeil.java (84%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/brukere/NyEndreInnsatsbehov.java (83%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/brukere/NyEndreInnsatsbehovFeil.java (85%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/brukere/UtenServicebehov.java (82%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/historikk/Vedtakshistorikk.java (93%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/Vedtaksperiode.java (84%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/boutgift/Boutgift.java (85%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftKoder.java (71%) create mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftOvKoder.java rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReise.java (85%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseKoder.java (72%) create mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseOvKoder.java rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteKoder.java (66%) create mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteOvKoder.java rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/flytting/Flytting.java (85%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/hjemreise/Hjemreise.java (82%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseKoder.java (72%) create mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseOvKoder.java rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/laeremidler/Laeremiddel.java (85%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelKoder.java (60%) create mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelOvKoder.java rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingKoder.java (69%) create mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingOvKoder.java rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ReiseObligatoriskSamling.java (84%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoeker.java (86%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerKoder.java (71%) create mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerOvKoder.java rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/tilsyn/Barn.java (85%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnKoder.java (63%) create mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnOvKoder.java rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/tilsyn/Familiemedlem.java (86%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemKoder.java (60%) create mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemOvKoder.java rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynBarn.java (78%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynFamiliemedlemmer.java (79%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/NyeBrukereResponse.java (80%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/NyttVedtak.java (96%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/NyttVedtakAap.java (72%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/NyttVedtakFeil.java (91%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/NyttVedtakResponse.java (97%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/NyttVedtakTillegg.java (68%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/NyttVedtakTiltak.java (91%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/RettighetType.java (54%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/Vilkaar.java (87%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/andreokonomytelser/AndreOkonomYtelser.java (84%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseAap.java (83%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseTiltak.java (83%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderAap.java (53%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderTiltak.java (68%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/forvalter/Adresse.java (86%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/forvalter/Forvalter.java (80%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/forvalter/Konto.java (79%) rename libs/{domain/src/main/java/no/nav/testnav/libs/domain => data-transfer-objects/src/main/java/no/nav/testnav/libs}/dto/arena/testnorge/vedtak/forvalter/UtlandKontoInfo.java (85%) delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v1/ArbeidsforholdDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/ArbeidsforholdDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/AvvikDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/FartoeyDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/InntektDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/OppsummeringsdokumentDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PermisjonDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PersonDTO.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/Populasjon.java delete mode 100644 libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/VirksomhetDTO.java delete mode 100644 libs/domain/README.md delete mode 100644 libs/domain/build.gradle delete mode 100644 libs/domain/gradle/wrapper/gradle-wrapper.jar delete mode 100644 libs/domain/gradle/wrapper/gradle-wrapper.properties delete mode 100755 libs/domain/gradlew delete mode 100644 libs/domain/gradlew.bat delete mode 100755 libs/domain/gradlewUpdate.sh delete mode 100644 libs/domain/settings.gradle delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Arbeidsforhold.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/ArbeidsforholdPeriode.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Avvik.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Fartoey.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Inntekt.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Permisjon.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Ansettelsesperiode.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/AntallTimerForTimeloennet.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Arbeidsavtale.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Arbeidsforhold.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Bruksperiode.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Fartoey.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Gyldighetsperiode.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/JavaTimeUtil.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/OpplysningspliktigArbeidsgiver.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Organisasjon.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Periode.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/PermisjonPermittering.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Person.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Sporingsinformasjon.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Utenlandsopphold.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Alvorlighetsgrad.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Arbeidsforhold.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Avvik.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Forskuddstrekk.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Fradrag.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Inntekt.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Inntektsinformasjon.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Inntektstype.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Tilleggsinformasjon.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/AldersUfoereEtterlatteAvtalefestetOgKrigspensjon.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/BilOgBaat.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/BonusFraForsvaret.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/DagmammaIEgenBolig.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Inntjeningsforhold.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Livrente.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/LottOgPartInnenFiske.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Nettoloennsordning.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/NorskKontinentalsokkel.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Periode.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/ReiseKostOgLosji.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/UtenlandskArtist.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/gensaksopplysninger/GensakOvKoder.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/institusjonsopphold/InstOvKoder.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/medlemfolketrygden/FolketrygdenKoder.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftOvKoder.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseOvKoder.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteOvKoder.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseOvKoder.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelOvKoder.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingOvKoder.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerOvKoder.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnOvKoder.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemOvKoder.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tiltak/Tiltaksaktivitet.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/AdresseDTO.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/EregDTO.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/KapitalDTO.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/KnytningDTO.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/Maalform.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/NaeringskodeDTO.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/NavnDTO.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/TelefonDTO.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/UnderlagtHjemlandDTO.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/UtenlandsRegisterDTO.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/BehovType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/BoadresseType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/DodType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/DokumentType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/EgenansattType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/ForeldreansvarType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/GetiType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/GironummerType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/MigrasjonType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/NavnType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/OppholdstillatelseType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonIdentStatusType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonIdentType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonInfoType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonStatusType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PostType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PrioritertadresseType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/RelasjonType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/SivilstandType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/SpesRegType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/SpraakType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/StatsborgerType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonJobbType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonMobilType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonPrivatType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TilleggType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TiltakType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TknrType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TpsPersonDokumentType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/UtadType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/UtlandbankType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/UtlandinfoType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/VergeType.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/GeneringsOrdreDTO.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/MeldingDTO.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/MeldingStatusDTO.java delete mode 100644 libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/MeldingerStatusDTO.java delete mode 100644 proxies/aareg-synt-services-proxy/Dockerfile delete mode 100644 proxies/aareg-synt-services-proxy/README.md delete mode 100644 proxies/aareg-synt-services-proxy/build.gradle delete mode 100644 proxies/aareg-synt-services-proxy/config.yml delete mode 100644 proxies/aareg-synt-services-proxy/gradle/wrapper/gradle-wrapper.jar delete mode 100644 proxies/aareg-synt-services-proxy/gradle/wrapper/gradle-wrapper.properties delete mode 100755 proxies/aareg-synt-services-proxy/gradlew delete mode 100644 proxies/aareg-synt-services-proxy/gradlew.bat delete mode 100755 proxies/aareg-synt-services-proxy/gradlewUpdate.sh delete mode 100644 proxies/aareg-synt-services-proxy/settings.gradle delete mode 100644 proxies/aareg-synt-services-proxy/src/main/java/no/nav/testnav/proxies/aaregsyntservicesproxy/AaregSyntServiceProxyApplicationStarter.java delete mode 100644 proxies/aareg-synt-services-proxy/src/main/resources/application-local.yml delete mode 100644 proxies/aareg-synt-services-proxy/src/main/resources/application.yml delete mode 100644 proxies/aareg-synt-services-proxy/src/main/resources/logback-spring.xml delete mode 100644 proxies/aareg-synt-services-proxy/src/test/java/no/nav/testnav/proxies/aaregsyntservicesproxy/ApplicationContextTest.java delete mode 100644 proxies/aareg-synt-services-proxy/src/test/resources/application-test.yml diff --git a/.github/workflows/app.amelding-service.yml b/.github/workflows/app.amelding-service.yml deleted file mode 100644 index dccaf511221..00000000000 --- a/.github/workflows/app.amelding-service.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: amelding-service - -on: - push: - paths: - - "plugins/**" - - "libs/avro-schema/**" - - "libs/commands/**" - - "libs/data-transfer-objects/**" - - "libs/reactive-core/**" - - "libs/reactive-security/**" - - "libs/security-core/**" - - "apps/amelding-service/**" - - ".github/workflows/app.amelding-service.yml" - -jobs: - workflow: - uses: ./.github/workflows/common.workflow.backend.yml - with: - working-directory: "apps/amelding-service" - deploy-tag: "#deploy-amelding-service" - permissions: - contents: read - id-token: write - secrets: inherit diff --git a/.github/workflows/app.arbeidsforhold-service.yml b/.github/workflows/app.arbeidsforhold-service.yml deleted file mode 100644 index 169a2330d11..00000000000 --- a/.github/workflows/app.arbeidsforhold-service.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: arbeidsforhold-service - -on: - push: - paths: - - "plugins/**" - - "libs/commands/**" - - "libs/data-transfer-objects/**" - - "libs/reactive-core/**" - - "libs/security-core/**" - - "libs/servlet-core/**" - - "libs/servlet-security/**" - - "apps/arbeidsforhold-service/**" - - ".github/workflows/app.arbeidsforhold-service.yml" - -jobs: - workflow: - uses: ./.github/workflows/common.workflow.backend.yml - with: - working-directory: "apps/arbeidsforhold-service" - deploy-tag: "#deploy-arbeidsforhold-service" - permissions: - contents: read - id-token: write - secrets: inherit diff --git a/.github/workflows/app.generer-arbeidsforhold-populasjon-service.yml b/.github/workflows/app.generer-arbeidsforhold-populasjon-service.yml deleted file mode 100644 index 16dbf65c2b0..00000000000 --- a/.github/workflows/app.generer-arbeidsforhold-populasjon-service.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: generer-arbeidsforhold-populasjon-service - -on: - push: - paths: - - "plugins/**" - - "libs/commands/**" - - "libs/data-transfer-objects/**" - - "libs/security-core/**" - - "libs/servlet-core/**" - - "libs/servlet-insecure-security/**" - - "apps/generer-arbeidsforhold-populasjon-service/**" - - ".github/workflows/app.generer-arbeidsforhold-populasjon-service.yml" - -jobs: - workflow: - uses: ./.github/workflows/common.workflow.backend.yml - with: - working-directory: "apps/generer-arbeidsforhold-populasjon-service" - deploy-tag: "#deploy-generer-arbeidsforhold-populasjon-service" - permissions: - contents: read - id-token: write - secrets: inherit diff --git a/.github/workflows/app.generer-organisasjon-populasjon-service.yml b/.github/workflows/app.generer-organisasjon-populasjon-service.yml deleted file mode 100644 index 11a39629df1..00000000000 --- a/.github/workflows/app.generer-organisasjon-populasjon-service.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: generer-organisasjon-populasjon-service - -on: - push: - paths: - - "plugins/**" - - "libs/avro-schema/**" - - "libs/commands/**" - - "libs/data-transfer-objects/**" - - "libs/database/**" - - "libs/kafka-config/**" - - "libs/kafka-producers/**" - - "libs/reactive-core/**" - - "libs/security-core/**" - - "libs/servlet-core/**" - - "libs/servlet-security/**" - - "apps/generer-organisasjon-populasjon-service/**" - - ".github/workflows/app.generer-organisasjon-populasjon-service.yml" - -jobs: - workflow: - uses: ./.github/workflows/common.workflow.backend.yml - with: - working-directory: "apps/generer-organisasjon-populasjon-service" - deploy-tag: "#deploy-generer-organisasjon-populasjon-service" - permissions: - contents: read - id-token: write - secrets: inherit diff --git a/.github/workflows/app.generer-synt-amelding-service.yml b/.github/workflows/app.generer-synt-amelding-service.yml deleted file mode 100644 index 744c6b22715..00000000000 --- a/.github/workflows/app.generer-synt-amelding-service.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: generer-synt-amelding-service - -on: - push: - paths: - - "plugins/**" - - "libs/domain/**" - - "libs/reactive-core/**" - - "libs/security-core/**" - - "libs/servlet-core/**" - - "libs/servlet-security/**" - - "apps/generer-synt-amelding-service/**" - - ".github/workflows/app.generer-synt-amelding-service.yml" - -jobs: - workflow: - uses: ./.github/workflows/common.workflow.backend.yml - with: - working-directory: "apps/generer-synt-amelding-service" - deploy-tag: "#deploy-generer-synt-amelding-service" - permissions: - contents: read - id-token: write - secrets: inherit diff --git a/.github/workflows/app.joark-dokument-service.yml b/.github/workflows/app.joark-dokument-service.yml index abe89263f1b..ffe28459df4 100644 --- a/.github/workflows/app.joark-dokument-service.yml +++ b/.github/workflows/app.joark-dokument-service.yml @@ -5,7 +5,6 @@ on: paths: - "plugins/**" - "libs/data-transfer-objects/**" - - "libs/domain/**" - "libs/reactive-core/**" - "libs/security-core/**" - "libs/servlet-core/**" diff --git a/.github/workflows/app.oppsummeringsdokument-service.yml b/.github/workflows/app.oppsummeringsdokument-service.yml deleted file mode 100644 index 7d482e83f9c..00000000000 --- a/.github/workflows/app.oppsummeringsdokument-service.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: oppsummeringsdokument-service - -on: - push: - paths: - - "plugins/**" - - "libs/data-transfer-objects/**" - - "libs/security-core/**" - - "libs/servlet-core/**" - - "libs/servlet-security/**" - - "xsd/arbeidsforhold-xsd/**" - - "apps/oppsummeringsdokument-service/**" - - ".github/workflows/app.oppsummeringsdokument-service.yml" - -jobs: - workflow: - uses: ./.github/workflows/common.workflow.backend.yml - with: - working-directory: "apps/oppsummeringsdokument-service" - deploy-tag: "#deploy-oppsummeringsdokument-service" - permissions: - contents: read - id-token: write - secrets: inherit diff --git a/.github/workflows/app.synt-sykemelding-api.yml b/.github/workflows/app.synt-sykemelding-api.yml deleted file mode 100644 index fa1c0105f66..00000000000 --- a/.github/workflows/app.synt-sykemelding-api.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: synt-sykemelding-api - -on: - push: - paths: - - "plugins/**" - - "libs/commands/**" - - "libs/data-transfer-objects/**" - - "libs/reactive-core/**" - - "libs/servlet-core/**" - - "libs/servlet-security/**" - - "libs/testing/**" - - "apps/synt-sykemelding-api/**" - - ".github/workflows/app.synt-sykemelding-api.yml" - -jobs: - workflow: - uses: ./.github/workflows/common.workflow.backend.yml - with: - working-directory: "apps/synt-sykemelding-api" - deploy-tag: "#deploy-synt-sykemelding-api" - deploy-tag-test: "#deploy-test-synt-sykemelding-api" - permissions: - contents: read - id-token: write - secrets: inherit diff --git a/.github/workflows/app.synt-vedtakshistorikk-service.yml b/.github/workflows/app.synt-vedtakshistorikk-service.yml index d9ec5a49d8b..f8801aef3b2 100644 --- a/.github/workflows/app.synt-vedtakshistorikk-service.yml +++ b/.github/workflows/app.synt-vedtakshistorikk-service.yml @@ -5,7 +5,6 @@ on: paths: - "plugins/**" - "libs/data-transfer-objects/**" - - "libs/domain/**" - "libs/security-core/**" - "libs/servlet-core/**" - "libs/servlet-insecure-security/**" diff --git a/.github/workflows/lib.domain.yml b/.github/workflows/lib.domain.yml deleted file mode 100644 index 422aa567082..00000000000 --- a/.github/workflows/lib.domain.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: domain - -on: - push: - paths: - - "plugins/**" - - "libs/domain/**" - - ".github/workflows/lib.domain.yml" - -jobs: - workflow: - uses: ./.github/workflows/common.workflow.libs.backend.yml - with: - working-directory: 'libs/domain' - secrets: inherit \ No newline at end of file diff --git a/.github/workflows/proxy.aareg-synt-services-proxy.yml b/.github/workflows/proxy.aareg-synt-services-proxy.yml deleted file mode 100644 index 82f014b51e8..00000000000 --- a/.github/workflows/proxy.aareg-synt-services-proxy.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: aareg-synt-services-proxy - -on: - push: - paths: - - "plugins/**" - - "libs/reactive-core/**" - - "libs/reactive-proxy/**" - - "proxies/aareg-synt-services-proxy/**" - - ".github/workflows/proxy.aareg-synt-services-proxy.yml" - -jobs: - workflow: - uses: ./.github/workflows/common.workflow.backend.yml - with: - cluster: "dev-fss" - working-directory: "proxies/aareg-synt-services-proxy" - deploy-tag: "#deploy-proxy-aareg-synt-services" - permissions: - contents: read - id-token: write - secrets: inherit diff --git a/apps/amelding-service/Dockerfile b/apps/amelding-service/Dockerfile deleted file mode 100644 index dd8161548f8..00000000000 --- a/apps/amelding-service/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM ghcr.io/navikt/baseimages/temurin:21 -LABEL maintainer="Team Dolly" - -ENV JAVA_OPTS="-Dspring.profiles.active=prod" - -ADD /build/libs/app.jar /app/app.jar - -EXPOSE 8080 \ No newline at end of file diff --git a/apps/amelding-service/README.md b/apps/amelding-service/README.md deleted file mode 100644 index 70164b7baec..00000000000 --- a/apps/amelding-service/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Amelding-service -Service for å sende syntetiske arbeidsmeldinger videre til oppsummerings-dokument-service. - -## Lokal kjøring -* [Generelt.](../../docs/local_general.md) -* [Secret Manager.](../../docs/local_secretmanager.md) \ No newline at end of file diff --git a/apps/amelding-service/build.gradle b/apps/amelding-service/build.gradle deleted file mode 100644 index cbe63f5c3c0..00000000000 --- a/apps/amelding-service/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id "dolly-apps" -} - -sonarqube { - properties { - property "sonar.projectKey", "navit_testnorge_amelding_service" - property "sonar.projectName", "testnav-amelding-service" - } -} - -dependencies { - implementation "no.nav.testnav.libs:avro-schema" - implementation "no.nav.testnav.libs:commands" - implementation "no.nav.testnav.libs:data-transfer-objects" - implementation "no.nav.testnav.libs:reactive-core" - implementation "no.nav.testnav.libs:reactive-security" - implementation "no.nav.testnav.libs:security-core" - - implementation "org.springframework.boot:spring-boot-starter-oauth2-client" - implementation "org.springframework.boot:spring-boot-starter-security" - - implementation "io.swagger.core.v3:swagger-annotations-jakarta:$versions.swagger" - implementation "org.springdoc:springdoc-openapi-starter-webflux-ui:$versions.springdoc" - - testImplementation "org.springframework.cloud:spring-cloud-contract-wiremock" -} diff --git a/apps/amelding-service/config.yml b/apps/amelding-service/config.yml deleted file mode 100644 index 2132aa60c58..00000000000 --- a/apps/amelding-service/config.yml +++ /dev/null @@ -1,61 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: testnav-amelding-service - namespace: dolly - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - accessPolicy: - inbound: - rules: - - application: dolly-backend - - application: dolly-backend-dev - - application: dolly-frontend - - application: dolly-frontend-dev - - application: dolly-idporten - - application: team-dolly-lokal-app - - application: testnav-oversikt-frontend - outbound: - rules: - - application: testnav-oppsummeringsdokument-service - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - liveness: - path: /internal/health/liveness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/health/readiness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - prometheus: - enabled: true - path: /internal/metrics - replicas: - min: 1 - max: 1 - resources: - requests: - cpu: 200m - memory: 1024Mi - limits: - memory: 2048Mi - ingresses: - - "https://testnav-amelding-service.intern.dev.nav.no" \ No newline at end of file diff --git a/apps/amelding-service/gradle/wrapper/gradle-wrapper.jar b/apps/amelding-service/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL diff --git a/apps/amelding-service/gradle/wrapper/gradle-wrapper.properties b/apps/amelding-service/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 48c0a02ca41..00000000000 --- a/apps/amelding-service/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/apps/amelding-service/gradlew b/apps/amelding-service/gradlew deleted file mode 100755 index 3da45c161b0..00000000000 --- a/apps/amelding-service/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright ? 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions ?$var?, ?${var}?, ?${var:-default}?, ?${var+SET}?, -# ?${var#prefix}?, ?${var%suffix}?, and ?$( cmd )?; -# * compound commands having a testable exit status, especially ?case?; -# * various built-in commands including ?command?, ?set?, and ?ulimit?. -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/apps/amelding-service/gradlew.bat b/apps/amelding-service/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/apps/amelding-service/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/apps/amelding-service/gradlewUpdate.sh b/apps/amelding-service/gradlewUpdate.sh deleted file mode 100755 index e5ee6361152..00000000000 --- a/apps/amelding-service/gradlewUpdate.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -gradle wrapper \ No newline at end of file diff --git a/apps/amelding-service/settings.gradle b/apps/amelding-service/settings.gradle deleted file mode 100644 index 7cc925d01aa..00000000000 --- a/apps/amelding-service/settings.gradle +++ /dev/null @@ -1,22 +0,0 @@ -plugins { - id "com.gradle.develocity" version "3.19" -} - -rootProject.name = "amelding-service" - -includeBuild "../../plugins/java" - -includeBuild "../../libs/avro-schema" -includeBuild "../../libs/commands" -includeBuild "../../libs/data-transfer-objects" -includeBuild "../../libs/reactive-core" -includeBuild "../../libs/reactive-security" -includeBuild "../../libs/security-core" -includeBuild "../../libs/testing" - -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/terms-of-service" - termsOfUseAgree = "yes" - } -} diff --git a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/AMeldingServiceApplicationStarter.java b/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/AMeldingServiceApplicationStarter.java deleted file mode 100644 index b5caab1913a..00000000000 --- a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/AMeldingServiceApplicationStarter.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.registre.testnav.ameldingservice; - -import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer; -import no.nav.testnav.libs.reactivecore.config.CoreConfig; -import no.nav.testnav.libs.reactivesecurity.config.SecureOAuth2ServerToServerConfiguration; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.context.annotation.Import; -import org.springframework.web.reactive.config.EnableWebFlux; - -@Import({ - CoreConfig.class, - SecureOAuth2ServerToServerConfiguration.class -}) -@EnableWebFlux -@SpringBootApplication -public class AMeldingServiceApplicationStarter { - - public static void main(String[] args) { - new SpringApplicationBuilder(AMeldingServiceApplicationStarter.class) - .initializers(new NaisEnvironmentApplicationContextInitializer()) - .run(args); - } - -} diff --git a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/config/Consumers.java b/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/config/Consumers.java deleted file mode 100644 index 90798e40fb2..00000000000 --- a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/config/Consumers.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.registre.testnav.ameldingservice.config; - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import static lombok.AccessLevel.PACKAGE; - -/** - * Samler alle placeholders for ulike {@code consumers.*}-konfigurasjon her, dvs. subklasser av {@code ServerProperties}. - *

- * Husk at Spring Boot bruker
relaxed binding - * mellom configuration properties og field names. - * - * @see ServerProperties - */ -@Configuration -@ConfigurationProperties(prefix = "consumers") -@NoArgsConstructor(access = PACKAGE) -@Getter -@Setter(PACKAGE) -public class Consumers { - - private ServerProperties oppsummeringsdokumentService; - -} diff --git a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/config/OpenApiConfig.java b/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/config/OpenApiConfig.java deleted file mode 100644 index ec731f788c4..00000000000 --- a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/config/OpenApiConfig.java +++ /dev/null @@ -1,48 +0,0 @@ -package no.nav.registre.testnav.ameldingservice.config; - -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Contact; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.info.License; -import io.swagger.v3.oas.models.security.SecurityRequirement; -import io.swagger.v3.oas.models.security.SecurityScheme; -import no.nav.testnav.libs.reactivecore.config.ApplicationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.http.HttpHeaders; - -import java.util.Arrays; - -@Configuration -public class OpenApiConfig { - - @Bean - public OpenAPI openApi(ApplicationProperties applicationProperties) { - return new OpenAPI() - .components(new Components().addSecuritySchemes("bearer-jwt", new SecurityScheme() - .type(SecurityScheme.Type.HTTP) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name(HttpHeaders.AUTHORIZATION) - )) - .addSecurityItem( - new SecurityRequirement().addList("bearer-jwt", Arrays.asList("read", "write"))) - .info(new Info() - .title(applicationProperties.getName()) - .version(applicationProperties.getVersion()) - .description(applicationProperties.getDescription()) - .termsOfService("https://nav.no") - .contact(new Contact() - .url("https://nav-it.slack.com/archives/CA3P9NGA2") - .email("dolly@nav.no") - .name("Team Dolly") - ) - .license(new License() - .name("MIT License") - .url("https://opensource.org/licenses/MIT") - ) - ); - } -} \ No newline at end of file diff --git a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/config/SecurityConfig.java b/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/config/SecurityConfig.java deleted file mode 100644 index 49a1dd71577..00000000000 --- a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/config/SecurityConfig.java +++ /dev/null @@ -1,38 +0,0 @@ -package no.nav.registre.testnav.ameldingservice.config; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.reactivesecurity.manager.JwtReactiveAuthenticationManager; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.config.annotation.method.configuration.EnableReactiveMethodSecurity; -import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity; -import org.springframework.security.config.web.server.ServerHttpSecurity; -import org.springframework.security.web.server.SecurityWebFilterChain; - -@Slf4j -@Configuration -@EnableWebFluxSecurity -@EnableReactiveMethodSecurity -@RequiredArgsConstructor -public class SecurityConfig { - - private final JwtReactiveAuthenticationManager jwtReactiveAuthenticationManager; - - @Bean - public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity httpSecurity) { - return httpSecurity - .csrf(ServerHttpSecurity.CsrfSpec::disable) - .authorizeExchange(authorizeConfig -> authorizeConfig.pathMatchers( - "/internal/**", - "/webjars/**", - "/v3/api-docs/**", - "/swagger-ui/**", - "/swagger", - "/error", - "/swagger-ui.html" - ).permitAll().anyExchange().authenticated()) - .oauth2ResourceServer(oauth2RSConfig -> oauth2RSConfig.jwt(jwtSpec -> jwtSpec.authenticationManager(jwtReactiveAuthenticationManager))) - .build(); - } -} diff --git a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/consumer/OppsummeringsdokumentConsumer.java b/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/consumer/OppsummeringsdokumentConsumer.java deleted file mode 100644 index 3c258ca0eac..00000000000 --- a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/consumer/OppsummeringsdokumentConsumer.java +++ /dev/null @@ -1,89 +0,0 @@ -package no.nav.registre.testnav.ameldingservice.consumer; - -import com.fasterxml.jackson.databind.ObjectMapper; -import io.swagger.v3.core.util.Json; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.ameldingservice.config.Consumers; -import no.nav.testnav.libs.commands.GetOppsummeringsdokumentByIdCommand; -import no.nav.testnav.libs.commands.GetOppsummeringsdokumentCommand; -import no.nav.testnav.libs.commands.SaveOppsummeringsdokumenterCommand; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.Populasjon; -import no.nav.testnav.libs.reactivecore.config.ApplicationProperties; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import org.springframework.http.MediaType; -import org.springframework.http.codec.json.Jackson2JsonDecoder; -import org.springframework.http.codec.json.Jackson2JsonEncoder; -import org.springframework.stereotype.Service; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; - -@Slf4j -@Service -public class OppsummeringsdokumentConsumer { - private static final int BYTE_COUNT = 16 * 1024 * 1024; - private final WebClient webClient; - private final ApplicationProperties applicationProperties; - - public OppsummeringsdokumentConsumer( - Consumers consumers, - ObjectMapper objectMapper, - ApplicationProperties applicationProperties, - WebClient.Builder webClientBuilder) { - - this.applicationProperties = applicationProperties; - this.webClient = webClientBuilder - .baseUrl(consumers.getOppsummeringsdokumentService().getUrl()) - .codecs( - clientDefaultCodecsConfigurer -> { - clientDefaultCodecsConfigurer - .defaultCodecs() - .maxInMemorySize(BYTE_COUNT); - clientDefaultCodecsConfigurer - .defaultCodecs() - .jackson2JsonEncoder(new Jackson2JsonEncoder(objectMapper, MediaType.APPLICATION_JSON)); - clientDefaultCodecsConfigurer - .defaultCodecs() - .jackson2JsonDecoder(new Jackson2JsonDecoder(objectMapper, MediaType.APPLICATION_JSON)); - }) - .build(); - } - - public Mono save(OppsummeringsdokumentDTO dto, String miljo, AccessToken accessToken) { - - log.info("Dokument til innsending: {}", Json.pretty(dto)); - - return new SaveOppsummeringsdokumenterCommand( - webClient, - accessToken.getTokenValue(), - dto, - miljo, - applicationProperties.getName(), - Populasjon.DOLLY - ).call(); - } - - - public Mono get(String opplysningspliktigOrgnummer, LocalDate kalendermaaned, String miljo, AccessToken accessToken) { - return new GetOppsummeringsdokumentCommand( - webClient, - accessToken.getTokenValue(), - opplysningspliktigOrgnummer, - kalendermaaned, - miljo) - .call() - .doOnNext(response -> log.info("Eksisterende dokument: {}", response)); - } - - public Mono get(String id, Mono accessToken) { - return - accessToken.flatMap(token -> new GetOppsummeringsdokumentByIdCommand( - webClient, - token, - id - ).call()); - } - -} diff --git a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/controller/AMeldingController.java b/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/controller/AMeldingController.java deleted file mode 100644 index bfdc73d100f..00000000000 --- a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/controller/AMeldingController.java +++ /dev/null @@ -1,49 +0,0 @@ -package no.nav.registre.testnav.ameldingservice.controller; - -import lombok.RequiredArgsConstructor; -import no.nav.registre.testnav.ameldingservice.domain.AMelding; -import no.nav.registre.testnav.ameldingservice.service.AMeldingService; -import no.nav.testnav.libs.dto.ameldingservice.v1.AMeldingDTO; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.http.server.reactive.ServerHttpRequest; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Mono; - -import java.net.URI; - -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/v1/amelding") -public class AMeldingController { - private final AMeldingService service; - - @PutMapping - public Mono> save( - @RequestHeader String miljo, - @RequestBody AMeldingDTO dto, - ServerHttpRequest serverHttpRequest - ) { - return service - .save(new AMelding(dto), miljo) - .map(id -> ResponseEntity - .created(URI.create(serverHttpRequest.getURI() + "/" + id)) - .header("ID", id) - .build() - ); - } - - @GetMapping("/{id}") - public Mono> get(@PathVariable("id") String id) { - return service.get(id) - .map(value -> ResponseEntity.ok(value.toDTO())) - .switchIfEmpty(Mono.just(ResponseEntity.notFound().build())); - } - -} diff --git a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/domain/AMelding.java b/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/domain/AMelding.java deleted file mode 100644 index a239ca91bdc..00000000000 --- a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/domain/AMelding.java +++ /dev/null @@ -1,290 +0,0 @@ -package no.nav.registre.testnav.ameldingservice.domain; - -import lombok.RequiredArgsConstructor; -import no.nav.testnav.libs.dto.ameldingservice.v1.AMeldingDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.AvvikDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.FartoeyDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.InntektDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PermisjonDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PersonDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.VirksomhetDTO; - -import java.time.LocalDate; - -@RequiredArgsConstructor -public class AMelding { - private final AMeldingDTO dto; - - public LocalDate getKalendermaaned() { - return dto.getKalendermaaned(); - } - - public String getOpplysningspliktigOrganisajonsnummer() { - return dto.getOpplysningspliktigOrganisajonsnummer(); - } - - public AMelding(OppsummeringsdokumentDTO oppsummeringsdokumentDTO) { - this.dto = create(oppsummeringsdokumentDTO); - } - - public AMeldingDTO toDTO() { - return this.dto; - } - - public OppsummeringsdokumentDTO updateOppsummeringsdokumentDTO(OppsummeringsdokumentDTO oppsummeringsdokumentDTO) { - oppsummeringsdokumentDTO.setVersion(oppsummeringsdokumentDTO.getVersion() + 1); - dto.getVirksomheter().forEach(newVirksomhet -> { - var result = oppsummeringsdokumentDTO - .getVirksomheter() - .stream() - .filter(value -> value.getOrganisajonsnummer().equals(newVirksomhet.getOrganisajonsnummer())) - .findFirst(); - - if (result.isEmpty()) { - oppsummeringsdokumentDTO.getVirksomheter().add(create(newVirksomhet)); - } else { - merge(result.get(), newVirksomhet); - } - }); - return oppsummeringsdokumentDTO; - } - - public OppsummeringsdokumentDTO newOppsummeringsdokumentDTO() { - return create(dto); - } - - private void merge( - VirksomhetDTO target, - no.nav.testnav.libs.dto.ameldingservice.v1.VirksomhetDTO other - ) { - other.getPersoner().forEach(newPerson -> { - var result = target.getPersoner() - .stream() - .filter(value -> value.getIdent().equals(newPerson.getIdent())) - .findFirst(); - - if (result.isEmpty()) { - target.getPersoner().add(create(newPerson)); - } else { - merge(result.get(), newPerson); - } - }); - } - - private void merge(PersonDTO target, no.nav.testnav.libs.dto.ameldingservice.v1.PersonDTO other) { - other.getArbeidsforhold().forEach(newArbeidsforhold -> { - var result = target.getArbeidsforhold() - .stream() - .filter(value -> isEqual(value, newArbeidsforhold)) - .findFirst(); - - if (result.isEmpty()) { - target.getArbeidsforhold().add(create(newArbeidsforhold)); - } else { - merge(result.get(), newArbeidsforhold); - } - }); - } - - private void merge(ArbeidsforholdDTO target, no.nav.testnav.libs.dto.ameldingservice.v1.ArbeidsforholdDTO other) { - target.setArbeidstidsordning(other.getArbeidstidsordning()); - target.setAvvik(other.getAvvik().stream().map(this::create).toList()); - target.setFartoey(create(other.getFartoey())); - target.setInntekter(other.getInntekter().stream().map(this::create).toList()); - target.setPermisjoner(other.getPermisjoner().stream().map(this::create).toList()); - target.setAntallTimerPerUke(other.getAntallTimerPerUke()); - target.setSluttdato(other.getSluttdato()); - target.setStartdato(other.getStartdato()); - target.setSisteLoennsendringsdato(other.getSisteLoennsendringsdato()); - target.setStillingsprosent(other.getStillingsprosent()); - target.setTypeArbeidsforhold(other.getArbeidsforholdType()); - target.setYrke(other.getYrke()); - } - - private boolean isEqual(ArbeidsforholdDTO first, no.nav.testnav.libs.dto.ameldingservice.v1.ArbeidsforholdDTO second) { - return first.getArbeidsforholdId() == null && second.getArbeidsforholdId() == null - || first.getArbeidsforholdId() != null && second.getArbeidsforholdId() != null && first.getArbeidsforholdId().equals(second.getArbeidsforholdId()); - } - - - private OppsummeringsdokumentDTO create(AMeldingDTO aMeldingDTO) { - return OppsummeringsdokumentDTO - .builder() - .kalendermaaned(aMeldingDTO.getKalendermaaned()) - .opplysningspliktigOrganisajonsnummer(aMeldingDTO.getOpplysningspliktigOrganisajonsnummer()) - .virksomheter(aMeldingDTO.getVirksomheter().stream().map(this::create).toList()) - .version(1L) - .build(); - } - - private AMeldingDTO create(OppsummeringsdokumentDTO oppsummeringsdokumentDTO) { - return AMeldingDTO - .builder() - .kalendermaaned(oppsummeringsdokumentDTO.getKalendermaaned()) - .opplysningspliktigOrganisajonsnummer(oppsummeringsdokumentDTO.getOpplysningspliktigOrganisajonsnummer()) - .virksomheter(oppsummeringsdokumentDTO.getVirksomheter().stream().map(this::create).toList()) - .build(); - } - - private VirksomhetDTO create(no.nav.testnav.libs.dto.ameldingservice.v1.VirksomhetDTO virksomhet) { - return VirksomhetDTO - .builder() - .organisajonsnummer(virksomhet.getOrganisajonsnummer()) - .personer(virksomhet.getPersoner().stream().map(this::create).toList()) - .build(); - } - - private no.nav.testnav.libs.dto.ameldingservice.v1.VirksomhetDTO create(VirksomhetDTO virksomhet) { - return no.nav.testnav.libs.dto.ameldingservice.v1.VirksomhetDTO - .builder() - .organisajonsnummer(virksomhet.getOrganisajonsnummer()) - .personer(virksomhet.getPersoner().stream().map(this::create).toList()) - .build(); - } - - private PersonDTO create(no.nav.testnav.libs.dto.ameldingservice.v1.PersonDTO personDTO) { - return PersonDTO - .builder() - .ident(personDTO.getIdent()) - .arbeidsforhold(personDTO.getArbeidsforhold().stream().map(this::create).toList()) - .build(); - } - - private no.nav.testnav.libs.dto.ameldingservice.v1.PersonDTO create(PersonDTO personDTO) { - return no.nav.testnav.libs.dto.ameldingservice.v1.PersonDTO - .builder() - .ident(personDTO.getIdent()) - .arbeidsforhold(personDTO.getArbeidsforhold().stream().map(this::create).toList()) - .build(); - } - - private ArbeidsforholdDTO create(no.nav.testnav.libs.dto.ameldingservice.v1.ArbeidsforholdDTO arbeidsforholdDTO) { - return ArbeidsforholdDTO - .builder() - .antallTimerPerUke(arbeidsforholdDTO.getAntallTimerPerUke()) - .arbeidsforholdId(arbeidsforholdDTO.getArbeidsforholdId()) - .arbeidstidsordning(arbeidsforholdDTO.getArbeidstidsordning()) - .avvik(arbeidsforholdDTO.getAvvik().stream().map(this::create).toList()) - .fartoey(create(arbeidsforholdDTO.getFartoey())) - .sisteLoennsendringsdato(arbeidsforholdDTO.getSisteLoennsendringsdato()) - .sluttdato(arbeidsforholdDTO.getSluttdato()) - .startdato(arbeidsforholdDTO.getStartdato()) - .stillingsprosent(arbeidsforholdDTO.getStillingsprosent()) - .typeArbeidsforhold(arbeidsforholdDTO.getArbeidsforholdType()) - .yrke(arbeidsforholdDTO.getYrke()) - .inntekter(arbeidsforholdDTO.getInntekter().stream().map(this::create).toList()) - .permisjoner(arbeidsforholdDTO.getPermisjoner().stream().map(this::create).toList()) - .build(); - } - - private no.nav.testnav.libs.dto.ameldingservice.v1.ArbeidsforholdDTO create(ArbeidsforholdDTO arbeidsforholdDTO) { - return no.nav.testnav.libs.dto.ameldingservice.v1.ArbeidsforholdDTO - .builder() - .antallTimerPerUke(arbeidsforholdDTO.getAntallTimerPerUke()) - .arbeidsforholdId(arbeidsforholdDTO.getArbeidsforholdId()) - .arbeidstidsordning(arbeidsforholdDTO.getArbeidstidsordning()) - .avvik(arbeidsforholdDTO.getAvvik().stream().map(this::create).toList()) - .fartoey(create(arbeidsforholdDTO.getFartoey())) - .sisteLoennsendringsdato(arbeidsforholdDTO.getSisteLoennsendringsdato()) - .sluttdato(arbeidsforholdDTO.getSluttdato()) - .startdato(arbeidsforholdDTO.getStartdato()) - .stillingsprosent(arbeidsforholdDTO.getStillingsprosent()) - .arbeidsforholdType(arbeidsforholdDTO.getTypeArbeidsforhold()) - .yrke(arbeidsforholdDTO.getYrke()) - .inntekter(arbeidsforholdDTO.getInntekter().stream().map(this::create).toList()) - .permisjoner(arbeidsforholdDTO.getPermisjoner().stream().map(this::create).toList()) - .build(); - } - - private PermisjonDTO create(no.nav.testnav.libs.dto.ameldingservice.v1.PermisjonDTO permisjonDTO) { - return PermisjonDTO - .builder() - .avvik(permisjonDTO.getAvvik().stream().map(this::create).toList()) - .beskrivelse(permisjonDTO.getBeskrivelse()) - .permisjonId(permisjonDTO.getPermisjonId()) - .permisjonsprosent(permisjonDTO.getPermisjonsprosent()) - .sluttdato(permisjonDTO.getSluttdato()) - .startdato(permisjonDTO.getStartdato()) - .build(); - } - - private no.nav.testnav.libs.dto.ameldingservice.v1.PermisjonDTO create(PermisjonDTO permisjonDTO) { - return no.nav.testnav.libs.dto.ameldingservice.v1.PermisjonDTO - .builder() - .avvik(permisjonDTO.getAvvik().stream().map(this::create).toList()) - .beskrivelse(permisjonDTO.getBeskrivelse()) - .permisjonId(permisjonDTO.getPermisjonId()) - .permisjonsprosent(permisjonDTO.getPermisjonsprosent()) - .sluttdato(permisjonDTO.getSluttdato()) - .startdato(permisjonDTO.getStartdato()) - .build(); - } - - private InntektDTO create(no.nav.testnav.libs.dto.ameldingservice.v1.InntektDTO inntektDTO) { - return InntektDTO - .builder() - .antall(inntektDTO.getAntall()) - .avvik(inntektDTO.getAvvik().stream().map(this::create).toList()) - .opptjeningsland(inntektDTO.getOpptjeningsland()) - .sluttdatoOpptjeningsperiode(inntektDTO.getSluttdatoOpptjeningsperiode()) - .startdatoOpptjeningsperiode(inntektDTO.getStartdatoOpptjeningsperiode()) - .build(); - } - - private no.nav.testnav.libs.dto.ameldingservice.v1.InntektDTO create(InntektDTO inntektDTO) { - return no.nav.testnav.libs.dto.ameldingservice.v1.InntektDTO - .builder() - .antall(inntektDTO.getAntall()) - .avvik(inntektDTO.getAvvik().stream().map(this::create).toList()) - .opptjeningsland(inntektDTO.getOpptjeningsland()) - .sluttdatoOpptjeningsperiode(inntektDTO.getSluttdatoOpptjeningsperiode()) - .startdatoOpptjeningsperiode(inntektDTO.getStartdatoOpptjeningsperiode()) - .build(); - } - - - private FartoeyDTO create(no.nav.testnav.libs.dto.ameldingservice.v1.FartoeyDTO fartoeyDTO) { - if (fartoeyDTO == null) { - return null; - } - return FartoeyDTO - .builder() - .fartsomraade(fartoeyDTO.getFartsomraade()) - .skipsregister(fartoeyDTO.getSkipsregister()) - .skipstype(fartoeyDTO.getSkipstype()) - .build(); - } - - private no.nav.testnav.libs.dto.ameldingservice.v1.FartoeyDTO create(FartoeyDTO fartoeyDTO) { - if (fartoeyDTO == null) { - return null; - } - return no.nav.testnav.libs.dto.ameldingservice.v1.FartoeyDTO - .builder() - .fartsomraade(fartoeyDTO.getFartsomraade()) - .skipsregister(fartoeyDTO.getSkipsregister()) - .skipstype(fartoeyDTO.getSkipstype()) - .build(); - } - - private AvvikDTO create(no.nav.testnav.libs.dto.ameldingservice.v1.AvvikDTO avvikDTO) { - return AvvikDTO - .builder() - .id(avvikDTO.getId()) - .alvorlighetsgrad(avvikDTO.getAlvorlighetsgrad()) - .navn(avvikDTO.getNavn()) - .build(); - } - - private no.nav.testnav.libs.dto.ameldingservice.v1.AvvikDTO create(AvvikDTO avvikDTO) { - return no.nav.testnav.libs.dto.ameldingservice.v1.AvvikDTO - .builder() - .id(avvikDTO.getId()) - .alvorlighetsgrad(avvikDTO.getAlvorlighetsgrad()) - .navn(avvikDTO.getNavn()) - .build(); - } - -} diff --git a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/filter/SwaggerWebFilter.java b/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/filter/SwaggerWebFilter.java deleted file mode 100644 index 5346503b814..00000000000 --- a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/filter/SwaggerWebFilter.java +++ /dev/null @@ -1,23 +0,0 @@ -package no.nav.registre.testnav.ameldingservice.filter; - -import org.springframework.stereotype.Component; -import org.springframework.web.server.ServerWebExchange; -import org.springframework.web.server.WebFilter; -import org.springframework.web.server.WebFilterChain; -import reactor.core.publisher.Mono; - -@Component -public class SwaggerWebFilter implements WebFilter { - @Override - public Mono filter(ServerWebExchange exchange, WebFilterChain chain) { - if (exchange.getRequest().getURI().getPath().equals("/swagger")) { - return chain - .filter(exchange.mutate() - .request(exchange.getRequest() - .mutate().path("/swagger-ui.html").build()) - .build()); - } - - return chain.filter(exchange); - } -} \ No newline at end of file diff --git a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/service/AMeldingService.java b/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/service/AMeldingService.java deleted file mode 100644 index e780ceb060f..00000000000 --- a/apps/amelding-service/src/main/java/no/nav/registre/testnav/ameldingservice/service/AMeldingService.java +++ /dev/null @@ -1,35 +0,0 @@ -package no.nav.registre.testnav.ameldingservice.service; - -import lombok.RequiredArgsConstructor; -import no.nav.registre.testnav.ameldingservice.config.Consumers; -import no.nav.registre.testnav.ameldingservice.consumer.OppsummeringsdokumentConsumer; -import no.nav.registre.testnav.ameldingservice.domain.AMelding; -import no.nav.testnav.libs.reactivesecurity.exchange.TokenExchange; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import org.springframework.stereotype.Service; -import reactor.core.publisher.Mono; - -@Service -@RequiredArgsConstructor -public class AMeldingService { - private final OppsummeringsdokumentConsumer oppsummeringsdokumentConsumer; - private final Consumers consumers; - private final TokenExchange tokenExchange; - - public Mono save(AMelding aMelding, String miljo) { - return tokenExchange.exchange(consumers.getOppsummeringsdokumentService()).flatMap(accessToken -> oppsummeringsdokumentConsumer - .get( - aMelding.getOpplysningspliktigOrganisajonsnummer(), - aMelding.getKalendermaaned(), - miljo, - accessToken - ).map(aMelding::updateOppsummeringsdokumentDTO) - .switchIfEmpty(Mono.just(aMelding.newOppsummeringsdokumentDTO())) - .flatMap(oppsummeringsdokument -> oppsummeringsdokumentConsumer.save(oppsummeringsdokument, miljo, accessToken))); - } - - public Mono get(String id) { - Mono accessToken = tokenExchange.exchange(consumers.getOppsummeringsdokumentService()).map(AccessToken::getTokenValue); - return oppsummeringsdokumentConsumer.get(id, accessToken).map(AMelding::new); - } -} \ No newline at end of file diff --git a/apps/amelding-service/src/main/resources/application-local.yml b/apps/amelding-service/src/main/resources/application-local.yml deleted file mode 100644 index 8c3571f3863..00000000000 --- a/apps/amelding-service/src/main/resources/application-local.yml +++ /dev/null @@ -1,7 +0,0 @@ -spring: - config: - import: "sm://" - -consumers: - oppsummeringsdokument-service: - url: https://testnav-oppsummeringsdokument-service.intern.dev.nav.no \ No newline at end of file diff --git a/apps/amelding-service/src/main/resources/application.yml b/apps/amelding-service/src/main/resources/application.yml deleted file mode 100644 index 65b14e4f756..00000000000 --- a/apps/amelding-service/src/main/resources/application.yml +++ /dev/null @@ -1,20 +0,0 @@ -spring: - application: - name: testnav-amelding-service - version: application.version.todo - description: Tjeneste for å sende inn amelding - config: - import: "classpath:dolly-application.yml" - security: - oauth2: - resourceserver: - aad: - issuer-uri: ${AZURE_OPENID_CONFIG_ISSUER} - accepted-audience: ${AZURE_APP_CLIENT_ID}, api:// ${AZURE_APP_CLIENT_ID} - -consumers: - oppsummeringsdokument-service: - cluster: dev-gcp - namespace: dolly - name: testnav-oppsummeringsdokument-service - url: http://testnav-oppsummeringsdokument-service.dolly.svc.cluster.local \ No newline at end of file diff --git a/apps/amelding-service/src/main/resources/logback-spring.xml b/apps/amelding-service/src/main/resources/logback-spring.xml deleted file mode 100644 index ae836bf1b11..00000000000 --- a/apps/amelding-service/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - true - - 10280 - 20 - ^sun\.reflect\..*\.invoke - ^net\.sf\.cglib\.proxy\.MethodProxy\.invoke - java\.util\.concurrent\..* - org\.apache\.catalina\..* - org\.apache\.coyote\..* - org\.apache\.tomcat\..* - - - - - - - - - - - - - %d{HH:mm:ss.SSS} | %5p | %logger{25} | %m%n - - utf8 - - - - - - - - - \ No newline at end of file diff --git a/apps/amelding-service/src/test/java/no/nav/registre/testnav/ameldingservice/ApplicationContextTest.java b/apps/amelding-service/src/test/java/no/nav/registre/testnav/ameldingservice/ApplicationContextTest.java deleted file mode 100644 index d7fd23bb871..00000000000 --- a/apps/amelding-service/src/test/java/no/nav/registre/testnav/ameldingservice/ApplicationContextTest.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.registre.testnav.ameldingservice; - -import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.dolly.libs.test.DollyApplicationContextTest; - -@DollySpringBootTest -class ApplicationContextTest extends DollyApplicationContextTest { -} diff --git a/apps/amelding-service/src/test/resources/application-test.yml b/apps/amelding-service/src/test/resources/application-test.yml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/apps/arbeidsforhold-service/Dockerfile b/apps/arbeidsforhold-service/Dockerfile deleted file mode 100644 index 65bd1527b96..00000000000 --- a/apps/arbeidsforhold-service/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM ghcr.io/navikt/baseimages/temurin:21 -LABEL maintainer="Team Dolly" - -ADD /build/libs/app.jar /app/app.jar - -ENV JAVA_OPTS="-Dspring.profiles.active=prod" - -EXPOSE 8080 diff --git a/apps/arbeidsforhold-service/README.md b/apps/arbeidsforhold-service/README.md deleted file mode 100644 index e25476ca6ec..00000000000 --- a/apps/arbeidsforhold-service/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# testnav-arbeidsforhold-service -API for arbeidsforhold som hentes fra testnav-aareg-proxy. - -## Lokal kjøring -* [Generelt.](../../docs/local_general.md) -* [Secret Manager.](../../docs/local_secretmanager.md) \ No newline at end of file diff --git a/apps/arbeidsforhold-service/build.gradle b/apps/arbeidsforhold-service/build.gradle deleted file mode 100644 index d63025e02c3..00000000000 --- a/apps/arbeidsforhold-service/build.gradle +++ /dev/null @@ -1,34 +0,0 @@ -plugins { - id "dolly-apps" -} - -sonarqube { - properties { - property "sonar.projectKey", "testnav-arbeidsforhold-service" - property "sonar.projectName", "testnav-arbeidsforhold-service" - } -} - -dependencies { - implementation "no.nav.testnav.libs:commands" - implementation "no.nav.testnav.libs:data-transfer-objects" - implementation "no.nav.testnav.libs:reactive-core" - implementation "no.nav.testnav.libs:security-core" - implementation "no.nav.testnav.libs:servlet-core" - implementation "no.nav.testnav.libs:servlet-security" - - implementation "org.springframework.boot:spring-boot-starter-oauth2-client" - implementation "org.springframework.boot:spring-boot-starter-security" - implementation "org.springframework.boot:spring-boot-starter-web" - - implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-xml" - implementation "com.google.guava:guava:$versions.guava" - implementation "io.swagger.core.v3:swagger-annotations-jakarta:$versions.swagger" - implementation "jakarta.xml.bind:jakarta.xml.bind-api:$versions.jakartaXmlBindApi" - implementation "javax.activation:activation:$versions.javaxActivation" - implementation "javax.annotation:javax.annotation-api:$versions.javaxAnnotation" - implementation "org.glassfish.jaxb:jaxb-runtime:$versions.jaxb" - implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:$versions.springdoc" - - testImplementation "org.springframework.cloud:spring-cloud-contract-wiremock" -} diff --git a/apps/arbeidsforhold-service/config.yml b/apps/arbeidsforhold-service/config.yml deleted file mode 100644 index e316ed7ec77..00000000000 --- a/apps/arbeidsforhold-service/config.yml +++ /dev/null @@ -1,66 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: testnav-arbeidsforhold-service - namespace: dolly - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - accessPolicy: - inbound: - rules: - - application: team-dolly-lokal-app - cluster: dev-gcp - - application: dolly-backend - cluster: dev-gcp - - application: dolly-backend-dev - cluster: dev-gcp - - application: testnav-oversikt-frontend - cluster: dev-gcp - - application: testnav-synt-sykemelding-api - cluster: dev-gcp - - application: testnav-synt-sykemelding-api-dev - cluster: dev-gcp - outbound: - external: - - host: testnav-aareg-proxy.dev-fss-pub.nais.io - liveness: - path: /internal/health/liveness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/health/readiness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - prometheus: - enabled: true - path: /internal/metrics - replicas: - min: 1 - max: 1 - resources: - requests: - cpu: 200m - memory: 1024Mi - limits: - memory: 2048Mi - ingresses: - - "https://testnav-arbeidsforhold-service.intern.dev.nav.no" \ No newline at end of file diff --git a/apps/arbeidsforhold-service/gradle/wrapper/gradle-wrapper.jar b/apps/arbeidsforhold-service/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59536 zcma&NbC71ylI~qywr$(CZQJHswz}-9F59+k+g;UV+cs{`J?GrGXYR~=-ydruB3JCa zB64N^cILAcWk5iofq)<(fq;O7{th4@;QxID0)qN`mJ?GIqLY#rX8-|G{5M0pdVW5^ zzXk$-2kQTAC?_N@B`&6-N-rmVFE=$QD?>*=4<|!MJu@}isLc4AW#{m2if&A5T5g&~ ziuMQeS*U5sL6J698wOd)K@oK@1{peP5&Esut<#VH^u)gp`9H4)`uE!2$>RTctN+^u z=ASkePDZA-X8)rp%D;p*~P?*a_=*Kwc<^>QSH|^<0>o37lt^+Mj1;4YvJ(JR-Y+?%Nu}JAYj5 z_Qc5%Ao#F?q32i?ZaN2OSNhWL;2oDEw_({7ZbgUjna!Fqn3NzLM@-EWFPZVmc>(fZ z0&bF-Ch#p9C{YJT9Rcr3+Y_uR^At1^BxZ#eo>$PLJF3=;t_$2|t+_6gg5(j{TmjYU zK12c&lE?Eh+2u2&6Gf*IdKS&6?rYbSEKBN!rv{YCm|Rt=UlPcW9j`0o6{66#y5t9C zruFA2iKd=H%jHf%ypOkxLnO8#H}#Zt{8p!oi6)7#NqoF({t6|J^?1e*oxqng9Q2Cc zg%5Vu!em)}Yuj?kaP!D?b?(C*w!1;>R=j90+RTkyEXz+9CufZ$C^umX^+4|JYaO<5 zmIM3#dv`DGM;@F6;(t!WngZSYzHx?9&$xEF70D1BvfVj<%+b#)vz)2iLCrTeYzUcL z(OBnNoG6Le%M+@2oo)&jdOg=iCszzv59e zDRCeaX8l1hC=8LbBt|k5?CXgep=3r9BXx1uR8!p%Z|0+4Xro=xi0G!e{c4U~1j6!) zH6adq0}#l{%*1U(Cb%4AJ}VLWKBPi0MoKFaQH6x?^hQ!6em@993xdtS%_dmevzeNl z(o?YlOI=jl(`L9^ z0O+H9k$_@`6L13eTT8ci-V0ljDMD|0ifUw|Q-Hep$xYj0hTO@0%IS^TD4b4n6EKDG z??uM;MEx`s98KYN(K0>c!C3HZdZ{+_53DO%9k5W%pr6yJusQAv_;IA}925Y%;+!tY z%2k!YQmLLOr{rF~!s<3-WEUs)`ix_mSU|cNRBIWxOox_Yb7Z=~Q45ZNe*u|m^|)d* zog=i>`=bTe!|;8F+#H>EjIMcgWcG2ORD`w0WD;YZAy5#s{65~qfI6o$+Ty&-hyMyJ z3Ra~t>R!p=5ZpxA;QkDAoPi4sYOP6>LT+}{xp}tk+<0k^CKCFdNYG(Es>p0gqD)jP zWOeX5G;9(m@?GOG7g;e74i_|SmE?`B2i;sLYwRWKLy0RLW!Hx`=!LH3&k=FuCsM=9M4|GqzA)anEHfxkB z?2iK-u(DC_T1};KaUT@3nP~LEcENT^UgPvp!QC@Dw&PVAhaEYrPey{nkcn(ro|r7XUz z%#(=$7D8uP_uU-oPHhd>>^adbCSQetgSG`e$U|7mr!`|bU0aHl_cmL)na-5x1#OsVE#m*+k84Y^+UMeSAa zbrVZHU=mFwXEaGHtXQq`2ZtjfS!B2H{5A<3(nb-6ARVV8kEmOkx6D2x7~-6hl;*-*}2Xz;J#a8Wn;_B5=m zl3dY;%krf?i-Ok^Pal-}4F`{F@TYPTwTEhxpZK5WCpfD^UmM_iYPe}wpE!Djai6_{ z*pGO=WB47#Xjb7!n2Ma)s^yeR*1rTxp`Mt4sfA+`HwZf%!7ZqGosPkw69`Ix5Ku6G z@Pa;pjzV&dn{M=QDx89t?p?d9gna*}jBly*#1!6}5K<*xDPJ{wv4& zM$17DFd~L*Te3A%yD;Dp9UGWTjRxAvMu!j^Tbc}2v~q^59d4bz zvu#!IJCy(BcWTc`;v$9tH;J%oiSJ_i7s;2`JXZF+qd4C)vY!hyCtl)sJIC{ebI*0> z@x>;EzyBv>AI-~{D6l6{ST=em*U( z(r$nuXY-#CCi^8Z2#v#UXOt`dbYN1z5jzNF2 z411?w)whZrfA20;nl&C1Gi+gk<`JSm+{|*2o<< zqM#@z_D`Cn|0H^9$|Tah)0M_X4c37|KQ*PmoT@%xHc3L1ZY6(p(sNXHa&49Frzto& zR`c~ClHpE~4Z=uKa5S(-?M8EJ$zt0&fJk~p$M#fGN1-y$7!37hld`Uw>Urri(DxLa;=#rK0g4J)pXMC zxzraOVw1+kNWpi#P=6(qxf`zSdUC?D$i`8ZI@F>k6k zz21?d+dw7b&i*>Kv5L(LH-?J%@WnqT7j#qZ9B>|Zl+=> z^U-pV@1y_ptHo4hl^cPRWewbLQ#g6XYQ@EkiP z;(=SU!yhjHp%1&MsU`FV1Z_#K1&(|5n(7IHbx&gG28HNT)*~-BQi372@|->2Aw5It z0CBpUcMA*QvsPy)#lr!lIdCi@1k4V2m!NH)%Px(vu-r(Q)HYc!p zJ^$|)j^E#q#QOgcb^pd74^JUi7fUmMiNP_o*lvx*q%_odv49Dsv$NV;6J z9GOXKomA{2Pb{w}&+yHtH?IkJJu~}Z?{Uk++2mB8zyvh*xhHKE``99>y#TdD z&(MH^^JHf;g(Tbb^&8P*;_i*2&fS$7${3WJtV7K&&(MBV2~)2KB3%cWg#1!VE~k#C z!;A;?p$s{ihyojEZz+$I1)L}&G~ml=udD9qh>Tu(ylv)?YcJT3ihapi!zgPtWb*CP zlLLJSRCj-^w?@;RU9aL2zDZY1`I3d<&OMuW=c3$o0#STpv_p3b9Wtbql>w^bBi~u4 z3D8KyF?YE?=HcKk!xcp@Cigvzy=lnFgc^9c%(^F22BWYNAYRSho@~*~S)4%AhEttv zvq>7X!!EWKG?mOd9&n>vvH1p4VzE?HCuxT-u+F&mnsfDI^}*-d00-KAauEaXqg3k@ zy#)MGX!X;&3&0s}F3q40ZmVM$(H3CLfpdL?hB6nVqMxX)q=1b}o_PG%r~hZ4gUfSp zOH4qlEOW4OMUc)_m)fMR_rl^pCfXc{$fQbI*E&mV77}kRF z&{<06AJyJ!e863o-V>FA1a9Eemx6>^F$~9ppt()ZbPGfg_NdRXBWoZnDy2;#ODgf! zgl?iOcF7Meo|{AF>KDwTgYrJLb$L2%%BEtO>T$C?|9bAB&}s;gI?lY#^tttY&hfr# zKhC+&b-rpg_?~uVK%S@mQleU#_xCsvIPK*<`E0fHE1&!J7!xD#IB|SSPW6-PyuqGn3^M^Rz%WT{e?OI^svARX&SAdU77V(C~ zM$H{Kg59op{<|8ry9ecfP%=kFm(-!W&?U0@<%z*+!*<e0XesMxRFu9QnGqun6R_%T+B%&9Dtk?*d$Q zb~>84jEAPi@&F@3wAa^Lzc(AJz5gsfZ7J53;@D<;Klpl?sK&u@gie`~vTsbOE~Cd4 z%kr56mI|#b(Jk&;p6plVwmNB0H@0SmgdmjIn5Ne@)}7Vty(yb2t3ev@22AE^s!KaN zyQ>j+F3w=wnx7w@FVCRe+`vUH)3gW%_72fxzqX!S&!dchdkRiHbXW1FMrIIBwjsai8`CB2r4mAbwp%rrO>3B$Zw;9=%fXI9B{d(UzVap7u z6piC-FQ)>}VOEuPpuqznpY`hN4dGa_1Xz9rVg(;H$5Te^F0dDv*gz9JS<|>>U0J^# z6)(4ICh+N_Q`Ft0hF|3fSHs*?a=XC;e`sJaU9&d>X4l?1W=|fr!5ShD|nv$GK;j46@BV6+{oRbWfqOBRb!ir88XD*SbC(LF}I1h#6@dvK%Toe%@ zhDyG$93H8Eu&gCYddP58iF3oQH*zLbNI;rN@E{T9%A8!=v#JLxKyUe}e}BJpB{~uN zqgxRgo0*-@-iaHPV8bTOH(rS(huwK1Xg0u+e!`(Irzu@Bld&s5&bWgVc@m7;JgELd zimVs`>vQ}B_1(2#rv#N9O`fJpVfPc7V2nv34PC);Dzbb;p!6pqHzvy?2pD&1NE)?A zt(t-ucqy@wn9`^MN5apa7K|L=9>ISC>xoc#>{@e}m#YAAa1*8-RUMKwbm|;5p>T`Z zNf*ph@tnF{gmDa3uwwN(g=`Rh)4!&)^oOy@VJaK4lMT&5#YbXkl`q?<*XtsqD z9PRK6bqb)fJw0g-^a@nu`^?71k|m3RPRjt;pIkCo1{*pdqbVs-Yl>4E>3fZx3Sv44grW=*qdSoiZ9?X0wWyO4`yDHh2E!9I!ZFi zVL8|VtW38}BOJHW(Ax#KL_KQzarbuE{(%TA)AY)@tY4%A%P%SqIU~8~-Lp3qY;U-} z`h_Gel7;K1h}7$_5ZZT0&%$Lxxr-<89V&&TCsu}LL#!xpQ1O31jaa{U34~^le*Y%L za?7$>Jk^k^pS^_M&cDs}NgXlR>16AHkSK-4TRaJSh#h&p!-!vQY%f+bmn6x`4fwTp z$727L^y`~!exvmE^W&#@uY!NxJi`g!i#(++!)?iJ(1)2Wk;RN zFK&O4eTkP$Xn~4bB|q8y(btx$R#D`O@epi4ofcETrx!IM(kWNEe42Qh(8*KqfP(c0 zouBl6>Fc_zM+V;F3znbo{x#%!?mH3`_ANJ?y7ppxS@glg#S9^MXu|FM&ynpz3o&Qh z2ujAHLF3($pH}0jXQsa#?t--TnF1P73b?4`KeJ9^qK-USHE)4!IYgMn-7z|=ALF5SNGkrtPG@Y~niUQV2?g$vzJN3nZ{7;HZHzWAeQ;5P|@Tl3YHpyznGG4-f4=XflwSJY+58-+wf?~Fg@1p1wkzuu-RF3j2JX37SQUc? zQ4v%`V8z9ZVZVqS8h|@@RpD?n0W<=hk=3Cf8R?d^9YK&e9ZybFY%jdnA)PeHvtBe- zhMLD+SSteHBq*q)d6x{)s1UrsO!byyLS$58WK;sqip$Mk{l)Y(_6hEIBsIjCr5t>( z7CdKUrJTrW%qZ#1z^n*Lb8#VdfzPw~OIL76aC+Rhr<~;4Tl!sw?Rj6hXj4XWa#6Tp z@)kJ~qOV)^Rh*-?aG>ic2*NlC2M7&LUzc9RT6WM%Cpe78`iAowe!>(T0jo&ivn8-7 zs{Qa@cGy$rE-3AY0V(l8wjI^uB8Lchj@?L}fYal^>T9z;8juH@?rG&g-t+R2dVDBe zq!K%{e-rT5jX19`(bP23LUN4+_zh2KD~EAYzhpEO3MUG8@}uBHH@4J zd`>_(K4q&>*k82(dDuC)X6JuPrBBubOg7qZ{?x!r@{%0);*`h*^F|%o?&1wX?Wr4b z1~&cy#PUuES{C#xJ84!z<1tp9sfrR(i%Tu^jnXy;4`Xk;AQCdFC@?V%|; zySdC7qS|uQRcH}EFZH%mMB~7gi}a0utE}ZE_}8PQH8f;H%PN41Cb9R%w5Oi5el^fd z$n{3SqLCnrF##x?4sa^r!O$7NX!}&}V;0ZGQ&K&i%6$3C_dR%I7%gdQ;KT6YZiQrW zk%q<74oVBV>@}CvJ4Wj!d^?#Zwq(b$E1ze4$99DuNg?6t9H}k_|D7KWD7i0-g*EO7 z;5{hSIYE4DMOK3H%|f5Edx+S0VI0Yw!tsaRS2&Il2)ea^8R5TG72BrJue|f_{2UHa z@w;^c|K3da#$TB0P3;MPlF7RuQeXT$ zS<<|C0OF(k)>fr&wOB=gP8!Qm>F41u;3esv7_0l%QHt(~+n; zf!G6%hp;Gfa9L9=AceiZs~tK+Tf*Wof=4!u{nIO90jH@iS0l+#%8=~%ASzFv7zqSB^?!@N7)kp0t&tCGLmzXSRMRyxCmCYUD2!B`? zhs$4%KO~m=VFk3Buv9osha{v+mAEq=ik3RdK@;WWTV_g&-$U4IM{1IhGX{pAu%Z&H zFfwCpUsX%RKg);B@7OUzZ{Hn{q6Vv!3#8fAg!P$IEx<0vAx;GU%}0{VIsmFBPq_mb zpe^BChDK>sc-WLKl<6 zwbW|e&d&dv9Wu0goueyu>(JyPx1mz0v4E?cJjFuKF71Q1)AL8jHO$!fYT3(;U3Re* zPPOe%*O+@JYt1bW`!W_1!mN&=w3G9ru1XsmwfS~BJ))PhD(+_J_^N6j)sx5VwbWK| zwRyC?W<`pOCY)b#AS?rluxuuGf-AJ=D!M36l{ua?@SJ5>e!IBr3CXIxWw5xUZ@Xrw z_R@%?{>d%Ld4p}nEsiA@v*nc6Ah!MUs?GA7e5Q5lPpp0@`%5xY$C;{%rz24$;vR#* zBP=a{)K#CwIY%p} zXVdxTQ^HS@O&~eIftU+Qt^~(DGxrdi3k}DdT^I7Iy5SMOp$QuD8s;+93YQ!OY{eB24%xY7ml@|M7I(Nb@K_-?F;2?et|CKkuZK_>+>Lvg!>JE~wN`BI|_h6$qi!P)+K-1Hh(1;a`os z55)4Q{oJiA(lQM#;w#Ta%T0jDNXIPM_bgESMCDEg6rM33anEr}=|Fn6)|jBP6Y}u{ zv9@%7*#RI9;fv;Yii5CI+KrRdr0DKh=L>)eO4q$1zmcSmglsV`*N(x=&Wx`*v!!hn6X-l0 zP_m;X??O(skcj+oS$cIdKhfT%ABAzz3w^la-Ucw?yBPEC+=Pe_vU8nd-HV5YX6X8r zZih&j^eLU=%*;VzhUyoLF;#8QsEfmByk+Y~caBqSvQaaWf2a{JKB9B>V&r?l^rXaC z8)6AdR@Qy_BxQrE2Fk?ewD!SwLuMj@&d_n5RZFf7=>O>hzVE*seW3U?_p|R^CfoY`?|#x9)-*yjv#lo&zP=uI`M?J zbzC<^3x7GfXA4{FZ72{PE*-mNHyy59Q;kYG@BB~NhTd6pm2Oj=_ zizmD?MKVRkT^KmXuhsk?eRQllPo2Ubk=uCKiZ&u3Xjj~<(!M94c)Tez@9M1Gfs5JV z->@II)CDJOXTtPrQudNjE}Eltbjq>6KiwAwqvAKd^|g!exgLG3;wP+#mZYr`cy3#39e653d=jrR-ulW|h#ddHu(m9mFoW~2yE zz5?dB%6vF}+`-&-W8vy^OCxm3_{02royjvmwjlp+eQDzFVEUiyO#gLv%QdDSI#3W* z?3!lL8clTaNo-DVJw@ynq?q!%6hTQi35&^>P85G$TqNt78%9_sSJt2RThO|JzM$iL zg|wjxdMC2|Icc5rX*qPL(coL!u>-xxz-rFiC!6hD1IR%|HSRsV3>Kq~&vJ=s3M5y8SG%YBQ|{^l#LGlg!D?E>2yR*eV%9m$_J6VGQ~AIh&P$_aFbh zULr0Z$QE!QpkP=aAeR4ny<#3Fwyw@rZf4?Ewq`;mCVv}xaz+3ni+}a=k~P+yaWt^L z@w67!DqVf7D%7XtXX5xBW;Co|HvQ8WR1k?r2cZD%U;2$bsM%u8{JUJ5Z0k= zZJARv^vFkmWx15CB=rb=D4${+#DVqy5$C%bf`!T0+epLJLnh1jwCdb*zuCL}eEFvE z{rO1%gxg>1!W(I!owu*mJZ0@6FM(?C+d*CeceZRW_4id*D9p5nzMY&{mWqrJomjIZ z97ZNnZ3_%Hx8dn;H>p8m7F#^2;T%yZ3H;a&N7tm=Lvs&lgJLW{V1@h&6Vy~!+Ffbb zv(n3+v)_D$}dqd!2>Y2B)#<+o}LH#%ogGi2-?xRIH)1!SD)u-L65B&bsJTC=LiaF+YOCif2dUX6uAA|#+vNR z>U+KQekVGon)Yi<93(d!(yw1h3&X0N(PxN2{%vn}cnV?rYw z$N^}_o!XUB!mckL`yO1rnUaI4wrOeQ(+&k?2mi47hzxSD`N#-byqd1IhEoh!PGq>t z_MRy{5B0eKY>;Ao3z$RUU7U+i?iX^&r739F)itdrTpAi-NN0=?^m%?{A9Ly2pVv>Lqs6moTP?T2-AHqFD-o_ znVr|7OAS#AEH}h8SRPQ@NGG47dO}l=t07__+iK8nHw^(AHx&Wb<%jPc$$jl6_p(b$ z)!pi(0fQodCHfM)KMEMUR&UID>}m^(!{C^U7sBDOA)$VThRCI0_+2=( zV8mMq0R(#z;C|7$m>$>`tX+T|xGt(+Y48@ZYu#z;0pCgYgmMVbFb!$?%yhZqP_nhn zy4<#3P1oQ#2b51NU1mGnHP$cf0j-YOgAA}A$QoL6JVLcmExs(kU{4z;PBHJD%_=0F z>+sQV`mzijSIT7xn%PiDKHOujX;n|M&qr1T@rOxTdxtZ!&u&3HHFLYD5$RLQ=heur zb>+AFokUVQeJy-#LP*^)spt{mb@Mqe=A~-4p0b+Bt|pZ+@CY+%x}9f}izU5;4&QFE zO1bhg&A4uC1)Zb67kuowWY4xbo&J=%yoXlFB)&$d*-}kjBu|w!^zbD1YPc0-#XTJr z)pm2RDy%J3jlqSMq|o%xGS$bPwn4AqitC6&e?pqWcjWPt{3I{>CBy;hg0Umh#c;hU3RhCUX=8aR>rmd` z7Orw(5tcM{|-^J?ZAA9KP|)X6n9$-kvr#j5YDecTM6n z&07(nD^qb8hpF0B^z^pQ*%5ePYkv&FabrlI61ntiVp!!C8y^}|<2xgAd#FY=8b*y( zuQOuvy2`Ii^`VBNJB&R!0{hABYX55ooCAJSSevl4RPqEGb)iy_0H}v@vFwFzD%>#I>)3PsouQ+_Kkbqy*kKdHdfkN7NBcq%V{x^fSxgXpg7$bF& zj!6AQbDY(1u#1_A#1UO9AxiZaCVN2F0wGXdY*g@x$ByvUA?ePdide0dmr#}udE%K| z3*k}Vv2Ew2u1FXBaVA6aerI36R&rzEZeDDCl5!t0J=ug6kuNZzH>3i_VN`%BsaVB3 zQYw|Xub_SGf{)F{$ZX5`Jc!X!;eybjP+o$I{Z^Hsj@D=E{MnnL+TbC@HEU2DjG{3-LDGIbq()U87x4eS;JXnSh;lRlJ z>EL3D>wHt-+wTjQF$fGyDO$>d+(fq@bPpLBS~xA~R=3JPbS{tzN(u~m#Po!?H;IYv zE;?8%^vle|%#oux(Lj!YzBKv+Fd}*Ur-dCBoX*t{KeNM*n~ZPYJ4NNKkI^MFbz9!v z4(Bvm*Kc!-$%VFEewYJKz-CQN{`2}KX4*CeJEs+Q(!kI%hN1!1P6iOq?ovz}X0IOi z)YfWpwW@pK08^69#wSyCZkX9?uZD?C^@rw^Y?gLS_xmFKkooyx$*^5#cPqntNTtSG zlP>XLMj2!VF^0k#ole7`-c~*~+_T5ls?x4)ah(j8vo_ zwb%S8qoaZqY0-$ZI+ViIA_1~~rAH7K_+yFS{0rT@eQtTAdz#8E5VpwnW!zJ_^{Utv zlW5Iar3V5t&H4D6A=>?mq;G92;1cg9a2sf;gY9pJDVKn$DYdQlvfXq}zz8#LyPGq@ z+`YUMD;^-6w&r-82JL7mA8&M~Pj@aK!m{0+^v<|t%APYf7`}jGEhdYLqsHW-Le9TL z_hZZ1gbrz7$f9^fAzVIP30^KIz!!#+DRLL+qMszvI_BpOSmjtl$hh;&UeM{ER@INV zcI}VbiVTPoN|iSna@=7XkP&-4#06C};8ajbxJ4Gcq8(vWv4*&X8bM^T$mBk75Q92j z1v&%a;OSKc8EIrodmIiw$lOES2hzGDcjjB`kEDfJe{r}yE6`eZL zEB`9u>Cl0IsQ+t}`-cx}{6jqcANucqIB>Qmga_&<+80E2Q|VHHQ$YlAt{6`Qu`HA3 z03s0-sSlwbvgi&_R8s={6<~M^pGvBNjKOa>tWenzS8s zR>L7R5aZ=mSU{f?ib4Grx$AeFvtO5N|D>9#)ChH#Fny2maHWHOf2G=#<9Myot#+4u zWVa6d^Vseq_0=#AYS(-m$Lp;*8nC_6jXIjEM`omUmtH@QDs3|G)i4j*#_?#UYVZvJ z?YjT-?!4Q{BNun;dKBWLEw2C-VeAz`%?A>p;)PL}TAZn5j~HK>v1W&anteARlE+~+ zj>c(F;?qO3pXBb|#OZdQnm<4xWmn~;DR5SDMxt0UK_F^&eD|KZ=O;tO3vy4@4h^;2 zUL~-z`-P1aOe?|ZC1BgVsL)2^J-&vIFI%q@40w0{jjEfeVl)i9(~bt2z#2Vm)p`V_ z1;6$Ae7=YXk#=Qkd24Y23t&GvRxaOoad~NbJ+6pxqzJ>FY#Td7@`N5xp!n(c!=RE& z&<<@^a$_Ys8jqz4|5Nk#FY$~|FPC0`*a5HH!|Gssa9=~66&xG9)|=pOOJ2KE5|YrR zw!w6K2aC=J$t?L-;}5hn6mHd%hC;p8P|Dgh6D>hGnXPgi;6r+eA=?f72y9(Cf_ho{ zH6#)uD&R=73^$$NE;5piWX2bzR67fQ)`b=85o0eOLGI4c-Tb@-KNi2pz=Ke@SDcPn za$AxXib84`!Sf;Z3B@TSo`Dz7GM5Kf(@PR>Ghzi=BBxK8wRp>YQoXm+iL>H*Jo9M3 z6w&E?BC8AFTFT&Tv8zf+m9<&S&%dIaZ)Aoqkak_$r-2{$d~0g2oLETx9Y`eOAf14QXEQw3tJne;fdzl@wV#TFXSLXM2428F-Q}t+n2g%vPRMUzYPvzQ9f# zu(liiJem9P*?0%V@RwA7F53r~|I!Ty)<*AsMX3J{_4&}{6pT%Tpw>)^|DJ)>gpS~1rNEh z0$D?uO8mG?H;2BwM5a*26^7YO$XjUm40XmBsb63MoR;bJh63J;OngS5sSI+o2HA;W zdZV#8pDpC9Oez&L8loZO)MClRz!_!WD&QRtQxnazhT%Vj6Wl4G11nUk8*vSeVab@N#oJ}`KyJv+8Mo@T1-pqZ1t|?cnaVOd;1(h9 z!$DrN=jcGsVYE-0-n?oCJ^4x)F}E;UaD-LZUIzcD?W^ficqJWM%QLy6QikrM1aKZC zi{?;oKwq^Vsr|&`i{jIphA8S6G4)$KGvpULjH%9u(Dq247;R#l&I0{IhcC|oBF*Al zvLo7Xte=C{aIt*otJD}BUq)|_pdR>{zBMT< z(^1RpZv*l*m*OV^8>9&asGBo8h*_4q*)-eCv*|Pq=XNGrZE)^(SF7^{QE_~4VDB(o zVcPA_!G+2CAtLbl+`=Q~9iW`4ZRLku!uB?;tWqVjB0lEOf}2RD7dJ=BExy=<9wkb- z9&7{XFA%n#JsHYN8t5d~=T~5DcW4$B%3M+nNvC2`0!#@sckqlzo5;hhGi(D9=*A4` z5ynobawSPRtWn&CDLEs3Xf`(8^zDP=NdF~F^s&={l7(aw&EG}KWpMjtmz7j_VLO;@ zM2NVLDxZ@GIv7*gzl1 zjq78tv*8#WSY`}Su0&C;2F$Ze(q>F(@Wm^Gw!)(j;dk9Ad{STaxn)IV9FZhm*n+U} zi;4y*3v%A`_c7a__DJ8D1b@dl0Std3F||4Wtvi)fCcBRh!X9$1x!_VzUh>*S5s!oq z;qd{J_r79EL2wIeiGAqFstWtkfIJpjVh%zFo*=55B9Zq~y0=^iqHWfQl@O!Ak;(o*m!pZqe9 z%U2oDOhR)BvW8&F70L;2TpkzIutIvNQaTjjs5V#8mV4!NQ}zN=i`i@WI1z0eN-iCS z;vL-Wxc^Vc_qK<5RPh(}*8dLT{~GzE{w2o$2kMFaEl&q zP{V=>&3kW7tWaK-Exy{~`v4J0U#OZBk{a9{&)&QG18L@6=bsZ1zC_d{{pKZ-Ey>I> z;8H0t4bwyQqgu4hmO`3|4K{R*5>qnQ&gOfdy?z`XD%e5+pTDzUt3`k^u~SaL&XMe= z9*h#kT(*Q9jO#w2Hd|Mr-%DV8i_1{J1MU~XJ3!WUplhXDYBpJH><0OU`**nIvPIof z|N8@I=wA)sf45SAvx||f?Z5uB$kz1qL3Ky_{%RPdP5iN-D2!p5scq}buuC00C@jom zhfGKm3|f?Z0iQ|K$Z~!`8{nmAS1r+fp6r#YDOS8V*;K&Gs7Lc&f^$RC66O|)28oh`NHy&vq zJh+hAw8+ybTB0@VhWN^0iiTnLsCWbS_y`^gs!LX!Lw{yE``!UVzrV24tP8o;I6-65 z1MUiHw^{bB15tmrVT*7-#sj6cs~z`wk52YQJ*TG{SE;KTm#Hf#a~|<(|ImHH17nNM z`Ub{+J3dMD!)mzC8b(2tZtokKW5pAwHa?NFiso~# z1*iaNh4lQ4TS)|@G)H4dZV@l*Vd;Rw;-;odDhW2&lJ%m@jz+Panv7LQm~2Js6rOW3 z0_&2cW^b^MYW3)@o;neZ<{B4c#m48dAl$GCc=$>ErDe|?y@z`$uq3xd(%aAsX)D%l z>y*SQ%My`yDP*zof|3@_w#cjaW_YW4BdA;#Glg1RQcJGY*CJ9`H{@|D+*e~*457kd z73p<%fB^PV!Ybw@)Dr%(ZJbX}xmCStCYv#K3O32ej{$9IzM^I{6FJ8!(=azt7RWf4 z7ib0UOPqN40X!wOnFOoddd8`!_IN~9O)#HRTyjfc#&MCZ zZAMzOVB=;qwt8gV?{Y2?b=iSZG~RF~uyx18K)IDFLl})G1v@$(s{O4@RJ%OTJyF+Cpcx4jmy|F3euCnMK!P2WTDu5j z{{gD$=M*pH!GGzL%P)V2*ROm>!$Y=z|D`!_yY6e7SU$~a5q8?hZGgaYqaiLnkK%?0 zs#oI%;zOxF@g*@(V4p!$7dS1rOr6GVs6uYCTt2h)eB4?(&w8{#o)s#%gN@BBosRUe z)@P@8_Zm89pr~)b>e{tbPC~&_MR--iB{=)y;INU5#)@Gix-YpgP<-c2Ms{9zuCX|3 z!p(?VaXww&(w&uBHzoT%!A2=3HAP>SDxcljrego7rY|%hxy3XlODWffO_%g|l+7Y_ zqV(xbu)s4lV=l7M;f>vJl{`6qBm>#ZeMA}kXb97Z)?R97EkoI?x6Lp0yu1Z>PS?2{ z0QQ(8D)|lc9CO3B~e(pQM&5(1y&y=e>C^X$`)_&XuaI!IgDTVqt31wX#n+@!a_A0ZQkA zCJ2@M_4Gb5MfCrm5UPggeyh)8 zO9?`B0J#rkoCx(R0I!ko_2?iO@|oRf1;3r+i)w-2&j?=;NVIdPFsB)`|IC0zk6r9c zRrkfxWsiJ(#8QndNJj@{@WP2Ackr|r1VxV{7S&rSU(^)-M8gV>@UzOLXu9K<{6e{T zXJ6b92r$!|lwjhmgqkdswY&}c)KW4A)-ac%sU;2^fvq7gfUW4Bw$b!i@duy1CAxSn z(pyh$^Z=&O-q<{bZUP+$U}=*#M9uVc>CQVgDs4swy5&8RAHZ~$)hrTF4W zPsSa~qYv_0mJnF89RnnJTH`3}w4?~epFl=D(35$ zWa07ON$`OMBOHgCmfO(9RFc<)?$x)N}Jd2A(<*Ll7+4jrRt9w zwGxExUXd9VB#I|DwfxvJ;HZ8Q{37^wDhaZ%O!oO(HpcqfLH%#a#!~;Jl7F5>EX_=8 z{()l2NqPz>La3qJR;_v+wlK>GsHl;uRA8%j`A|yH@k5r%55S9{*Cp%uw6t`qc1!*T za2OeqtQj7sAp#Q~=5Fs&aCR9v>5V+s&RdNvo&H~6FJOjvaj--2sYYBvMq;55%z8^o z|BJDA4vzfow#DO#ZQHh;Oq_{r+qP{R9ox2TOgwQiv7Ow!zjN+A@BN;0tA2lUb#+zO z(^b89eV)D7UVE+h{mcNc6&GtpOqDn_?VAQ)Vob$hlFwW%xh>D#wml{t&Ofmm_d_+; zKDxzdr}`n2Rw`DtyIjrG)eD0vut$}dJAZ0AohZ+ZQdWXn_Z@dI_y=7t3q8x#pDI-K z2VVc&EGq445Rq-j0=U=Zx`oBaBjsefY;%)Co>J3v4l8V(T8H?49_@;K6q#r~Wwppc z4XW0(4k}cP=5ex>-Xt3oATZ~bBWKv)aw|I|Lx=9C1s~&b77idz({&q3T(Y(KbWO?+ zmcZ6?WeUsGk6>km*~234YC+2e6Zxdl~<_g2J|IE`GH%n<%PRv-50; zH{tnVts*S5*_RxFT9eM0z-pksIb^drUq4>QSww=u;UFCv2AhOuXE*V4z?MM`|ABOC4P;OfhS(M{1|c%QZ=!%rQTDFx`+}?Kdx$&FU?Y<$x;j7z=(;Lyz+?EE>ov!8vvMtSzG!nMie zsBa9t8as#2nH}n8xzN%W%U$#MHNXmDUVr@GX{?(=yI=4vks|V)!-W5jHsU|h_&+kY zS_8^kd3jlYqOoiI`ZqBVY!(UfnAGny!FowZWY_@YR0z!nG7m{{)4OS$q&YDyw6vC$ zm4!$h>*|!2LbMbxS+VM6&DIrL*X4DeMO!@#EzMVfr)e4Tagn~AQHIU8?e61TuhcKD zr!F4(kEebk(Wdk-?4oXM(rJwanS>Jc%<>R(siF+>+5*CqJLecP_we33iTFTXr6W^G z7M?LPC-qFHK;E!fxCP)`8rkxZyFk{EV;G-|kwf4b$c1k0atD?85+|4V%YATWMG|?K zLyLrws36p%Qz6{}>7b>)$pe>mR+=IWuGrX{3ZPZXF3plvuv5Huax86}KX*lbPVr}L z{C#lDjdDeHr~?l|)Vp_}T|%$qF&q#U;ClHEPVuS+Jg~NjC1RP=17=aQKGOcJ6B3mp z8?4*-fAD~}sX*=E6!}^u8)+m2j<&FSW%pYr_d|p_{28DZ#Cz0@NF=gC-o$MY?8Ca8 zr5Y8DSR^*urS~rhpX^05r30Ik#2>*dIOGxRm0#0YX@YQ%Mg5b6dXlS!4{7O_kdaW8PFSdj1=ryI-=5$fiieGK{LZ+SX(1b=MNL!q#lN zv98?fqqTUH8r8C7v(cx#BQ5P9W>- zmW93;eH6T`vuJ~rqtIBg%A6>q>gnWb3X!r0wh_q;211+Om&?nvYzL1hhtjB zK_7G3!n7PL>d!kj){HQE zE8(%J%dWLh1_k%gVXTZt zEdT09XSKAx27Ncaq|(vzL3gm83q>6CAw<$fTnMU05*xAe&rDfCiu`u^1)CD<>sx0i z*hr^N_TeN89G(nunZoLBf^81#pmM}>JgD@Nn1l*lN#a=B=9pN%tmvYFjFIoKe_(GF z-26x{(KXdfsQL7Uv6UtDuYwV`;8V3w>oT_I<`Ccz3QqK9tYT5ZQzbop{=I=!pMOCb zCU68`n?^DT%^&m>A%+-~#lvF!7`L7a{z<3JqIlk1$<||_J}vW1U9Y&eX<}l8##6i( zZcTT@2`9(Mecptm@{3A_Y(X`w9K0EwtPq~O!16bq{7c0f7#(3wn-^)h zxV&M~iiF!{-6A@>o;$RzQ5A50kxXYj!tcgme=Qjrbje~;5X2xryU;vH|6bE(8z^<7 zQ>BG7_c*JG8~K7Oe68i#0~C$v?-t@~@r3t2inUnLT(c=URpA9kA8uq9PKU(Ps(LVH zqgcqW>Gm?6oV#AldDPKVRcEyQIdTT`Qa1j~vS{<;SwyTdr&3*t?J)y=M7q*CzucZ&B0M=joT zBbj@*SY;o2^_h*>R0e({!QHF0=)0hOj^B^d*m>SnRrwq>MolNSgl^~r8GR#mDWGYEIJA8B<|{{j?-7p zVnV$zancW3&JVDtVpIlI|5djKq0(w$KxEFzEiiL=h5Jw~4Le23@s(mYyXWL9SX6Ot zmb)sZaly_P%BeX_9 zw&{yBef8tFm+%=--m*J|o~+Xg3N+$IH)t)=fqD+|fEk4AAZ&!wcN5=mi~Vvo^i`}> z#_3ahR}Ju)(Px7kev#JGcSwPXJ2id9%Qd2A#Uc@t8~egZ8;iC{e! z%=CGJOD1}j!HW_sgbi_8suYnn4#Ou}%9u)dXd3huFIb!ytlX>Denx@pCS-Nj$`VO&j@(z!kKSP0hE4;YIP#w9ta=3DO$7f*x zc9M4&NK%IrVmZAe=r@skWD`AEWH=g+r|*13Ss$+{c_R!b?>?UaGXlw*8qDmY#xlR= z<0XFbs2t?8i^G~m?b|!Hal^ZjRjt<@a? z%({Gn14b4-a|#uY^=@iiKH+k?~~wTj5K1A&hU z2^9-HTC)7zpoWK|$JXaBL6C z#qSNYtY>65T@Zs&-0cHeu|RX(Pxz6vTITdzJdYippF zC-EB+n4}#lM7`2Ry~SO>FxhKboIAF#Z{1wqxaCb{#yEFhLuX;Rx(Lz%T`Xo1+a2M}7D+@wol2)OJs$TwtRNJ={( zD@#zTUEE}#Fz#&(EoD|SV#bayvr&E0vzmb%H?o~46|FAcx?r4$N z&67W3mdip-T1RIxwSm_&(%U|+WvtGBj*}t69XVd&ebn>KOuL(7Y8cV?THd-(+9>G7*Nt%T zcH;`p={`SOjaf7hNd(=37Lz3-51;58JffzIPgGs_7xIOsB5p2t&@v1mKS$2D$*GQ6 zM(IR*j4{nri7NMK9xlDy-hJW6sW|ZiDRaFiayj%;(%51DN!ZCCCXz+0Vm#};70nOx zJ#yA0P3p^1DED;jGdPbQWo0WATN=&2(QybbVdhd=Vq*liDk`c7iZ?*AKEYC#SY&2g z&Q(Ci)MJ{mEat$ZdSwTjf6h~roanYh2?9j$CF@4hjj_f35kTKuGHvIs9}Re@iKMxS-OI*`0S z6s)fOtz}O$T?PLFVSeOjSO26$@u`e<>k(OSP!&YstH3ANh>)mzmKGNOwOawq-MPXe zy4xbeUAl6tamnx))-`Gi2uV5>9n(73yS)Ukma4*7fI8PaEwa)dWHs6QA6>$}7?(L8 ztN8M}?{Tf!Zu22J5?2@95&rQ|F7=FK-hihT-vDp!5JCcWrVogEnp;CHenAZ)+E+K5 z$Cffk5sNwD_?4+ymgcHR(5xgt20Z8M`2*;MzOM#>yhk{r3x=EyM226wb&!+j`W<%* zSc&|`8!>dn9D@!pYow~(DsY_naSx7(Z4i>cu#hA5=;IuI88}7f%)bRkuY2B;+9Uep zpXcvFWkJ!mQai63BgNXG26$5kyhZ2&*3Q_tk)Ii4M>@p~_~q_cE!|^A;_MHB;7s#9 zKzMzK{lIxotjc};k67^Xsl-gS!^*m*m6kn|sbdun`O?dUkJ{0cmI0-_2y=lTAfn*Y zKg*A-2sJq)CCJgY0LF-VQvl&6HIXZyxo2#!O&6fOhbHXC?%1cMc6y^*dOS{f$=137Ds1m01qs`>iUQ49JijsaQ( zksqV9@&?il$|4Ua%4!O15>Zy&%gBY&wgqB>XA3!EldQ%1CRSM(pp#k~-pkcCg4LAT zXE=puHbgsw)!xtc@P4r~Z}nTF=D2~j(6D%gTBw$(`Fc=OOQ0kiW$_RDd=hcO0t97h zb86S5r=>(@VGy1&#S$Kg_H@7G^;8Ue)X5Y+IWUi`o;mpvoV)`fcVk4FpcT|;EG!;? zHG^zrVVZOm>1KFaHlaogcWj(v!S)O(Aa|Vo?S|P z5|6b{qkH(USa*Z7-y_Uvty_Z1|B{rTS^qmEMLEYUSk03_Fg&!O3BMo{b^*`3SHvl0 zhnLTe^_vVIdcSHe)SQE}r~2dq)VZJ!aSKR?RS<(9lzkYo&dQ?mubnWmgMM37Nudwo z3Vz@R{=m2gENUE3V4NbIzAA$H1z0pagz94-PTJyX{b$yndsdKptmlKQKaaHj@3=ED zc7L?p@%ui|RegVYutK$64q4pe9+5sv34QUpo)u{1ci?)_7gXQd{PL>b0l(LI#rJmN zGuO+%GO`xneFOOr4EU(Wg}_%bhzUf;d@TU+V*2#}!2OLwg~%D;1FAu=Un>OgjPb3S z7l(riiCwgghC=Lm5hWGf5NdGp#01xQ59`HJcLXbUR3&n%P(+W2q$h2Qd z*6+-QXJ*&Kvk9ht0f0*rO_|FMBALen{j7T1l%=Q>gf#kma zQlg#I9+HB+z*5BMxdesMND`_W;q5|FaEURFk|~&{@qY32N$G$2B=&Po{=!)x5b!#n zxLzblkq{yj05#O7(GRuT39(06FJlalyv<#K4m}+vs>9@q-&31@1(QBv82{}Zkns~K ze{eHC_RDX0#^A*JQTwF`a=IkE6Ze@j#-8Q`tTT?k9`^ZhA~3eCZJ-Jr{~7Cx;H4A3 zcZ+Zj{mzFZbVvQ6U~n>$U2ZotGsERZ@}VKrgGh0xM;Jzt29%TX6_&CWzg+YYMozrM z`nutuS)_0dCM8UVaKRj804J4i%z2BA_8A4OJRQ$N(P9Mfn-gF;4#q788C@9XR0O3< zsoS4wIoyt046d+LnSCJOy@B@Uz*#GGd#+Ln1ek5Dv>(ZtD@tgZlPnZZJGBLr^JK+!$$?A_fA3LOrkoDRH&l7 zcMcD$Hsjko3`-{bn)jPL6E9Ds{WskMrivsUu5apD z?grQO@W7i5+%X&E&p|RBaEZ(sGLR@~(y^BI@lDMot^Ll?!`90KT!JXUhYS`ZgX3jnu@Ja^seA*M5R@f`=`ynQV4rc$uT1mvE?@tz)TN<=&H1%Z?5yjxcpO+6y_R z6EPuPKM5uxKpmZfT(WKjRRNHs@ib)F5WAP7QCADvmCSD#hPz$V10wiD&{NXyEwx5S z6NE`3z!IS^$s7m}PCwQutVQ#~w+V z=+~->DI*bR2j0^@dMr9`p>q^Ny~NrAVxrJtX2DUveic5vM%#N*XO|?YAWwNI$Q)_) zvE|L(L1jP@F%gOGtnlXtIv2&1i8q<)Xfz8O3G^Ea~e*HJsQgBxWL(yuLY+jqUK zRE~`-zklrGog(X}$9@ZVUw!8*=l`6mzYLtsg`AvBYz(cxmAhr^j0~(rzXdiOEeu_p zE$sf2(w(BPAvO5DlaN&uQ$4@p-b?fRs}d7&2UQ4Fh?1Hzu*YVjcndqJLw0#q@fR4u zJCJ}>_7-|QbvOfylj+e^_L`5Ep9gqd>XI3-O?Wp z-gt*P29f$Tx(mtS`0d05nHH=gm~Po_^OxxUwV294BDKT>PHVlC5bndncxGR!n(OOm znsNt@Q&N{TLrmsoKFw0&_M9$&+C24`sIXGWgQaz=kY;S{?w`z^Q0JXXBKFLj0w0U6P*+jPKyZHX9F#b0D1$&(- zrm8PJd?+SrVf^JlfTM^qGDK&-p2Kdfg?f>^%>1n8bu&byH(huaocL>l@f%c*QkX2i znl}VZ4R1en4S&Bcqw?$=Zi7ohqB$Jw9x`aM#>pHc0x z0$!q7iFu zZ`tryM70qBI6JWWTF9EjgG@>6SRzsd}3h+4D8d~@CR07P$LJ}MFsYi-*O%XVvD@yT|rJ+Mk zDllJ7$n0V&A!0flbOf)HE6P_afPWZmbhpliqJuw=-h+r;WGk|ntkWN(8tKlYpq5Ow z(@%s>IN8nHRaYb*^d;M(D$zGCv5C|uqmsDjwy4g=Lz>*OhO3z=)VD}C<65;`89Ye} zSCxrv#ILzIpEx1KdLPlM&%Cctf@FqTKvNPXC&`*H9=l=D3r!GLM?UV zOxa(8ZsB`&+76S-_xuj?G#wXBfDY@Z_tMpXJS7^mp z@YX&u0jYw2A+Z+bD#6sgVK5ZgdPSJV3>{K^4~%HV?rn~4D)*2H!67Y>0aOmzup`{D zzDp3c9yEbGCY$U<8biJ_gB*`jluz1ShUd!QUIQJ$*1;MXCMApJ^m*Fiv88RZ zFopLViw}{$Tyhh_{MLGIE2~sZ)t0VvoW%=8qKZ>h=adTe3QM$&$PO2lfqH@brt!9j ziePM8$!CgE9iz6B<6_wyTQj?qYa;eC^{x_0wuwV~W+^fZmFco-o%wsKSnjXFEx02V zF5C2t)T6Gw$Kf^_c;Ei3G~uC8SM-xyycmXyC2hAVi-IfXqhu$$-C=*|X?R0~hu z8`J6TdgflslhrmDZq1f?GXF7*ALeMmOEpRDg(s*H`4>_NAr`2uqF;k;JQ+8>A|_6ZNsNLECC%NNEb1Y1dP zbIEmNpK)#XagtL4R6BC{C5T(+=yA-(Z|Ap}U-AfZM#gwVpus3(gPn}Q$CExObJ5AC z)ff9Yk?wZ}dZ-^)?cbb9Fw#EjqQ8jxF4G3=L?Ra zg_)0QDMV1y^A^>HRI$x?Op@t;oj&H@1xt4SZ9(kifQ zb59B*`M99Td7@aZ3UWvj1rD0sE)d=BsBuW*KwkCds7ay(7*01_+L}b~7)VHI>F_!{ zyxg-&nCO?v#KOUec0{OOKy+sjWA;8rTE|Lv6I9H?CI?H(mUm8VXGwU$49LGpz&{nQp2}dinE1@lZ1iox6{ghN&v^GZv9J${7WaXj)<0S4g_uiJ&JCZ zr8-hsu`U%N;+9N^@&Q0^kVPB3)wY(rr}p7{p0qFHb3NUUHJb672+wRZs`gd1UjKPX z4o6zljKKA+Kkj?H>Ew63o%QjyBk&1!P22;MkD>sM0=z_s-G{mTixJCT9@_|*(p^bz zJ8?ZZ&;pzV+7#6Mn`_U-)k8Pjg?a;|Oe^us^PoPY$Va~yi8|?+&=y$f+lABT<*pZr zP}D{~Pq1Qyni+@|aP;ixO~mbEW9#c0OU#YbDZIaw=_&$K%Ep2f%hO^&P67hApZe`x zv8b`Mz@?M_7-)b!lkQKk)JXXUuT|B8kJlvqRmRpxtQDgvrHMXC1B$M@Y%Me!BSx3P z#2Eawl$HleZhhTS6Txm>lN_+I`>eV$&v9fOg)%zVn3O5mI*lAl>QcHuW6!Kixmq`X zBCZ*Ck6OYtDiK!N47>jxI&O2a9x7M|i^IagRr-fmrmikEQGgw%J7bO|)*$2FW95O4 zeBs>KR)izRG1gRVL;F*sr8A}aRHO0gc$$j&ds8CIO1=Gwq1%_~E)CWNn9pCtBE}+`Jelk4{>S)M)`Ll=!~gnn1yq^EX(+y*ik@3Ou0qU`IgYi3*doM+5&dU!cho$pZ zn%lhKeZkS72P?Cf68<#kll_6OAO26bIbueZx**j6o;I0cS^XiL`y+>{cD}gd%lux} z)3N>MaE24WBZ}s0ApfdM;5J_Ny}rfUyxfkC``Awo2#sgLnGPewK};dORuT?@I6(5~ z?kE)Qh$L&fwJXzK){iYx!l5$Tt|^D~MkGZPA}(o6f7w~O2G6Vvzdo*a;iXzk$B66$ zwF#;wM7A+(;uFG4+UAY(2`*3XXx|V$K8AYu#ECJYSl@S=uZW$ksfC$~qrrbQj4??z-)uz0QL}>k^?fPnJTPw% zGz)~?B4}u0CzOf@l^um}HZzbaIwPmb<)< zi_3@E9lc)Qe2_`*Z^HH;1CXOceL=CHpHS{HySy3T%<^NrWQ}G0i4e1xm_K3(+~oi$ zoHl9wzb?Z4j#90DtURtjtgvi7uw8DzHYmtPb;?%8vb9n@bszT=1qr)V_>R%s!92_` zfnHQPANx z<#hIjIMm#*(v*!OXtF+w8kLu`o?VZ5k7{`vw{Yc^qYclpUGIM_PBN1+c{#Vxv&E*@ zxg=W2W~JuV{IuRYw3>LSI1)a!thID@R=bU+cU@DbR^_SXY`MC7HOsCN z!dO4OKV7(E_Z8T#8MA1H`99?Z!r0)qKW_#|29X3#Jb+5+>qUidbeP1NJ@)(qi2S-X zao|f0_tl(O+$R|Qwd$H{_ig|~I1fbp_$NkI!0E;Y z6JrnU{1Ra6^on{9gUUB0mwzP3S%B#h0fjo>JvV~#+X0P~JV=IG=yHG$O+p5O3NUgG zEQ}z6BTp^Fie)Sg<){Z&I8NwPR(=mO4joTLHkJ>|Tnk23E(Bo`FSbPc05lF2-+)X? z6vV3*m~IBHTy*^E!<0nA(tCOJW2G4DsH7)BxLV8kICn5lu6@U*R`w)o9;Ro$i8=Q^V%uH8n3q=+Yf;SFRZu z!+F&PKcH#8cG?aSK_Tl@K9P#8o+jry@gdexz&d(Q=47<7nw@e@FFfIRNL9^)1i@;A z28+$Z#rjv-wj#heI|<&J_DiJ*s}xd-f!{J8jfqOHE`TiHHZVIA8CjkNQ_u;Ery^^t zl1I75&u^`1_q)crO+JT4rx|z2ToSC>)Or@-D zy3S>jW*sNIZR-EBsfyaJ+Jq4BQE4?SePtD2+jY8*%FsSLZ9MY>+wk?}}}AFAw)vr{ml)8LUG-y9>^t!{~|sgpxYc0Gnkg`&~R z-pilJZjr@y5$>B=VMdZ73svct%##v%wdX~9fz6i3Q-zOKJ9wso+h?VME7}SjL=!NUG{J?M&i!>ma`eoEa@IX`5G>B1(7;%}M*%-# zfhJ(W{y;>MRz!Ic8=S}VaBKqh;~7KdnGEHxcL$kA-6E~=!hrN*zw9N+_=odt<$_H_8dbo;0=42wcAETPCVGUr~v(`Uai zb{=D!Qc!dOEU6v)2eHSZq%5iqK?B(JlCq%T6av$Cb4Rko6onlG&?CqaX7Y_C_cOC3 zYZ;_oI(}=>_07}Oep&Ws7x7-R)cc8zfe!SYxJYP``pi$FDS)4Fvw5HH=FiU6xfVqIM!hJ;Rx8c0cB7~aPtNH(Nmm5Vh{ibAoU#J6 zImRCr?(iyu_4W_6AWo3*vxTPUw@vPwy@E0`(>1Qi=%>5eSIrp^`` zK*Y?fK_6F1W>-7UsB)RPC4>>Ps9)f+^MqM}8AUm@tZ->j%&h1M8s*s!LX5&WxQcAh z8mciQej@RPm?660%>{_D+7er>%zX_{s|$Z+;G7_sfNfBgY(zLB4Ey}J9F>zX#K0f6 z?dVNIeEh?EIShmP6>M+d|0wMM85Sa4diw1hrg|ITJ}JDg@o8y>(rF9mXk5M z2@D|NA)-7>wD&wF;S_$KS=eE84`BGw3g0?6wGxu8ys4rwI?9U=*^VF22t3%mbGeOh z`!O-OpF7#Vceu~F`${bW0nYVU9ecmk31V{tF%iv&5hWofC>I~cqAt@u6|R+|HLMMX zVxuSlMFOK_EQ86#E8&KwxIr8S9tj_goWtLv4f@!&h8;Ov41{J~496vp9vX=(LK#j! zAwi*21RAV-LD>9Cw3bV_9X(X3)Kr0-UaB*7Y>t82EQ%!)(&(XuAYtTsYy-dz+w=$ir)VJpe!_$ z6SGpX^i(af3{o=VlFPC);|J8#(=_8#vdxDe|Cok+ANhYwbE*FO`Su2m1~w+&9<_9~ z-|tTU_ACGN`~CNW5WYYBn^B#SwZ(t4%3aPp z;o)|L6Rk569KGxFLUPx@!6OOa+5OjQLK5w&nAmwxkC5rZ|m&HT8G%GVZxB_@ME z>>{rnXUqyiJrT(8GMj_ap#yN_!9-lO5e8mR3cJiK3NE{_UM&=*vIU`YkiL$1%kf+1 z4=jk@7EEj`u(jy$HnzE33ZVW_J4bj}K;vT?T91YlO(|Y0FU4r+VdbmQ97%(J5 zkK*Bed8+C}FcZ@HIgdCMioV%A<*4pw_n}l*{Cr4}a(lq|injK#O?$tyvyE`S%(1`H z_wwRvk#13ElkZvij2MFGOj`fhy?nC^8`Zyo%yVcUAfEr8x&J#A{|moUBAV_^f$hpaUuyQeY3da^ zS9iRgf87YBwfe}>BO+T&Fl%rfpZh#+AM?Dq-k$Bq`vG6G_b4z%Kbd&v>qFjow*mBl z-OylnqOpLg}or7_VNwRg2za3VBK6FUfFX{|TD z`Wt0Vm2H$vdlRWYQJqDmM?JUbVqL*ZQY|5&sY*?!&%P8qhA~5+Af<{MaGo(dl&C5t zE%t!J0 zh6jqANt4ABdPxSTrVV}fLsRQal*)l&_*rFq(Ez}ClEH6LHv{J#v?+H-BZ2)Wy{K@9 z+ovXHq~DiDvm>O~r$LJo!cOuwL+Oa--6;UFE2q@g3N8Qkw5E>ytz^(&($!O47+i~$ zKM+tkAd-RbmP{s_rh+ugTD;lriL~`Xwkad#;_aM?nQ7L_muEFI}U_4$phjvYgleK~`Fo`;GiC07&Hq1F<%p;9Q;tv5b?*QnR%8DYJH3P>Svmv47Y>*LPZJy8_{9H`g6kQpyZU{oJ`m%&p~D=K#KpfoJ@ zn-3cqmHsdtN!f?~w+(t+I`*7GQA#EQC^lUA9(i6=i1PqSAc|ha91I%X&nXzjYaM{8$s&wEx@aVkQ6M{E2 zfzId#&r(XwUNtPcq4Ngze^+XaJA1EK-%&C9j>^9(secqe{}z>hR5CFNveMsVA)m#S zk)_%SidkY-XmMWlVnQ(mNJ>)ooszQ#vaK;!rPmGKXV7am^_F!Lz>;~{VrIO$;!#30XRhE1QqO_~#+Ux;B_D{Nk=grn z8Y0oR^4RqtcYM)7a%@B(XdbZCOqnX#fD{BQTeLvRHd(irHKq=4*jq34`6@VAQR8WG z^%)@5CXnD_T#f%@-l${>y$tfb>2LPmc{~5A82|16mH)R?&r#KKLs7xpN-D`=&Cm^R zvMA6#Ahr<3X>Q7|-qfTY)}32HkAz$_mibYV!I)u>bmjK`qwBe(>za^0Kt*HnFbSdO z1>+ryKCNxmm^)*$XfiDOF2|{-v3KKB?&!(S_Y=Ht@|ir^hLd978xuI&N{k>?(*f8H z=ClxVJK_%_z1TH0eUwm2J+2To7FK4o+n_na)&#VLn1m;!+CX+~WC+qg1?PA~KdOlC zW)C@pw75_xoe=w7i|r9KGIvQ$+3K?L{7TGHwrQM{dCp=Z*D}3kX7E-@sZnup!BImw z*T#a=+WcTwL78exTgBn|iNE3#EsOorO z*kt)gDzHiPt07fmisA2LWN?AymkdqTgr?=loT7z@d`wnlr6oN}@o|&JX!yPzC*Y8d zu6kWlTzE1)ckyBn+0Y^HMN+GA$wUO_LN6W>mxCo!0?oiQvT`z$jbSEu&{UHRU0E8# z%B^wOc@S!yhMT49Y)ww(Xta^8pmPCe@eI5C*ed96)AX9<>))nKx0(sci8gwob_1}4 z0DIL&vsJ1_s%<@y%U*-eX z5rN&(zef-5G~?@r79oZGW1d!WaTqQn0F6RIOa9tJ=0(kdd{d1{<*tHT#cCvl*i>YY zH+L7jq8xZNcTUBqj(S)ztTU!TM!RQ}In*n&Gn<>(60G7}4%WQL!o>hbJqNDSGwl#H z`4k+twp0cj%PsS+NKaxslAEu9!#U3xT1|_KB6`h=PI0SW`P9GTa7caD1}vKEglV8# zjKZR`pluCW19c2fM&ZG)c3T3Um;ir3y(tSCJ7Agl6|b524dy5El{^EQBG?E61H0XY z`bqg!;zhGhyMFl&(o=JWEJ8n~z)xI}A@C0d2hQGvw7nGv)?POU@(kS1m=%`|+^ika zXl8zjS?xqW$WlO?Ewa;vF~XbybHBor$f<%I&*t$F5fynwZlTGj|IjZtVfGa7l&tK} zW>I<69w(cZLu)QIVG|M2xzW@S+70NinQzk&Y0+3WT*cC)rx~04O-^<{JohU_&HL5XdUKW!uFy|i$FB|EMu0eUyW;gsf`XfIc!Z0V zeK&*hPL}f_cX=@iv>K%S5kL;cl_$v?n(Q9f_cChk8Lq$glT|=e+T*8O4H2n<=NGmn z+2*h+v;kBvF>}&0RDS>)B{1!_*XuE8A$Y=G8w^qGMtfudDBsD5>T5SB;Qo}fSkkiV ze^K^M(UthkwrD!&*tTsu>Dacdj_q`~V%r_twr$(Ct&_dKeeXE?fA&4&yASJWJ*}~- zel=@W)tusynfC_YqH4ll>4Eg`Xjs5F7Tj>tTLz<0N3)X<1px_d2yUY>X~y>>93*$) z5PuNMQLf9Bu?AAGO~a_|J2akO1M*@VYN^VxvP0F$2>;Zb9;d5Yfd8P%oFCCoZE$ z4#N$^J8rxYjUE_6{T%Y>MmWfHgScpuGv59#4u6fpTF%~KB^Ae`t1TD_^Ud#DhL+Dm zbY^VAM#MrAmFj{3-BpVSWph2b_Y6gCnCAombVa|1S@DU)2r9W<> zT5L8BB^er3zxKt1v(y&OYk!^aoQisqU zH(g@_o)D~BufUXcPt!Ydom)e|aW{XiMnes2z&rE?og>7|G+tp7&^;q?Qz5S5^yd$i z8lWr4g5nctBHtigX%0%XzIAB8U|T6&JsC4&^hZBw^*aIcuNO47de?|pGXJ4t}BB`L^d8tD`H`i zqrP8?#J@8T#;{^B!KO6J=@OWKhAerih(phML`(Rg7N1XWf1TN>=Z3Do{l_!d~DND&)O)D>ta20}@Lt77qSnVsA7>)uZAaT9bsB>u&aUQl+7GiY2|dAEg@%Al3i316y;&IhQL^8fw_nwS>f60M_-m+!5)S_6EPM7Y)(Nq^8gL7(3 zOiot`6Wy6%vw~a_H?1hLVzIT^i1;HedHgW9-P#)}Y6vF%C=P70X0Tk^z9Te@kPILI z_(gk!k+0%CG)%!WnBjjw*kAKs_lf#=5HXC00s-}oM-Q1aXYLj)(1d!_a7 z*Gg4Fe6F$*ujVjI|79Z5+Pr`us%zW@ln++2l+0hsngv<{mJ%?OfSo_3HJXOCys{Ug z00*YR-(fv<=&%Q!j%b-_ppA$JsTm^_L4x`$k{VpfLI(FMCap%LFAyq;#ns5bR7V+x zO!o;c5y~DyBPqdVQX)8G^G&jWkBy2|oWTw>)?5u}SAsI$RjT#)lTV&Rf8;>u*qXnb z8F%Xb=7#$m)83z%`E;49)t3fHInhtc#kx4wSLLms!*~Z$V?bTyUGiS&m>1P(952(H zuHdv=;o*{;5#X-uAyon`hP}d#U{uDlV?W?_5UjJvf%11hKwe&(&9_~{W)*y1nR5f_ z!N(R74nNK`y8>B!0Bt_Vr!;nc3W>~RiKtGSBkNlsR#-t^&;$W#)f9tTlZz>n*+Fjz z3zXZ;jf(sTM(oDzJt4FJS*8c&;PLTW(IQDFs_5QPy+7yhi1syPCarvqrHFcf&yTy)^O<1EBx;Ir`5W{TIM>{8w&PB>ro4;YD<5LF^TjTb0!zAP|QijA+1Vg>{Afv^% zmrkc4o6rvBI;Q8rj4*=AZacy*n8B{&G3VJc)so4$XUoie0)vr;qzPZVbb<#Fc=j+8CGBWe$n|3K& z_@%?{l|TzKSlUEO{U{{%Fz_pVDxs7i9H#bnbCw7@4DR=}r_qV!Zo~CvD4ZI*+j3kO zW6_=|S`)(*gM0Z;;}nj`73OigF4p6_NPZQ-Od~e$c_);;4-7sR>+2u$6m$Gf%T{aq zle>e3(*Rt(TPD}03n5)!Ca8Pu!V}m6v0o1;5<1h$*|7z|^(3$Y&;KHKTT}hV056wuF0Xo@mK-52~r=6^SI1NC%c~CC?n>yX6wPTgiWYVz!Sx^atLby9YNn1Rk{g?|pJaxD4|9cUf|V1_I*w zzxK)hRh9%zOl=*$?XUjly5z8?jPMy%vEN)f%T*|WO|bp5NWv@B(K3D6LMl!-6dQg0 zXNE&O>Oyf%K@`ngCvbGPR>HRg5!1IV$_}m@3dWB7x3t&KFyOJn9pxRXCAzFr&%37wXG;z^xaO$ekR=LJG ztIHpY8F5xBP{mtQidqNRoz= z@){+N3(VO5bD+VrmS^YjG@+JO{EOIW)9=F4v_$Ed8rZtHvjpiEp{r^c4F6Ic#ChlC zJX^DtSK+v(YdCW)^EFcs=XP7S>Y!4=xgmv>{S$~@h=xW-G4FF9?I@zYN$e5oF9g$# zb!eVU#J+NjLyX;yb)%SY)xJdvGhsnE*JEkuOVo^k5PyS=o#vq!KD46UTW_%R=Y&0G zFj6bV{`Y6)YoKgqnir2&+sl+i6foAn-**Zd1{_;Zb7Ki=u394C5J{l^H@XN`_6XTKY%X1AgQM6KycJ+= zYO=&t#5oSKB^pYhNdzPgH~aEGW2=ec1O#s-KG z71}LOg@4UEFtp3GY1PBemXpNs6UK-ax*)#$J^pC_me;Z$Je(OqLoh|ZrW*mAMBFn< zHttjwC&fkVfMnQeen8`Rvy^$pNRFVaiEN4Pih*Y3@jo!T0nsClN)pdrr9AYLcZxZ| zJ5Wlj+4q~($hbtuY zVQ7hl>4-+@6g1i`1a)rvtp-;b0>^`Dloy(#{z~ytgv=j4q^Kl}wD>K_Y!l~ zp(_&7sh`vfO(1*MO!B%<6E_bx1)&s+Ae`O)a|X=J9y~XDa@UB`m)`tSG4AUhoM=5& znWoHlA-(z@3n0=l{E)R-p8sB9XkV zZ#D8wietfHL?J5X0%&fGg@MH~(rNS2`GHS4xTo7L$>TPme+Is~!|79=^}QbPF>m%J zFMkGzSndiPO|E~hrhCeo@&Ea{M(ieIgRWMf)E}qeTxT8Q#g-!Lu*x$v8W^M^>?-g= zwMJ$dThI|~M06rG$Sv@C@tWR>_YgaG&!BAbkGggVQa#KdtDB)lMLNVLN|51C@F^y8 zCRvMB^{GO@j=cHfmy}_pCGbP%xb{pNN>? z?7tBz$1^zVaP|uaatYaIN+#xEN4jBzwZ|YI_)p(4CUAz1ZEbDk>J~Y|63SZaak~#0 zoYKruYsWHoOlC1(MhTnsdUOwQfz5p6-D0}4;DO$B;7#M{3lSE^jnTT;ns`>!G%i*F?@pR1JO{QTuD0U+~SlZxcc8~>IB{)@8p`P&+nDxNj`*gh|u?yrv$phpQcW)Us)bi`kT%qLj(fi{dWRZ%Es2!=3mI~UxiW0$-v3vUl?#g{p6eF zMEUAqo5-L0Ar(s{VlR9g=j7+lt!gP!UN2ICMokAZ5(Agd>})#gkA2w|5+<%-CuEP# zqgcM}u@3(QIC^Gx<2dbLj?cFSws_f3e%f4jeR?4M^M3cx1f+Qr6ydQ>n)kz1s##2w zk}UyQc+Z5G-d-1}{WzjkLXgS-2P7auWSJ%pSnD|Uivj5u!xk0 z_^-N9r9o;(rFDt~q1PvE#iJZ_f>J3gcP$)SOqhE~pD2|$=GvpL^d!r z6u=sp-CrMoF7;)}Zd7XO4XihC4ji?>V&(t^?@3Q&t9Mx=qex6C9d%{FE6dvU6%d94 zIE;hJ1J)cCqjv?F``7I*6bc#X)JW2b4f$L^>j{*$R`%5VHFi*+Q$2;nyieduE}qdS{L8y8F08yLs?w}{>8>$3236T-VMh@B zq-nujsb_1aUv_7g#)*rf9h%sFj*^mIcImRV*k~Vmw;%;YH(&ylYpy!&UjUVqqtfG` zox3esju?`unJJA_zKXRJP)rA3nXc$m^{S&-p|v|-0x9LHJm;XIww7C#R$?00l&Yyj z=e}gKUOpsImwW?N)+E(awoF@HyP^EhL+GlNB#k?R<2>95hz!h9sF@U20DHSB3~WMa zk90+858r@-+vWwkawJ)8ougd(i#1m3GLN{iSTylYz$brAsP%=&m$mQQrH$g%3-^VR zE%B`Vi&m8f3T~&myTEK28BDWCVzfWir1I?03;pX))|kY5ClO^+bae z*7E?g=3g7EiisYOrE+lA)2?Ln6q2*HLNpZEWMB|O-JI_oaHZB%CvYB(%=tU= zE*OY%QY58fW#RG5=gm0NR#iMB=EuNF@)%oZJ}nmm=tsJ?eGjia{e{yuU0l3{d^D@)kVDt=1PE)&tf_hHC%0MB znL|CRCPC}SeuVTdf>-QV70`0(EHizc21s^sU>y%hW0t!0&y<7}Wi-wGy>m%(-jsDj zP?mF|>p_K>liZ6ZP(w5(|9Ga%>tLgb$|doDDfkdW>Z z`)>V2XC?NJT26mL^@ zf+IKr27TfM!UbZ@?zRddC7#6ss1sw%CXJ4FWC+t3lHZupzM77m^=9 z&(a?-LxIq}*nvv)y?27lZ{j zifdl9hyJudyP2LpU$-kXctshbJDKS{WfulP5Dk~xU4Le4c#h^(YjJit4#R8_khheS z|8(>2ibaHES4+J|DBM7I#QF5u-*EdN{n=Kt@4Zt?@Tv{JZA{`4 zU#kYOv{#A&gGPwT+$Ud}AXlK3K7hYzo$(fBSFjrP{QQ zeaKg--L&jh$9N}`pu{Bs>?eDFPaWY4|9|foN%}i;3%;@4{dc+iw>m}{3rELqH21G! z`8@;w-zsJ1H(N3%|1B@#ioLOjib)j`EiJqPQVSbPSPVHCj6t5J&(NcWzBrzCiDt{4 zdlPAUKldz%6x5II1H_+jv)(xVL+a;P+-1hv_pM>gMRr%04@k;DTokASSKKhU1Qms| zrWh3a!b(J3n0>-tipg{a?UaKsP7?+|@A+1WPDiQIW1Sf@qDU~M_P65_s}7(gjTn0X zucyEm)o;f8UyshMy&>^SC3I|C6jR*R_GFwGranWZe*I>K+0k}pBuET&M~ z;Odo*ZcT?ZpduHyrf8E%IBFtv;JQ!N_m>!sV6ly$_1D{(&nO~w)G~Y`7sD3#hQk%^ zp}ucDF_$!6DAz*PM8yE(&~;%|=+h(Rn-=1Wykas_-@d&z#=S}rDf`4w(rVlcF&lF! z=1)M3YVz7orwk^BXhslJ8jR);sh^knJW(Qmm(QdSgIAIdlN4Te5KJisifjr?eB{FjAX1a0AB>d?qY4Wx>BZ8&}5K0fA+d{l8 z?^s&l8#j7pR&ijD?0b%;lL9l$P_mi2^*_OL+b}4kuLR$GAf85sOo02?Y#90}CCDiS zZ%rbCw>=H~CBO=C_JVV=xgDe%b4FaEFtuS7Q1##y686r%F6I)s-~2(}PWK|Z8M+Gu zl$y~5@#0Ka%$M<&Cv%L`a8X^@tY&T7<0|(6dNT=EsRe0%kp1Qyq!^43VAKYnr*A5~ zsI%lK1ewqO;0TpLrT9v}!@vJK{QoVa_+N4FYT#h?Y8rS1S&-G+m$FNMP?(8N`MZP zels(*?kK{{^g9DOzkuZXJ2;SrOQsp9T$hwRB1(phw1c7`!Q!by?Q#YsSM#I12RhU{$Q+{xj83axHcftEc$mNJ8_T7A-BQc*k(sZ+~NsO~xAA zxnbb%dam_fZlHvW7fKXrB~F&jS<4FD2FqY?VG?ix*r~MDXCE^WQ|W|WM;gsIA4lQP zJ2hAK@CF*3*VqPr2eeg6GzWFlICi8S>nO>5HvWzyZTE)hlkdC_>pBej*>o0EOHR|) z$?};&I4+_?wvL*g#PJ9)!bc#9BJu1(*RdNEn>#Oxta(VWeM40ola<0aOe2kSS~{^P zDJBd}0L-P#O-CzX*%+$#v;(x%<*SPgAje=F{Zh-@ucd2DA(yC|N_|ocs*|-!H%wEw z@Q!>siv2W;C^^j^59OAX03&}&D*W4EjCvfi(ygcL#~t8XGa#|NPO+*M@Y-)ctFA@I z-p7npT1#5zOLo>7q?aZpCZ=iecn3QYklP;gF0bq@>oyBq94f6C=;Csw3PkZ|5q=(c zfs`aw?II0e(h=|7o&T+hq&m$; zBrE09Twxd9BJ2P+QPN}*OdZ-JZV7%av@OM7v!!NL8R;%WFq*?{9T3{ct@2EKgc8h) zMxoM$SaF#p<`65BwIDfmXG6+OiK0e)`I=!A3E`+K@61f}0e z!2a*FOaDrOe>U`q%K!QN`&=&0C~)CaL3R4VY(NDt{Xz(Xpqru5=r#uQN1L$Je1*dkdqQ*=lofQaN%lO!<5z9ZlHgxt|`THd>2 zsWfU$9=p;yLyJyM^t zS2w9w?Bpto`@H^xJpZDKR1@~^30Il6oFGfk5%g6w*C+VM)+%R@gfIwNprOV5{F^M2 zO?n3DEzpT+EoSV-%OdvZvNF+pDd-ZVZ&d8 zKeIyrrfPN=EcFRCPEDCVflX#3-)Ik_HCkL(ejmY8vzcf-MTA{oHk!R2*36`O68$7J zf}zJC+bbQk--9Xm!u#lgLvx8TXx2J258E5^*IZ(FXMpq$2LUUvhWQPs((z1+2{Op% z?J}9k5^N=z;7ja~zi8a_-exIqWUBJwohe#4QJ`|FF*$C{lM18z^#hX6!5B8KAkLUX ziP=oti-gpV(BsLD{0(3*dw}4JxK23Y7M{BeFPucw!sHpY&l%Ws4pSm`+~V7;bZ%Dx zeI)MK=4vC&5#;2MT7fS?^ch9?2;%<8Jlu-IB&N~gg8t;6S-#C@!NU{`p7M8@2iGc& zg|JPg%@gCoCQ&s6JvDU&`X2S<57f(k8nJ1wvBu{8r?;q3_kpZZ${?|( z+^)UvR33sjSd)aT!UPkA;ylO6{aE3MQa{g%Mcf$1KONcjO@&g5zPHWtzM1rYC{_K> zgQNcs<{&X{OA=cEWw5JGqpr0O>x*Tfak2PE9?FuWtz^DDNI}rwAaT0(bdo-<+SJ6A z&}S%boGMWIS0L}=S>|-#kRX;e^sUsotry(MjE|3_9duvfc|nwF#NHuM-w7ZU!5ei8 z6Mkf>2)WunY2eU@C-Uj-A zG(z0Tz2YoBk>zCz_9-)4a>T46$(~kF+Y{#sA9MWH%5z#zNoz)sdXq7ZR_+`RZ%0(q zC7&GyS_|BGHNFl8Xa%@>iWh%Gr?=J5<(!OEjauj5jyrA-QXBjn0OAhJJ9+v=!LK`` z@g(`^*84Q4jcDL`OA&ZV60djgwG`|bcD*i50O}Q{9_noRg|~?dj%VtKOnyRs$Uzqg z191aWoR^rDX#@iSq0n z?9Sg$WSRPqSeI<}&n1T3!6%Wj@5iw5`*`Btni~G=&;J+4`7g#OQTa>u`{4ZZ(c@s$ zK0y;ySOGD-UTjREKbru{QaS>HjN<2)R%Nn-TZiQ(Twe4p@-saNa3~p{?^V9Nixz@a zykPv~<@lu6-Ng9i$Lrk(xi2Tri3q=RW`BJYOPC;S0Yly%77c727Yj-d1vF!Fuk{Xh z)lMbA69y7*5ufET>P*gXQrxsW+ zz)*MbHZv*eJPEXYE<6g6_M7N%#%mR{#awV3i^PafNv(zyI)&bH?F}2s8_rR(6%!V4SOWlup`TKAb@ee>!9JKPM=&8g#BeYRH9FpFybxBXQI2|g}FGJfJ+ zY-*2hB?o{TVL;Wt_ek;AP5PBqfDR4@Z->_182W z{P@Mc27j6jE*9xG{R$>6_;i=y{qf(c`5w9fa*`rEzX6t!KJ(p1H|>J1pC-2zqWENF zmm=Z5B4u{cY2XYl(PfrInB*~WGWik3@1oRhiMOS|D;acnf-Bs(QCm#wR;@Vf!hOPJ zgjhDCfDj$HcyVLJ=AaTbQ{@vIv14LWWF$=i-BDoC11}V;2V8A`S>_x)vIq44-VB-v z*w-d}$G+Ql?En8j!~ZkCpQ$|cA0|+rrY>tiCeWxkRGPoarxlGU2?7%k#F693RHT24 z-?JsiXlT2PTqZqNb&sSc>$d;O4V@|b6VKSWQb~bUaWn1Cf0+K%`Q&Wc<>mQ>*iEGB zbZ;aYOotBZ{vH3y<0A*L0QVM|#rf*LIsGx(O*-7)r@yyBIzJnBFSKBUSl1e|8lxU* zzFL+YDVVkIuzFWeJ8AbgN&w(4-7zbiaMn{5!JQXu)SELk*CNL+Fro|2v|YO)1l15t zs(0^&EB6DPMyaqvY>=KL>)tEpsn;N5Q#yJj<9}ImL((SqErWN3Q=;tBO~ExTCs9hB z2E$7eN#5wX4<3m^5pdjm#5o>s#eS_Q^P)tm$@SawTqF*1dj_i#)3};JslbLKHXl_N z)Fxzf>FN)EK&Rz&*|6&%Hs-^f{V|+_vL1S;-1K-l$5xiC@}%uDuwHYhmsV?YcOUlk zOYkG5v2+`+UWqpn0aaaqrD3lYdh0*!L`3FAsNKu=Q!vJu?Yc8n|CoYyDo_`r0mPoo z8>XCo$W4>l(==h?2~PoRR*kEe)&IH{1sM41mO#-36`02m#nTX{r*r`Q5rZ2-sE|nA zhnn5T#s#v`52T5|?GNS`%HgS2;R(*|^egNPDzzH_z^W)-Q98~$#YAe)cEZ%vge965AS_am#DK#pjPRr-!^za8>`kksCAUj(Xr*1NW5~e zpypt_eJpD&4_bl_y?G%>^L}=>xAaV>KR6;^aBytqpiHe%!j;&MzI_>Sx7O%F%D*8s zSN}cS^<{iiK)=Ji`FpO#^zY!_|D)qeRNAtgmH)m;qC|mq^j(|hL`7uBz+ULUj37gj zksdbnU+LSVo35riSX_4z{UX=%n&}7s0{WuZYoSfwAP`8aKN9P@%e=~1`~1ASL-z%# zw>DO&ixr}c9%4InGc*_y42bdEk)ZdG7-mTu0bD@_vGAr*NcFoMW;@r?@LUhRI zCUJgHb`O?M3!w)|CPu~ej%fddw20lod?Ufp8Dmt0PbnA0J%KE^2~AIcnKP()025V> zG>noSM3$5Btmc$GZoyP^v1@Poz0FD(6YSTH@aD0}BXva?LphAiSz9f&Y(aDAzBnUh z?d2m``~{z;{}kZJ>a^wYI?ry(V9hIoh;|EFc0*-#*`$T0DRQ1;WsqInG;YPS+I4{g zJGpKk%%Sdc5xBa$Q^_I~(F97eqDO7AN3EN0u)PNBAb+n+ zWBTxQx^;O9o0`=g+Zrt_{lP!sgWZHW?8bLYS$;1a@&7w9rD9|Ge;Gb?sEjFoF9-6v z#!2)t{DMHZ2@0W*fCx;62d#;jouz`R5Y(t{BT=$N4yr^^o$ON8d{PQ=!O zX17^CrdM~7D-;ZrC!||<+FEOxI_WI3CA<35va%4v>gc zEX-@h8esj=a4szW7x{0g$hwoWRQG$yK{@3mqd-jYiVofJE!Wok1* znV7Gm&Ssq#hFuvj1sRyHg(6PFA5U*Q8Rx>-blOs=lb`qa{zFy&n4xY;sd$fE+<3EI z##W$P9M{B3c3Si9gw^jlPU-JqD~Cye;wr=XkV7BSv#6}DrsXWFJ3eUNrc%7{=^sP> zrp)BWKA9<}^R9g!0q7yWlh;gr_TEOD|#BmGq<@IV;ueg+D2}cjpp+dPf&Q(36sFU&K8}hA85U61faW&{ zlB`9HUl-WWCG|<1XANN3JVAkRYvr5U4q6;!G*MTdSUt*Mi=z_y3B1A9j-@aK{lNvx zK%p23>M&=KTCgR!Ee8c?DAO2_R?B zkaqr6^BSP!8dHXxj%N1l+V$_%vzHjqvu7p@%Nl6;>y*S}M!B=pz=aqUV#`;h%M0rU zHfcog>kv3UZAEB*g7Er@t6CF8kHDmKTjO@rejA^ULqn!`LwrEwOVmHx^;g|5PHm#B zZ+jjWgjJ!043F+&#_;D*mz%Q60=L9Ove|$gU&~As5^uz@2-BfQ!bW)Khn}G+Wyjw- z19qI#oB(RSNydn0t~;tAmK!P-d{b-@@E5|cdgOS#!>%#Rj6ynkMvaW@37E>@hJP^8 z2zk8VXx|>#R^JCcWdBCy{0nPmYFOxN55#^-rlqobe0#L6)bi?E?SPymF*a5oDDeSd zO0gx?#KMoOd&G(2O@*W)HgX6y_aa6iMCl^~`{@UR`nMQE`>n_{_aY5nA}vqU8mt8H z`oa=g0SyiLd~BxAj2~l$zRSDHxvDs;I4>+M$W`HbJ|g&P+$!U7-PHX4RAcR0szJ*( ze-417=bO2q{492SWrqDK+L3#ChUHtz*@MP)e^%@>_&#Yk^1|tv@j4%3T)diEX zATx4K*hcO`sY$jk#jN5WD<=C3nvuVsRh||qDHnc~;Kf59zr0;c7VkVSUPD%NnnJC_ zl3F^#f_rDu8l}l8qcAz0FFa)EAt32IUy_JLIhU_J^l~FRH&6-ivSpG2PRqzDdMWft>Zc(c)#tb%wgmWN%>IOPm zZi-noqS!^Ftb81pRcQi`X#UhWK70hy4tGW1mz|+vI8c*h@ zfFGJtW3r>qV>1Z0r|L>7I3un^gcep$AAWfZHRvB|E*kktY$qQP_$YG60C@X~tTQjB3%@`uz!qxtxF+LE!+=nrS^07hn` zEgAp!h|r03h7B!$#OZW#ACD+M;-5J!W+{h|6I;5cNnE(Y863%1(oH}_FTW})8zYb$7czP zg~Szk1+_NTm6SJ0MS_|oSz%e(S~P-&SFp;!k?uFayytV$8HPwuyELSXOs^27XvK-D zOx-Dl!P|28DK6iX>p#Yb%3`A&CG0X2S43FjN%IB}q(!hC$fG}yl1y9W&W&I@KTg6@ zK^kpH8=yFuP+vI^+59|3%Zqnb5lTDAykf z9S#X`3N(X^SpdMyWQGOQRjhiwlj!0W-yD<3aEj^&X%=?`6lCy~?`&WSWt z?U~EKFcCG_RJ(Qp7j=$I%H8t)Z@6VjA#>1f@EYiS8MRHZphp zMA_5`znM=pzUpBPO)pXGYpQ6gkine{6u_o!P@Q+NKJ}k!_X7u|qfpAyIJb$_#3@wJ z<1SE2Edkfk9C!0t%}8Yio09^F`YGzpaJHGk*-ffsn85@)%4@`;Fv^8q(-Wk7r=Q8p zT&hD`5(f?M{gfzGbbwh8(}G#|#fDuk7v1W)5H9wkorE0ZZjL0Q1=NRGY>zwgfm81DdoaVwNH;or{{eSyybt)m<=zXoA^RALYG-2t zouH|L*BLvmm9cdMmn+KGopyR@4*=&0&4g|FLoreZOhRmh=)R0bg~ zT2(8V_q7~42-zvb)+y959OAv!V$u(O3)%Es0M@CRFmG{5sovIq4%8Ahjk#*5w{+)+ zMWQoJI_r$HxL5km1#6(e@{lK3Udc~n0@g`g$s?VrnQJ$!oPnb?IHh-1qA`Rz$)Ai< z6w$-MJW-gKNvOhL+XMbE7&mFt`x1KY>k4(!KbbpZ`>`K@1J<(#vVbjx@Z@(6Q}MF# zMnbr-f55(cTa^q4+#)=s+ThMaV~E`B8V=|W_fZWDwiso8tNMTNse)RNBGi=gVwgg% zbOg8>mbRN%7^Um-7oj4=6`$|(K7!+t^90a{$18Z>}<#!bm%ZEFQ{X(yBZMc>lCz0f1I2w9Sq zuGh<9<=AO&g6BZte6hn>Qmvv;Rt)*cJfTr2=~EnGD8P$v3R|&1RCl&7)b+`=QGapi zPbLg_pxm`+HZurtFZ;wZ=`Vk*do~$wB zxoW&=j0OTbQ=Q%S8XJ%~qoa3Ea|au5o}_(P;=!y-AjFrERh%8la!z6Fn@lR?^E~H12D?8#ht=1F;7@o4$Q8GDj;sSC%Jfn01xgL&%F2 zwG1|5ikb^qHv&9hT8w83+yv&BQXOQyMVJSBL(Ky~p)gU3#%|blG?IR9rP^zUbs7rOA0X52Ao=GRt@C&zlyjNLv-} z9?*x{y(`509qhCV*B47f2hLrGl^<@SuRGR!KwHei?!CM10Tq*YDIoBNyRuO*>3FU? zHjipIE#B~y3FSfOsMfj~F9PNr*H?0oHyYB^G(YyNh{SxcE(Y-`x5jFMKb~HO*m+R% zrq|ic4fzJ#USpTm;X7K+E%xsT_3VHKe?*uc4-FsILUH;kL>_okY(w`VU*8+l>o>Jm ziU#?2^`>arnsl#)*R&nf_%>A+qwl%o{l(u)M?DK1^mf260_oteV3#E_>6Y4!_hhVD zM8AI6MM2V*^_M^sQ0dmHu11fy^kOqXqzpr?K$`}BKWG`=Es(9&S@K@)ZjA{lj3ea7_MBP zk(|hBFRjHVMN!sNUkrB;(cTP)T97M$0Dtc&UXSec<+q?y>5=)}S~{Z@ua;1xt@=T5 zI7{`Z=z_X*no8s>mY;>BvEXK%b`a6(DTS6t&b!vf_z#HM{Uoy_5fiB(zpkF{})ruka$iX*~pq1ZxD?q68dIo zIZSVls9kFGsTwvr4{T_LidcWtt$u{kJlW7moRaH6+A5hW&;;2O#$oKyEN8kx`LmG)Wfq4ykh+q{I3|RfVpkR&QH_x;t41Uw z`P+tft^E2B$domKT@|nNW`EHwyj>&}K;eDpe z1bNOh=fvIfk`&B61+S8ND<(KC%>y&?>opCnY*r5M+!UrWKxv0_QvTlJc>X#AaI^xo zaRXL}t5Ej_Z$y*|w*$6D+A?Lw-CO-$itm^{2Ct82-<0IW)0KMNvJHgBrdsIR0v~=H z?n6^}l{D``Me90`^o|q!olsF?UX3YSq^6Vu>Ijm>>PaZI8G@<^NGw{Cx&%|PwYrfw zR!gX_%AR=L3BFsf8LxI|K^J}deh0ZdV?$3r--FEX`#INxsOG6_=!v)DI>0q|BxT)z z-G6kzA01M?rba+G_mwNMQD1mbVbNTWmBi*{s_v_Ft9m2Avg!^78(QFu&n6mbRJ2bA zv!b;%yo{g*9l2)>tsZJOOp}U~8VUH`}$ z8p_}t*XIOehezolNa-a2x0BS})Y9}&*TPgua{Ewn-=wVrmJUeU39EKx+%w%=ixQWK zDLpwaNJs65#6o7Ln7~~X+p_o2BR1g~VCfxLzxA{HlWAI6^H;`juI=&r1jQrUv_q0Z z1Ja-tjdktrrP>GOC*#p?*xfQU5MqjMsBe!9lh(u8)w$e@Z|>aUHI5o;MGw*|Myiz3 z-f0;pHg~Q#%*Kx8MxH%AluVXjG2C$)WL-K63@Q`#y9_k_+}eR(x4~dp7oV-ek0H>I zgy8p#i4GN{>#v=pFYUQT(g&b$OeTy-X_#FDgNF8XyfGY6R!>inYn8IR2RDa&O!(6< znXs{W!bkP|s_YI*Yx%4stI`=ZO45IK6rBs`g7sP40ic}GZ58s?Mc$&i`kq_tfci>N zIHrC0H+Qpam1bNa=(`SRKjixBTtm&e`j9porEci!zdlg1RI0Jw#b(_Tb@RQK1Zxr_ z%7SUeH6=TrXt3J@js`4iDD0=IoHhK~I7^W8^Rcp~Yaf>2wVe|Hh1bUpX9ATD#moByY57-f2Ef1TP^lBi&p5_s7WGG9|0T}dlfxOx zXvScJO1Cnq`c`~{Dp;{;l<-KkCDE+pmexJkd}zCgE{eF=)K``-qC~IT6GcRog_)!X z?fK^F8UDz$(zFUrwuR$qro5>qqn>+Z%<5>;_*3pZ8QM|yv9CAtrAx;($>4l^_$_-L z*&?(77!-=zvnCVW&kUcZMb6;2!83si518Y%R*A3JZ8Is|kUCMu`!vxDgaWjs7^0j( ziTaS4HhQ)ldR=r)_7vYFUr%THE}cPF{0H45FJ5MQW^+W>P+eEX2kLp3zzFe*-pFVA zdDZRybv?H|>`9f$AKVjFWJ=wegO7hOOIYCtd?Vj{EYLT*^gl35|HQ`R=ti+ADm{jyQE7K@kdjuqJhWVSks>b^ zxha88-h3s;%3_5b1TqFCPTxVjvuB5U>v=HyZ$?JSk+&I%)M7KE*wOg<)1-Iy)8-K! z^XpIt|0ibmk9RtMmlUd7#Ap3Q!q9N4atQy)TmrhrFhfx1DAN`^vq@Q_SRl|V z#lU<~n67$mT)NvHh`%als+G-)x1`Y%4Bp*6Un5Ri9h=_Db zA-AdP!f>f0m@~>7X#uBM?diI@)Egjuz@jXKvm zJo+==juc9_<;CqeRaU9_Mz@;3e=E4=6TK+c`|uu#pIqhSyNm`G(X)&)B`8q0RBv#> z`gGlw(Q=1Xmf55VHj%C#^1lpc>LY8kfA@|rlC1EA<1#`iuyNO z(=;irt{_&K=i4)^x%;U(Xv<)+o=dczC5H3W~+e|f~{*ucxj@{Yi-cw^MqYr3fN zF5D+~!wd$#al?UfMnz(@K#wn`_5na@rRr8XqN@&M&FGEC@`+OEv}sI1hw>Up0qAWf zL#e4~&oM;TVfjRE+10B_gFlLEP9?Q-dARr3xi6nQqnw>k-S;~b z;!0s2VS4}W8b&pGuK=7im+t(`nz@FnT#VD|!)eQNp-W6)@>aA+j~K*H{$G`y2|QHY z|Hmy+CR@#jWY4~)lr1qBJB_RfHJFfP<}pK5(#ZZGSqcpyS&}01LnTWk5fzmXMGHkJ zTP6L^B+uj;lmB_W<~4=${+v0>z31M!-_O@o-O9GyW)j_mjx}!0@br_LE-7SIuPP84 z;5=O(U*g_um0tyG|61N@d9lEuOeiRd+#NY^{nd5;-CVlw&Ap7J?qwM^?E29wvS}2d zbzar4Fz&RSR(-|s!Z6+za&Z zY#D<5q_JUktIzvL0)yq_kLWG6DO{ri=?c!y!f(Dk%G{8)k`Gym%j#!OgXVDD3;$&v@qy#ISJfp=Vm>pls@9-mapVQChAHHd-x+OGx)(*Yr zC1qDUTZ6mM(b_hi!TuFF2k#8uI2;kD70AQ&di$L*4P*Y-@p`jdm%_c3f)XhYD^6M8&#Y$ZpzQMcR|6nsH>b=*R_Von!$BTRj7yGCXokoAQ z&ANvx0-Epw`QIEPgI(^cS2f(Y85yV@ygI{ewyv5Frng)e}KCZF7JbR(&W618_dcEh(#+^zZFY;o<815<5sOHQdeax9_!PyM&;{P zkBa5xymca0#)c#tke@3KNEM8a_mT&1gm;p&&JlMGH(cL(b)BckgMQ^9&vRwj!~3@l zY?L5}=Jzr080OGKb|y`ee(+`flQg|!lo6>=H)X4`$Gz~hLmu2a%kYW_Uu8x09Pa0J zKZ`E$BKJ=2GPj_3l*TEcZ*uYRr<*J^#5pILTT;k_cgto1ZL-%slyc16J~OH-(RgDA z%;EjEnoUkZ&acS{Q8`{i6T5^nywgqQI5bDIymoa7CSZG|WWVk>GM9)zy*bNih|QIm z%0+(Nnc*a_xo;$=!HQYaapLms>J1ToyjtFByY`C2H1wT#178#4+|{H0BBqtCdd$L% z_3Hc60j@{t9~MjM@LBalR&6@>B;9?r<7J~F+WXyYu*y3?px*=8MAK@EA+jRX8{CG?GI-< z54?Dc9CAh>QTAvyOEm0^+x;r2BWX|{3$Y7)L5l*qVE*y0`7J>l2wCmW zL1?|a`pJ-l{fb_N;R(Z9UMiSj6pQjOvQ^%DvhIJF!+Th7jO2~1f1N+(-TyCFYQZYw z4)>7caf^Ki_KJ^Zx2JUb z&$3zJy!*+rCV4%jqwyuNY3j1ZEiltS0xTzd+=itTb;IPYpaf?8Y+RSdVdpacB(bVQ zC(JupLfFp8y43%PMj2}T|VS@%LVp>hv4Y!RPMF?pp8U_$xCJ)S zQx!69>bphNTIb9yn*_yfj{N%bY)t{L1cs8<8|!f$;UQ*}IN=2<6lA;x^(`8t?;+ST zh)z4qeYYgZkIy{$4x28O-pugO&gauRh3;lti9)9Pvw+^)0!h~%m&8Q!AKX%urEMnl z?yEz?g#ODn$UM`+Q#$Q!6|zsq_`dLO5YK-6bJM6ya>}H+vnW^h?o$z;V&wvuM$dR& zeEq;uUUh$XR`TWeC$$c&Jjau2it3#%J-y}Qm>nW*s?En?R&6w@sDXMEr#8~$=b(gk zwDC3)NtAP;M2BW_lL^5ShpK$D%@|BnD{=!Tq)o(5@z3i7Z){} zGr}Exom_qDO{kAVkZ*MbLNHE666Kina#D{&>Jy%~w7yX$oj;cYCd^p9zy z8*+wgSEcj$4{WxKmCF(5o7U4jqwEvO&dm1H#7z}%VXAbW&W24v-tS6N3}qrm1OnE)fUkoE8yMMn9S$?IswS88tQWm4#Oid#ckgr6 zRtHm!mfNl-`d>O*1~d7%;~n+{Rph6BBy^95zqI{K((E!iFQ+h*C3EsbxNo_aRm5gj zKYug($r*Q#W9`p%Bf{bi6;IY0v`pB^^qu)gbg9QHQ7 zWBj(a1YSu)~2RK8Pi#C>{DMlrqFb9e_RehEHyI{n?e3vL_}L>kYJC z_ly$$)zFi*SFyNrnOt(B*7E$??s67EO%DgoZL2XNk8iVx~X_)o++4oaK1M|ou73vA0K^503j@uuVmLcHH4ya-kOIDfM%5%(E z+Xpt~#7y2!KB&)PoyCA+$~DXqxPxxALy!g-O?<9+9KTk4Pgq4AIdUkl`1<1#j^cJg zgU3`0hkHj_jxV>`Y~%LAZl^3o0}`Sm@iw7kwff{M%VwtN)|~!p{AsfA6vB5UolF~d zHWS%*uBDt<9y!9v2Xe|au&1j&iR1HXCdyCjxSgG*L{wmTD4(NQ=mFjpa~xooc6kju z`~+d{j7$h-;HAB04H!Zscu^hZffL#9!p$)9>sRI|Yovm)g@F>ZnosF2EgkU3ln0bR zTA}|+E(tt)!SG)-bEJi_0m{l+(cAz^pi}`9=~n?y&;2eG;d9{M6nj>BHGn(KA2n|O zt}$=FPq!j`p&kQ8>cirSzkU0c08%8{^Qyqi-w2LoO8)^E7;;I1;HQ6B$u0nNaX2CY zSmfi)F`m94zL8>#zu;8|{aBui@RzRKBlP1&mfFxEC@%cjl?NBs`cr^nm){>;$g?rhKr$AO&6qV_Wbn^}5tfFBry^e1`%du2~o zs$~dN;S_#%iwwA_QvmMjh%Qo?0?rR~6liyN5Xmej8(*V9ym*T`xAhHih-v$7U}8=dfXi2i*aAB!xM(Xekg*ix@r|ymDw*{*s0?dlVys2e)z62u1 z+k3esbJE=-P5S$&KdFp+2H7_2e=}OKDrf( z9-207?6$@f4m4B+9E*e((Y89!q?zH|mz_vM>kp*HGXldO0Hg#!EtFhRuOm$u8e~a9 z5(roy7m$Kh+zjW6@zw{&20u?1f2uP&boD}$#Zy)4o&T;vyBoqFiF2t;*g=|1=)PxB z8eM3Mp=l_obbc?I^xyLz?4Y1YDWPa+nm;O<$Cn;@ane616`J9OO2r=rZr{I_Kizyc zP#^^WCdIEp*()rRT+*YZK>V@^Zs=ht32x>Kwe zab)@ZEffz;VM4{XA6e421^h~`ji5r%)B{wZu#hD}f3$y@L0JV9f3g{-RK!A?vBUA}${YF(vO4)@`6f1 z-A|}e#LN{)(eXloDnX4Vs7eH|<@{r#LodP@Nz--$Dg_Par%DCpu2>2jUnqy~|J?eZ zBG4FVsz_A+ibdwv>mLp>P!(t}E>$JGaK$R~;fb{O3($y1ssQQo|5M;^JqC?7qe|hg zu0ZOqeFcp?qVn&Qu7FQJ4hcFi&|nR!*j)MF#b}QO^lN%5)4p*D^H+B){n8%VPUzi! zDihoGcP71a6!ab`l^hK&*dYrVYzJ0)#}xVrp!e;lI!+x+bfCN0KXwUAPU9@#l7@0& QuEJmfE|#`Dqx|px0L@K;Y5)KL diff --git a/apps/arbeidsforhold-service/gradle/wrapper/gradle-wrapper.properties b/apps/arbeidsforhold-service/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 48c0a02ca41..00000000000 --- a/apps/arbeidsforhold-service/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/apps/arbeidsforhold-service/gradlew b/apps/arbeidsforhold-service/gradlew deleted file mode 100755 index 3da45c161b0..00000000000 --- a/apps/arbeidsforhold-service/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright ? 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions ?$var?, ?${var}?, ?${var:-default}?, ?${var+SET}?, -# ?${var#prefix}?, ?${var%suffix}?, and ?$( cmd )?; -# * compound commands having a testable exit status, especially ?case?; -# * various built-in commands including ?command?, ?set?, and ?ulimit?. -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/apps/arbeidsforhold-service/gradlew.bat b/apps/arbeidsforhold-service/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/apps/arbeidsforhold-service/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/apps/arbeidsforhold-service/gradlewUpdate.sh b/apps/arbeidsforhold-service/gradlewUpdate.sh deleted file mode 100755 index e5ee6361152..00000000000 --- a/apps/arbeidsforhold-service/gradlewUpdate.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -gradle wrapper \ No newline at end of file diff --git a/apps/arbeidsforhold-service/settings.gradle b/apps/arbeidsforhold-service/settings.gradle deleted file mode 100644 index 5dd98b9a66c..00000000000 --- a/apps/arbeidsforhold-service/settings.gradle +++ /dev/null @@ -1,22 +0,0 @@ -plugins { - id "com.gradle.develocity" version "3.19" -} - -rootProject.name = "arbeidsforhold-service" - -includeBuild "../../plugins/java" - -includeBuild "../../libs/commands" -includeBuild "../../libs/data-transfer-objects" -includeBuild "../../libs/reactive-core" -includeBuild "../../libs/security-core" -includeBuild "../../libs/servlet-core" -includeBuild "../../libs/servlet-security" -includeBuild "../../libs/testing" - -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/terms-of-service" - termsOfUseAgree = "yes" - } -} \ No newline at end of file diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/ArbeidsforholdApiApplicationStarter.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/ArbeidsforholdApiApplicationStarter.java deleted file mode 100644 index ca1945e302d..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/ArbeidsforholdApiApplicationStarter.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice; - -import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; - -@EnableWebSecurity -@SpringBootApplication -public class ArbeidsforholdApiApplicationStarter { - - public static void main(String[] args) { - new SpringApplicationBuilder(ArbeidsforholdApiApplicationStarter.class) - .initializers(new NaisEnvironmentApplicationContextInitializer()) - .run(args); - } -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/ApplicationConfig.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/ApplicationConfig.java deleted file mode 100644 index 74a606107ce..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/ApplicationConfig.java +++ /dev/null @@ -1,11 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.config; - -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -import no.nav.testnav.libs.servletcore.config.ApplicationCoreConfig; - -@Configuration -@Import({ApplicationCoreConfig.class}) -public class ApplicationConfig { -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/Consumers.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/Consumers.java deleted file mode 100644 index 38f7ef3b5f9..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/Consumers.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.config; - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import static lombok.AccessLevel.PACKAGE; - -/** - * Samler alle placeholders for ulike {@code consumers.*}-konfigurasjon her, dvs. subklasser av {@code ServerProperties}. - *

- * Husk at Spring Boot bruker
relaxed binding - * mellom configuration properties og field names. - * - * @see ServerProperties - */ -@Configuration -@ConfigurationProperties(prefix = "consumers") -@NoArgsConstructor(access = PACKAGE) -@Getter -@Setter(PACKAGE) -public class Consumers { - - private ServerProperties testnavAaregProxy; - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/OpenApiConfig.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/OpenApiConfig.java deleted file mode 100644 index c27724614b8..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/OpenApiConfig.java +++ /dev/null @@ -1,56 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.config; - -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Contact; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.info.License; -import io.swagger.v3.oas.models.security.SecurityRequirement; -import io.swagger.v3.oas.models.security.SecurityScheme; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import java.util.Arrays; - -import no.nav.testnav.libs.servletcore.config.ApplicationProperties; - -@Configuration -public class OpenApiConfig implements WebMvcConfigurer { - - @Bean - public OpenAPI openApi(ApplicationProperties applicationProperties) { - return new OpenAPI() - .components(new Components().addSecuritySchemes("bearer-jwt", new SecurityScheme() - .type(SecurityScheme.Type.HTTP) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name("Authorization") - )) - .addSecurityItem( - new SecurityRequirement().addList("bearer-jwt", Arrays.asList("read", "write"))) - .info(new Info() - .title(applicationProperties.getName()) - .version(applicationProperties.getVersion()) - .description(applicationProperties.getDescription()) - .termsOfService("https://nav.no") - .contact(new Contact() - .url("https://nav-it.slack.com/archives/CA3P9NGA2") - .email("dolly@nav.no") - .name("Team Dolly") - ) - .license(new License() - .name("MIT License") - .url("https://opensource.org/licenses/MIT") - ) - ); - } - - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/swagger").setViewName("redirect:/swagger-ui.html"); - } - -} \ No newline at end of file diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/SecurityConfig.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/SecurityConfig.java deleted file mode 100644 index 123378db225..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/SecurityConfig.java +++ /dev/null @@ -1,26 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.config; - -import no.nav.dolly.libs.security.config.DollyHttpSecurity; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.config.Customizer; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.web.SecurityFilterChain; - -@Configuration -class SecurityConfig { - - @Bean - SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { - return httpSecurity - .sessionManagement(sessionConfig -> sessionConfig.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) - .csrf(AbstractHttpConfigurer::disable) - .authorizeHttpRequests(DollyHttpSecurity.withDefaultHttpRequests()) - .oauth2ResourceServer(oauth2RSConfig -> oauth2RSConfig.jwt(Customizer.withDefaults())) - .build(); - } - -} - diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/AaregConsumer.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/AaregConsumer.java deleted file mode 100644 index 047258608c0..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/AaregConsumer.java +++ /dev/null @@ -1,81 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer; - -import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.arbeidsforholdservice.config.Consumers; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.command.GetArbeidstakerArbeidsforholdCommand; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsforholdDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.http.MediaType; -import org.springframework.http.codec.json.Jackson2JsonDecoder; -import org.springframework.http.codec.json.Jackson2JsonEncoder; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.ExchangeStrategies; -import org.springframework.web.reactive.function.client.WebClient; - -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.Optional; - -import static java.util.Objects.nonNull; - -@Slf4j -@Component -public class AaregConsumer { - - private final WebClient webClient; - private final ServerProperties serverProperties; - private final TokenExchange tokenExchange; - - public AaregConsumer( - Consumers consumers, - TokenExchange tokenExchange, - ObjectMapper objectMapper, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getTestnavAaregProxy(); - this.tokenExchange = tokenExchange; - ExchangeStrategies jacksonStrategy = ExchangeStrategies - .builder() - .codecs( - config -> { - config - .defaultCodecs() - .jackson2JsonEncoder(new Jackson2JsonEncoder(objectMapper, MediaType.APPLICATION_JSON)); - config - .defaultCodecs() - .jackson2JsonDecoder(new Jackson2JsonDecoder(objectMapper, MediaType.APPLICATION_JSON)); - }) - .build(); - this.webClient = webClientBuilder - .exchangeStrategies(jacksonStrategy) - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public List getArbeidsforholds(String ident, String miljo) { - var token = tokenExchange.exchange(serverProperties).block(); - if (nonNull(token)) { - return new GetArbeidstakerArbeidsforholdCommand(webClient, miljo, token.getTokenValue(), ident).call(); - } - return new ArrayList<>(); - } - - private List getArbeidsforholds(String ident, String orgnummer, String miljo) { - return getArbeidsforholds(ident, miljo) - .stream() - .filter(Objects::nonNull) - .filter(value -> value.getArbeidsgiver().getOrganisasjonsnummer().equals(orgnummer)) - .toList(); - } - - public Optional getArbeidsforhold(String ident, String orgnummer, String arbeidsforholdId, String miljo) { - return getArbeidsforholds(ident, orgnummer, miljo) - .stream() - .filter(value -> value.getArbeidsforholdId().equals(arbeidsforholdId)) - .findFirst(); - } - -} \ No newline at end of file diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/command/GetArbeidstakerArbeidsforholdCommand.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/command/GetArbeidstakerArbeidsforholdCommand.java deleted file mode 100644 index 383799d0819..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/command/GetArbeidstakerArbeidsforholdCommand.java +++ /dev/null @@ -1,74 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.command; - - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsforholdDTO; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.servletcore.headers.NavHeaders; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.UUID; -import java.util.concurrent.Callable; -import java.util.stream.Collectors; - -import static java.lang.String.format; - -@Slf4j -@RequiredArgsConstructor -public class GetArbeidstakerArbeidsforholdCommand implements Callable> { - - private static final String NAV_PERSON_IDENT = "Nav-Personident"; - private static final String CONSUMER = "Dolly"; - private final WebClient webClient; - private final String miljo; - private final String token; - private final String ident; - - private static String getNavCallId() { - return format("%s %s", CONSUMER, UUID.randomUUID()); - } - - @SneakyThrows - @Override - public List call() { - try { - var arbeidsforhold = webClient - .get() - .uri(builder -> builder - .path("/{miljoe}/api/v1/arbeidstaker/arbeidsforhold") - .queryParam("arbeidsforholdtype", "forenkletOppgjoersordning", "frilanserOppdragstakerHonorarPersonerMm", "maritimtArbeidsforhold", "ordinaertArbeidsforhold") - .build(miljo)) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .header(NAV_PERSON_IDENT, ident) - .header(NavHeaders.NAV_CONSUMER_ID, CONSUMER) - .header(NavHeaders.NAV_CALL_ID, getNavCallId()) - .retrieve() - .bodyToMono(ArbeidsforholdDTO[].class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .block(); - - log.info("Hentet arbeidsforhold fra Aareg: " + Arrays.toString(arbeidsforhold)); - return Arrays.stream(arbeidsforhold).collect(Collectors.toList()); - } catch (WebClientResponseException.NotFound e) { - log.warn("Fant ikke arbeidsforhold for ident {} i miljø {}", ident, miljo); - return Collections.emptyList(); - } catch (WebClientResponseException e) { - log.error( - "Klarer ikke å hente arbeidsforhold for ident: {}. Feilmelding: {}.", - ident, - e.getResponseBodyAsString() - ); - throw e; - } - } -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AnsettelsesperiodeDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AnsettelsesperiodeDTO.java deleted file mode 100644 index c5a5ba87fbc..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AnsettelsesperiodeDTO.java +++ /dev/null @@ -1,15 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AnsettelsesperiodeDTO { - PeriodeDTO periode; - String sluttaarsak; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AntallTimerForTimeloennetDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AntallTimerForTimeloennetDTO.java deleted file mode 100644 index fe82949ac39..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AntallTimerForTimeloennetDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; -import no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.PeriodeDTO; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AntallTimerForTimeloennetDTO { - Double antallTimer; - PeriodeDTO periode; - String rapporteringsperiode; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsavtaleDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsavtaleDTO.java deleted file mode 100644 index abc79022dd7..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsavtaleDTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDate; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsavtaleDTO { - Float stillingsprosent; - String yrke; - String arbeidstidsordning; - String ansettelsesform; - String fartsomraade; - String skipsregister; - String skipstype; - Float antallTimerPrUke; - LocalDate sistLoennsendring; - LocalDate sistStillingsendring; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdDTO.java deleted file mode 100644 index 86b053c01aa..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDateTime; -import java.util.List; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdDTO { - AnsettelsesperiodeDTO ansettelsesperiode; - List antallTimerForTimeloennet; - String arbeidsforholdId; - ArbeidsgiverDTO arbeidsgiver; - List arbeidsavtaler; - ArbeidstakerDTO arbeidstaker; - String type; - List permisjonPermitteringer; - LocalDateTime registrert; - List utenlandsopphold; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdoversiktDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdoversiktDTO.java deleted file mode 100644 index cfbfa94cda8..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdoversiktDTO.java +++ /dev/null @@ -1,14 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdoversiktDTO { - Integer navArbeidsforholdId; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsgiverDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsgiverDTO.java deleted file mode 100644 index 05706642404..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsgiverDTO.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsgiverDTO { - String type; - String organisasjonsnummer; - String ident; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidstakerDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidstakerDTO.java deleted file mode 100644 index 345f27339a5..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidstakerDTO.java +++ /dev/null @@ -1,15 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidstakerDTO { - String type; - String offentligIdent; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PeriodeDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PeriodeDTO.java deleted file mode 100644 index edcb5a6600f..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PeriodeDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDate; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PeriodeDTO { - LocalDate fom; - LocalDate tom; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PermisjonPermitteringDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PermisjonPermitteringDTO.java deleted file mode 100644 index ca8b462238a..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PermisjonPermitteringDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PermisjonPermitteringDTO { - String permisjonPermitteringId; - PeriodeDTO periode; - Float prosent; - String type; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/UtenlandsoppholdDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/UtenlandsoppholdDTO.java deleted file mode 100644 index ba4ad2c7d8e..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/UtenlandsoppholdDTO.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class UtenlandsoppholdDTO { - String landkode; - PeriodeDTO periode; - String rapporteringsperiode; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Aktoer.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Aktoer.java deleted file mode 100644 index ec68439e040..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Aktoer.java +++ /dev/null @@ -1,7 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -public enum Aktoer { - - ORGANISASJON, - PERSON -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Ansettelsesperiode.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Ansettelsesperiode.java deleted file mode 100644 index 320570b8a77..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Ansettelsesperiode.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.AnsettelsesperiodeDTO; - -@AllArgsConstructor -public class Ansettelsesperiode { - - private final AnsettelsesperiodeDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.AnsettelsesperiodeDTO toDTO() { - var builder = no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.AnsettelsesperiodeDTO.builder(); - - return builder - .periode(dto.getPeriode() == null ? null : new Periode(dto.getPeriode()).toDTO()) - .sluttaarsak(dto.getSluttaarsak()) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/AntallTimerForTimeloennet.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/AntallTimerForTimeloennet.java deleted file mode 100644 index 03f1de09efd..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/AntallTimerForTimeloennet.java +++ /dev/null @@ -1,15 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.AntallTimerForTimeloennetDTO; - -@AllArgsConstructor -public class AntallTimerForTimeloennet { - private final AntallTimerForTimeloennetDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.AntallTimerForTimeloennetDTO toDTO(){ - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.AntallTimerForTimeloennetDTO - .builder() - .build(); - } -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsavtale.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsavtale.java deleted file mode 100644 index 5289dd76371..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsavtale.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsavtaleDTO; - -@AllArgsConstructor -public class Arbeidsavtale { - - private final ArbeidsavtaleDTO dto; - - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsavtaleDTO toDTO() { - - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsavtaleDTO - .builder() - .ansettelsesform(dto.getAnsettelsesform()) - .antallTimerPrUke(toDouble(dto.getAntallTimerPrUke())) - .stillingsprosent(toDouble(dto.getStillingsprosent())) - .arbeidstidsordning(dto.getArbeidstidsordning()) - .sisteLoennsendringsdato(dto.getSistLoennsendring()) - .sistStillingsendring(dto.getSistStillingsendring()) - .build(); - } - - private Double toDouble(Float value){ - return value == null ? null : value.doubleValue(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsforhold.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsforhold.java deleted file mode 100644 index 8ba86f48acc..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsforhold.java +++ /dev/null @@ -1,85 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsforholdDTO; -import no.nav.registre.testnorge.arbeidsforholdservice.exception.ArbeidsforholdNotFoundException; - -@Slf4j -@AllArgsConstructor -public class Arbeidsforhold { - - private final ArbeidsforholdDTO dto; - - public no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO toV1DTO() { - - if (dto.getArbeidsavtaler().isEmpty()) { - throw new ArbeidsforholdNotFoundException("Finner ikke arbeidsforhold"); - } - - if (dto.getArbeidsavtaler().size() > 1) { - log.warn("Fant flere arbeidsavtaler. Velger den første i listen"); - } - - - var arbeidsavtale = dto.getArbeidsavtaler().get(0); - - return no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO - .builder() - .arbeidsforholdId(dto.getArbeidsforholdId()) - .stillingsprosent(arbeidsavtale.getStillingsprosent()) - .yrke(arbeidsavtale.getYrke()) - .arbeidstidsordning(arbeidsavtale.getArbeidstidsordning()) - .antallTimerPrUke(arbeidsavtale.getAntallTimerPrUke()) - .sistLoennsendring(arbeidsavtale.getSistLoennsendring()) - .fom(dto.getAnsettelsesperiode().getPeriode().getFom()) - .tom(dto.getAnsettelsesperiode().getPeriode().getTom()) - .ident(dto.getArbeidstaker().getOffentligIdent()) - .type(dto.getType()) - .build(); - } - - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsforholdDTO toV2DTO() { - - var antallImerForTimeloennetList = dto.getAntallTimerForTimeloennet() == null ? - null : - dto.getAntallTimerForTimeloennet() - .stream() - .map(AntallTimerForTimeloennet::new) - .map(AntallTimerForTimeloennet::toDTO) - .toList(); - - var utenlandsopphold = dto.getUtenlandsopphold() == null ? - null : - dto.getUtenlandsopphold() - .stream() - .map(Utenlandsopphold::new) - .map(Utenlandsopphold::toDTO) - .toList(); - - var permisjoner = dto.getPermisjonPermitteringer() == null ? - null : - dto.getPermisjonPermitteringer() - .stream() - .map(Permisjon::new) - .map(Permisjon::toDTO) - .toList(); - - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsforholdDTO - .builder() - .type(dto.getType()) - .arbeidsforholdId(dto.getArbeidsforholdId()) - .antallTimerForTimeloennet(antallImerForTimeloennetList) - .arbeidsgiver(new Arbeidsgiver(dto.getArbeidsgiver()).toDTO()) - .ansettelsesperiode(new Ansettelsesperiode(dto.getAnsettelsesperiode()).toDTO()) - .arbeidsavtaler(dto.getArbeidsavtaler().stream().map(Arbeidsavtale::new).map(Arbeidsavtale::toDTO) - .toList()) - .fartoy(dto.getArbeidsavtaler().get(0).getSkipstype() == null ? null : new Fartoy(dto.getArbeidsavtaler().get(0)).toDTO()) - .arbeidstaker(new Arbeidstaker(dto.getArbeidstaker()).toDTO()) - .utenlandsopphold(utenlandsopphold) - .permisjonPermitteringer(permisjoner) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsgiver.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsgiver.java deleted file mode 100644 index 56c2cc84ee4..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsgiver.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsgiverDTO; - -@AllArgsConstructor -public class Arbeidsgiver { - - private final ArbeidsgiverDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsgiverDTO toDTO() { - var builder = no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsgiverDTO.builder(); - - if (dto.getType().equals("Organisasjon")) { - builder.type(Aktoer.ORGANISASJON) - .organisasjonsnummer(dto.getOrganisasjonsnummer()); - } else { - builder.type(Aktoer.PERSON) - .offentligIdent(dto.getIdent()); - } - - return builder.build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidstaker.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidstaker.java deleted file mode 100644 index 4ae21753f65..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidstaker.java +++ /dev/null @@ -1,19 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidstakerDTO; - -@AllArgsConstructor -public class Arbeidstaker { - - private final ArbeidstakerDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidstakerDTO toDTO() { - - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidstakerDTO.builder() - .type(dto.getType().equals("Person") ? Aktoer.PERSON : Aktoer.ORGANISASJON) - .offentligIdent(dto.getOffentligIdent()) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Fartoy.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Fartoy.java deleted file mode 100644 index 134e4234fce..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Fartoy.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsavtaleDTO; -import no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.FartoyDTO; - -@AllArgsConstructor -public class Fartoy { - - private final ArbeidsavtaleDTO dto; - - public FartoyDTO toDTO() { - return FartoyDTO.builder() - .fartsomraade(dto.getFartsomraade()) - .skipsregister(dto.getSkipsregister()) - .skipstype(dto.getSkipstype()) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Periode.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Periode.java deleted file mode 100644 index 3e3827160c4..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Periode.java +++ /dev/null @@ -1,19 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.PeriodeDTO; - -@AllArgsConstructor -public class Periode { - - private final PeriodeDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.PeriodeDTO toDTO() { - - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.PeriodeDTO.builder() - .fom(dto.getFom()) - .tom(dto.getTom()) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Permisjon.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Permisjon.java deleted file mode 100644 index 6edd472c840..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Permisjon.java +++ /dev/null @@ -1,22 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.PermisjonPermitteringDTO; - -@AllArgsConstructor -public class Permisjon { - - private final PermisjonPermitteringDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.PermisjonPermitteringDTO toDTO() { - - - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.PermisjonPermitteringDTO.builder() - .periode(dto.getPeriode() == null ? null : new Periode(dto.getPeriode()).toDTO()) - .type(dto.getType()) - .prosent(dto.getProsent() == null ? null : dto.getProsent().doubleValue()) - .permisjonPermitteringId(dto.getPermisjonPermitteringId()) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Utenlandsopphold.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Utenlandsopphold.java deleted file mode 100644 index fb7d895e1a9..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Utenlandsopphold.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.UtenlandsoppholdDTO; - -@AllArgsConstructor -public class Utenlandsopphold { - - private final UtenlandsoppholdDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.UtenlandsoppholdDTO toDTO() { - - - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.UtenlandsoppholdDTO.builder() - .periode(dto.getPeriode() == null ? null : new Periode(dto.getPeriode()).toDTO()) - .rapporteringsperiode(dto.getRapporteringsperiode()) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/ArbeidsforholdNotFoundException.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/ArbeidsforholdNotFoundException.java deleted file mode 100644 index 747758b0412..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/ArbeidsforholdNotFoundException.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.exception; - -public class ArbeidsforholdNotFoundException extends RuntimeException { - - public ArbeidsforholdNotFoundException(String message) { - super(message); - } -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/SikkerhetsTokenExpiredException.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/SikkerhetsTokenExpiredException.java deleted file mode 100644 index 811fd3658a4..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/SikkerhetsTokenExpiredException.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.exception; - -public class SikkerhetsTokenExpiredException extends RuntimeException { - - public SikkerhetsTokenExpiredException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v1/ArbeidsforholdController.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v1/ArbeidsforholdController.java deleted file mode 100644 index c755dad4b68..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v1/ArbeidsforholdController.java +++ /dev/null @@ -1,35 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v1; - - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.arbeidsforholdservice.service.ArbeidsforholdService; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@Slf4j -@RequestMapping("/api/v1/arbeidsforhold") -@RequiredArgsConstructor -public class ArbeidsforholdController { - private final ArbeidsforholdService arbeidsforholdService; - - @GetMapping("/{ident}/{orgnummer}/{arbeidsforholdId}") - public ResponseEntity getArbeidsforhold( - @PathVariable("ident") String ident, - @PathVariable("orgnummer") String orgnummer, - @PathVariable("arbeidsforholdId") String arbeidsforholdId, - @RequestHeader("miljo") String miljo - ) { - var arbeidsforhold = arbeidsforholdService.getArbeidsforhold(ident, orgnummer, arbeidsforholdId, miljo); - return arbeidsforhold - .map(value -> ResponseEntity.ok(value.toV1DTO())) - .orElse(ResponseEntity.notFound().build()); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/ArbeidstakerController.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/ArbeidstakerController.java deleted file mode 100644 index 43dc23dc9ea..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/ArbeidstakerController.java +++ /dev/null @@ -1,40 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2; - - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.arbeidsforholdservice.domain.Arbeidsforhold; -import no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsforholdDTO; -import no.nav.registre.testnorge.arbeidsforholdservice.service.ArbeidsforholdService; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -@RestController -@Slf4j -@RequestMapping("/api/v2/arbeidstaker") -@RequiredArgsConstructor -public class ArbeidstakerController { - - private final ArbeidsforholdService arbeidsforholdService; - - @GetMapping("/{arbeidstaker}/arbeidsforhold") - public ResponseEntity> getArbeidsforhold( - @PathVariable("arbeidstaker") String ident, - @RequestHeader("miljo") String miljo - ) { - var arbeidsforhold = arbeidsforholdService.getArbeidsforhold(ident, miljo); - - if (arbeidsforhold == null) { - return ResponseEntity.notFound().build(); - } - - return ResponseEntity.ok(arbeidsforhold.stream().map(Arbeidsforhold::toV2DTO) - .toList()); - } -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AnsettelsesperiodeDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AnsettelsesperiodeDTO.java deleted file mode 100644 index 60725b4e9c2..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AnsettelsesperiodeDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AnsettelsesperiodeDTO { - - PeriodeDTO bruksperiode; - PeriodeDTO periode; - String sluttaarsak; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AntallTimerForTimeloennetDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AntallTimerForTimeloennetDTO.java deleted file mode 100644 index a9f033b7a82..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AntallTimerForTimeloennetDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AntallTimerForTimeloennetDTO { - - Double antallTimer; - PeriodeDTO periode; - String rapporteringsperiode; // yyyy-mm -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsavtaleDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsavtaleDTO.java deleted file mode 100644 index a4ac3e0c620..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsavtaleDTO.java +++ /dev/null @@ -1,27 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDate; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsavtaleDTO { - - Double antallTimerPrUke; - String ansettelsesform; - String arbeidstidsordning; - Double beregnetAntallTimerPrUke; - PeriodeDTO bruksperiode; - PeriodeDTO gyldighetsperiode; - LocalDate sistLoennsendring; - LocalDate sisteLoennsendringsdato; - LocalDate sistStillingsendring; - Double stillingsprosent; - String yrke; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsforholdDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsforholdDTO.java deleted file mode 100644 index 3862dd7ee40..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsforholdDTO.java +++ /dev/null @@ -1,34 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDateTime; -import java.util.List; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdDTO { - - AnsettelsesperiodeDTO ansettelsesperiode; - List antallTimerForTimeloennet; - List arbeidsavtaler; - String arbeidsforholdId; - ArbeidsgiverDTO arbeidsgiver; - ArbeidstakerDTO arbeidstaker; - boolean innrapportertEtterAOrdningen; - Long navArbeidsforholdId; - ArbeidsgiverDTO opplysningspliktig; - FartoyDTO fartoy; - List permisjonPermitteringer; - LocalDateTime registrert; - LocalDateTime sistBekreftet; - String type; - List utenlandsopphold; -} - - diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsgiverDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsgiverDTO.java deleted file mode 100644 index 6d41b29edfe..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsgiverDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; -import no.nav.registre.testnorge.arbeidsforholdservice.domain.Aktoer; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsgiverDTO { - - Aktoer type; - String organisasjonsnummer; - String offentligIdent; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidstakerDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidstakerDTO.java deleted file mode 100644 index a66364ab485..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidstakerDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; -import no.nav.registre.testnorge.arbeidsforholdservice.domain.Aktoer; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidstakerDTO { - - Aktoer type; - String offentligIdent; - String aktoerId; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/FartoyDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/FartoyDTO.java deleted file mode 100644 index d2349f6b0c4..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/FartoyDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class FartoyDTO { - - String skipsregister; - String skipstype; - String fartsomraade; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PeriodeDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PeriodeDTO.java deleted file mode 100644 index 2e08761fc27..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PeriodeDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDate; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PeriodeDTO { - - LocalDate fom; - LocalDate tom; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PermisjonPermitteringDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PermisjonPermitteringDTO.java deleted file mode 100644 index 3d223f79eed..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PermisjonPermitteringDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PermisjonPermitteringDTO { - - PeriodeDTO periode; - String permisjonPermitteringId; - Double prosent; - String type; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/UtenlandsoppholdDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/UtenlandsoppholdDTO.java deleted file mode 100644 index 2bc9aabc88d..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/UtenlandsoppholdDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class UtenlandsoppholdDTO { - - String landkode; - PeriodeDTO periode; - String rapporteringsperiode; // yyyy-mm -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/service/ArbeidsforholdService.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/service/ArbeidsforholdService.java deleted file mode 100644 index 6f0cc18a60b..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/service/ArbeidsforholdService.java +++ /dev/null @@ -1,35 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.service; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.AaregConsumer; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsforholdDTO; -import no.nav.registre.testnorge.arbeidsforholdservice.domain.Arbeidsforhold; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.Optional; - -@Slf4j -@Service -@RequiredArgsConstructor -public class ArbeidsforholdService { - - private final AaregConsumer aaregConsumer; - - public List getArbeidsforhold(String ident, String miljo) { - List arbeidsforhold = aaregConsumer.getArbeidsforholds(ident, miljo); - return arbeidsforhold == null ? null : arbeidsforhold - .stream() - .map(Arbeidsforhold::new) - .toList(); - } - - - public Optional getArbeidsforhold(String ident, String orgnummer, String arbeidsforholdId, String miljo) { - return aaregConsumer - .getArbeidsforhold(ident, orgnummer, arbeidsforholdId, miljo) - .map(Arbeidsforhold::new); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/resources/application-local.yml b/apps/arbeidsforhold-service/src/main/resources/application-local.yml deleted file mode 100644 index cfb3ace7ac1..00000000000 --- a/apps/arbeidsforhold-service/src/main/resources/application-local.yml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - config: - import: "sm://" \ No newline at end of file diff --git a/apps/arbeidsforhold-service/src/main/resources/application.yml b/apps/arbeidsforhold-service/src/main/resources/application.yml deleted file mode 100644 index 57f5720ef2b..00000000000 --- a/apps/arbeidsforhold-service/src/main/resources/application.yml +++ /dev/null @@ -1,22 +0,0 @@ -spring: - application: - name: testnav-arbeidsforhold-service - description: Tjenester for arbeidsforhold. - config: - import: "classpath:dolly-application.yml" - security: - oauth2: - resourceserver: - aad: - issuer-uri: ${AZURE_OPENID_CONFIG_ISSUER} - accepted-audience: ${AZURE_APP_CLIENT_ID}, api:// ${AZURE_APP_CLIENT_ID} - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - accepted-audience: ${TOKEN_X_CLIENT_ID} - -consumers: - testnav-aareg-proxy: - name: testnav-aareg-proxy - namespace: dolly - url: https://testnav-aareg-proxy.dev-fss-pub.nais.io - cluster: dev-fss \ No newline at end of file diff --git a/apps/arbeidsforhold-service/src/main/resources/logback-spring.xml b/apps/arbeidsforhold-service/src/main/resources/logback-spring.xml deleted file mode 100644 index c6f5a93ab27..00000000000 --- a/apps/arbeidsforhold-service/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - true - - 10280 - 20 - ^sun\.reflect\..*\.invoke - ^net\.sf\.cglib\.proxy\.MethodProxy\.invoke - java\.util\.concurrent\..* - org\.apache\.catalina\..* - org\.apache\.coyote\..* - org\.apache\.tomcat\..* - - - - - - - - - - - - - %d{HH:mm:ss.SSS} | %5p | %logger{25} | %m%n - - utf8 - - - - - - - - - \ No newline at end of file diff --git a/apps/arbeidsforhold-service/src/test/java/no/nav/registre/testnorge/arbeidsforholdservice/ApplicationContextTest.java b/apps/arbeidsforhold-service/src/test/java/no/nav/registre/testnorge/arbeidsforholdservice/ApplicationContextTest.java deleted file mode 100644 index 2dc82e3670f..00000000000 --- a/apps/arbeidsforhold-service/src/test/java/no/nav/registre/testnorge/arbeidsforholdservice/ApplicationContextTest.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice; - -import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.dolly.libs.test.DollyApplicationContextTest; - -@DollySpringBootTest -class ApplicationContextTest extends DollyApplicationContextTest { -} diff --git a/apps/arbeidsforhold-service/src/test/resources/application-test.yml b/apps/arbeidsforhold-service/src/test/resources/application-test.yml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/apps/dolly-backend/config.test.yml b/apps/dolly-backend/config.test.yml index a2a00a3e177..de22648fd14 100644 --- a/apps/dolly-backend/config.test.yml +++ b/apps/dolly-backend/config.test.yml @@ -28,8 +28,6 @@ spec: outbound: rules: - application: generer-navn-service - - application: testnav-amelding-service - - application: testnav-arbeidsforhold-service - application: testnav-arbeidsplassencv-proxy - application: testnav-arbeidssoekerregisteret-proxy - application: testnav-bruker-service-dev diff --git a/apps/dolly-backend/config.yml b/apps/dolly-backend/config.yml index 0a7b32605f5..911167ae1e4 100644 --- a/apps/dolly-backend/config.yml +++ b/apps/dolly-backend/config.yml @@ -30,8 +30,6 @@ spec: outbound: rules: - application: generer-navn-service - - application: testnav-amelding-service - - application: testnav-arbeidsforhold-service - application: testnav-arbeidsplassencv-proxy - application: testnav-arbeidssoekerregisteret-proxy - application: testnav-bruker-service diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/AaregClient.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/AaregClient.java index 116483bcbfc..9c54e2e9425 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/AaregClient.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/AaregClient.java @@ -6,13 +6,11 @@ import ma.glasnost.orika.MappingContext; import no.nav.dolly.bestilling.ClientFuture; import no.nav.dolly.bestilling.ClientRegister; -import no.nav.dolly.bestilling.aareg.amelding.AmeldingService; import no.nav.dolly.bestilling.aareg.domain.ArbeidsforholdRespons; import no.nav.dolly.config.ApplicationConfig; import no.nav.dolly.domain.jpa.BestillingProgress; import no.nav.dolly.domain.jpa.Bruker; import no.nav.dolly.domain.resultset.RsDollyUtvidetBestilling; -import no.nav.dolly.domain.resultset.aareg.RsAareg; import no.nav.dolly.domain.resultset.dolly.DollyPerson; import no.nav.dolly.errorhandling.ErrorStatusDecoder; import no.nav.dolly.util.TransactionHelperService; @@ -52,7 +50,6 @@ public class AaregClient implements ClientRegister { private static final String SYSTEM = "AAREG"; private final AaregConsumer aaregConsumer; - private final AmeldingService ameldingService; private final ApplicationConfig applicationConfig; private final ErrorStatusDecoder errorStatusDecoder; private final MapperFacade mapperFacade; @@ -76,27 +73,17 @@ public Flux gjenopprett(RsDollyUtvidetBestilling bestilling, Dolly transactionHelperService.persister(progress, BestillingProgress::getAaregStatus, BestillingProgress::setAaregStatus, initStatus); - return Flux.just(1) - .flatMap(index -> { - if (bestilling.getAareg().stream() - .map(RsAareg::getAmelding) - .allMatch(List::isEmpty)) { - - return sendArbeidsforhold(bestilling, dollyPerson, miljoerTrygg.get(), isOpprettEndre); - } else { - return ameldingService.sendAmelding(bestilling, dollyPerson, miljoerTrygg.get()); - } - }) + return Flux.from(sendArbeidsforhold(bestilling, dollyPerson, miljoerTrygg.get(), isOpprettEndre) .timeout(Duration.ofSeconds(applicationConfig.getClientTimeout())) .onErrorResume(error -> getErrors(error, miljoerTrygg.get())) - .map(status -> futurePersist(progress, status)); + .map(status -> futurePersist(progress, status))); } return Flux.empty(); } - private Flux getErrors(Throwable error, Set miljoer) { + private Mono getErrors(Throwable error, Set miljoer) { - return Flux.just(miljoer.stream() + return Mono.just(miljoer.stream() .map(miljoe -> "%s:Feil= %s".formatted(miljoe, ErrorStatusDecoder.encodeStatus(WebClientFilter.getMessage(error)))) .collect(Collectors.joining(","))); } diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/AmeldingConsumer.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/AmeldingConsumer.java deleted file mode 100644 index 7891bc02455..00000000000 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/AmeldingConsumer.java +++ /dev/null @@ -1,80 +0,0 @@ -package no.nav.dolly.bestilling.aareg.amelding; - -import com.fasterxml.jackson.databind.ObjectMapper; -import io.swagger.v3.core.util.Json; -import lombok.extern.slf4j.Slf4j; -import no.nav.dolly.bestilling.aareg.command.AmeldingPutCommand; -import no.nav.dolly.config.Consumers; -import no.nav.dolly.errorhandling.ErrorStatusDecoder; -import no.nav.dolly.metrics.Timed; -import no.nav.testnav.libs.dto.ameldingservice.v1.AMeldingDTO; -import no.nav.testnav.libs.dto.ameldingservice.v1.VirksomhetDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange; -import org.slf4j.event.Level; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Service; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; - -import java.time.format.DateTimeFormatter; -import java.util.List; -import java.util.stream.Collectors; - -import static no.nav.dolly.bestilling.aareg.command.OrganisasjonGetCommand.NOT_FOUND; -import static no.nav.dolly.util.JacksonExchangeStrategyUtil.getJacksonStrategy; - -@Service -@Slf4j -public class AmeldingConsumer { - - private static final String JURIDISK_ENHET_IKKE_FUNNET = "Feil= Juridisk enhet for organisasjon(ene): %s ble ikke funnet i miljø"; - private static final DateTimeFormatter YEAR_MONTH = DateTimeFormatter.ofPattern("yyyy-MM"); - private final TokenExchange tokenService; - private final WebClient webClient; - private final ServerProperties serverProperties; - private final ErrorStatusDecoder errorStatusDecoder; - - public AmeldingConsumer( - TokenExchange tokenService, - Consumers consumers, - ObjectMapper objectMapper, - ErrorStatusDecoder errorStatusDecoder, - WebClient.Builder webClientBuilder) { - - this.tokenService = tokenService; - serverProperties = consumers.getTestnavAmeldingService(); - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .exchangeStrategies(getJacksonStrategy(objectMapper)) - .build(); - this.errorStatusDecoder = errorStatusDecoder; - } - - @Timed(name = "providers", tags = {"operation", "amelding_put"}) - public Flux sendAmeldinger(List ameldinger, String miljoe) { - - return tokenService.exchange(serverProperties) - .flatMapMany(token -> Flux.fromIterable(ameldinger) - .flatMap(amelding -> { - if (NOT_FOUND.equals(amelding.getOpplysningspliktigOrganisajonsnummer())) { - return Mono.just(ErrorStatusDecoder.encodeStatus( - String.format(JURIDISK_ENHET_IKKE_FUNNET, amelding.getVirksomheter().stream() - .map(VirksomhetDTO::getOrganisajonsnummer) - .collect(Collectors.joining(","))))); - } else { - log.info("Sender Amelding {} til miljø {}: {}", - amelding.getKalendermaaned().format(YEAR_MONTH), miljoe, Json.pretty(amelding)); - return new AmeldingPutCommand(webClient, amelding, miljoe, token.getTokenValue()).call() - .map(status -> status.getStatusCode().is2xxSuccessful() ? "OK" : - errorStatusDecoder.getErrorText(HttpStatus.valueOf(status.getStatusCode().value()), status.getBody())) - .doOnNext(status -> - log.atLevel("OK".equals(status) ? Level.INFO : Level.ERROR) - .log("Ameldingstatus: {}, miljoe: {}, kalendermåned: {}, organisasjon: {}", - status, miljoe, amelding.getKalendermaaned(), - amelding.getOpplysningspliktigOrganisajonsnummer())); - } - })); - } -} diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/AmeldingService.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/AmeldingService.java deleted file mode 100644 index ad4c851d363..00000000000 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/AmeldingService.java +++ /dev/null @@ -1,73 +0,0 @@ -package no.nav.dolly.bestilling.aareg.amelding; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import ma.glasnost.orika.MapperFacade; -import ma.glasnost.orika.MappingContext; -import no.nav.dolly.domain.resultset.RsDollyUtvidetBestilling; -import no.nav.dolly.domain.resultset.aareg.RsAareg; -import no.nav.dolly.domain.resultset.aareg.RsAmeldingRequest; -import no.nav.dolly.domain.resultset.aareg.RsArbeidsforholdAareg; -import no.nav.dolly.domain.resultset.dolly.DollyPerson; -import no.nav.testnav.libs.dto.ameldingservice.v1.AMeldingDTO; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import org.springframework.stereotype.Service; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; - -import java.util.Collection; -import java.util.Comparator; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; - -@Service -@RequiredArgsConstructor -@Slf4j -public class AmeldingService { - - private static final String STATUS_ELEMENT = "%s:Amelding$%s"; - - private final AmeldingConsumer ameldingConsumer; - private final MapperFacade mapperFacade; - private final OrganisasjonServiceConsumer organisasjonServiceConsumer; - - public Mono sendAmelding(RsDollyUtvidetBestilling bestilling, DollyPerson dollyPerson, - Set miljoer) { - - var orgnumre = bestilling.getAareg().getFirst().getAmelding().stream() - .map(RsAmeldingRequest::getArbeidsforhold) - .flatMap(Collection::stream) - .map(RsArbeidsforholdAareg::getArbeidsgiver) - .map(RsArbeidsforholdAareg.RsArbeidsgiver::getOrgnummer) - .collect(Collectors.toSet()); - - return Flux.fromIterable(miljoer) - .map(miljoe -> organisasjonServiceConsumer.getOrganisasjoner(orgnumre, miljoe) - .filter(OrganisasjonDTO::isFunnet) - .collect(Collectors.toMap(OrganisasjonDTO::getOrgnummer, OrganisasjonDTO::getJuridiskEnhet)) - .flatMapMany(organisasjon -> - prepareAmeldinger(bestilling.getAareg().getFirst(), dollyPerson.getIdent(), - organisasjon, miljoe)) - .collect(Collectors.joining(","))) - .flatMap(Flux::from) - .collect(Collectors.joining(",")); - } - - private Flux prepareAmeldinger(RsAareg aareg, String ident, Map organisasjon, - String miljoe) { - - var context = new MappingContext.Factory().getContext(); - context.setProperty("personIdent", ident); - context.setProperty("arbeidsforholdstype", aareg.getArbeidsforholdstype()); - context.setProperty("opplysningspliktig", organisasjon); - - return Flux.fromIterable(aareg.getAmelding()) - .map(aamelding -> mapperFacade.map(aamelding, AMeldingDTO.class, context)) - .sort(Comparator.comparing(AMeldingDTO::getKalendermaaned)) - .collectList() - .flatMapMany(ameldinger -> ameldingConsumer.sendAmeldinger(ameldinger, miljoe) - .distinct() - .map(status -> STATUS_ELEMENT.formatted(miljoe, status))); - } -} diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/OrganisasjonServiceConsumer.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/OrganisasjonServiceConsumer.java deleted file mode 100644 index 4bc4933c4bb..00000000000 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/OrganisasjonServiceConsumer.java +++ /dev/null @@ -1,40 +0,0 @@ -package no.nav.dolly.bestilling.aareg.amelding; - -import no.nav.dolly.bestilling.aareg.command.OrganisasjonGetCommand; -import no.nav.dolly.config.Consumers; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Service; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Flux; - -import java.util.Set; - -@Service -public class OrganisasjonServiceConsumer { - - private final TokenExchange tokenService; - private final WebClient webClient; - private final ServerProperties serverProperties; - - public OrganisasjonServiceConsumer( - TokenExchange tokenService, - Consumers consumers, - WebClient.Builder webClientBuilder - ) { - this.tokenService = tokenService; - serverProperties = consumers.getTestnavOrganisasjonService(); - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public Flux getOrganisasjoner(Set orgnummerListe, String miljo) { - - return tokenService.exchange(serverProperties) - .flatMapMany(token -> Flux.fromIterable(orgnummerListe) - .flatMap(orgnummer -> - new OrganisasjonGetCommand(webClient, orgnummer, miljo, token.getTokenValue()).call())); - } -} \ No newline at end of file diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/domain/AmeldingTransaksjon.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/domain/AmeldingTransaksjon.java deleted file mode 100644 index c1ea6f861cc..00000000000 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/domain/AmeldingTransaksjon.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.dolly.bestilling.aareg.amelding.domain; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class AmeldingTransaksjon { - - private String id; - private String maaned; -} diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/domain/Virksomhet.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/domain/Virksomhet.java deleted file mode 100644 index f7a20977239..00000000000 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/domain/Virksomhet.java +++ /dev/null @@ -1,30 +0,0 @@ -package no.nav.dolly.bestilling.aareg.amelding.domain; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import no.nav.testnav.libs.dto.ameldingservice.v1.PersonDTO; - -import java.util.List; - -@Getter -@Setter -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class Virksomhet { - - private String organisajonsnummer; - private List personer; - - public String getOrganisajonsnummer() { - return this.organisajonsnummer; - } - - public List getPersoner() { - return this.personer; - } - -} diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/mapper/AmeldingRequestMappingStrategy.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/mapper/AmeldingRequestMappingStrategy.java deleted file mode 100644 index 89ad49345d5..00000000000 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/amelding/mapper/AmeldingRequestMappingStrategy.java +++ /dev/null @@ -1,209 +0,0 @@ -package no.nav.dolly.bestilling.aareg.amelding.mapper; - -import ma.glasnost.orika.CustomMapper; -import ma.glasnost.orika.MapperFactory; -import ma.glasnost.orika.MappingContext; -import no.nav.dolly.bestilling.aareg.amelding.domain.Virksomhet; -import no.nav.dolly.domain.resultset.aareg.RsAmeldingRequest; -import no.nav.dolly.domain.resultset.aareg.RsAntallTimerIPerioden; -import no.nav.dolly.domain.resultset.aareg.RsArbeidsforholdAareg; -import no.nav.dolly.domain.resultset.aareg.RsPeriodeAareg; -import no.nav.dolly.domain.resultset.aareg.RsPermisjon; -import no.nav.dolly.domain.resultset.aareg.RsPermittering; -import no.nav.dolly.domain.resultset.aareg.RsUtenlandsopphold; -import no.nav.dolly.mapper.MappingStrategy; -import no.nav.testnav.libs.dto.ameldingservice.v1.AMeldingDTO; -import no.nav.testnav.libs.dto.ameldingservice.v1.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.ameldingservice.v1.FartoeyDTO; -import no.nav.testnav.libs.dto.ameldingservice.v1.InntektDTO; -import no.nav.testnav.libs.dto.ameldingservice.v1.PermisjonDTO; -import no.nav.testnav.libs.dto.ameldingservice.v1.PersonDTO; -import no.nav.testnav.libs.dto.ameldingservice.v1.VirksomhetDTO; -import org.springframework.stereotype.Component; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.stream.Stream; - -import static java.util.Objects.nonNull; - -@Component -public class AmeldingRequestMappingStrategy implements MappingStrategy { - - private static final String PERMISJON_ID = "dolly-123456"; - private static final Float DEFAULT_ARBEIDSTID = 37.5F; - - private static LocalDate getDate(LocalDateTime dateTime) { - - return nonNull(dateTime) ? dateTime.toLocalDate() : null; - } - - @Override - public void register(MapperFactory factory) { - factory.classMap(RsAmeldingRequest.class, AMeldingDTO.class) - .customize(new CustomMapper<>() { - @Override - public void mapAtoB(RsAmeldingRequest rsAmelding, - AMeldingDTO amelding, MappingContext context) { - - var date = rsAmelding.getMaaned().split("-"); - amelding.setKalendermaaned(LocalDate.of(Integer.parseInt(date[0]), Integer.parseInt(date[1]), 1)); - var opplysningsPliktig = (Map) context.getProperty("opplysningspliktig"); - - amelding.setOpplysningspliktigOrganisajonsnummer(opplysningsPliktig.get(rsAmelding.getArbeidsforhold() - .getFirst().getArbeidsgiver().getOrgnummer())); - - var virksomheter = mapperFacade.mapAsList(rsAmelding.getArbeidsforhold(), Virksomhet.class, context); - var arbeidsForholdIder = new HashMap(); - virksomheter - .forEach(virksomhet -> virksomhet.getPersoner().forEach(person -> - arbeidsForholdIder.put(virksomhet.getOrganisajonsnummer()+person.getIdent(), - new AtomicInteger(0)))); - virksomheter.forEach(virksomhet -> virksomhet.getPersoner() - .forEach(person -> person.getArbeidsforhold() - .forEach(arbeidsforhold -> arbeidsforhold - .setArbeidsforholdId(Integer.toString( - arbeidsForholdIder.get(virksomhet.getOrganisajonsnummer()+person.getIdent()) - .incrementAndGet()))))); - var ameldingVirksomheter = virksomheter.stream().map(virksomhet -> - VirksomhetDTO.builder() - .organisajonsnummer(virksomhet.getOrganisajonsnummer()) - .personer(virksomhet.getPersoner()) - .build()) - .toList(); - - amelding.setVirksomheter(ameldingVirksomheter); - } - }) - .byDefault() - .register(); - - factory.classMap(RsArbeidsforholdAareg.class, Virksomhet.class) - .customize(new CustomMapper<>() { - @Override - public void mapAtoB(RsArbeidsforholdAareg rsArbeidsforholdAareg, Virksomhet virksomhet, MappingContext context) { - - virksomhet.setOrganisajonsnummer(rsArbeidsforholdAareg.getArbeidsgiver().getOrgnummer()); - virksomhet.setPersoner(List.of(PersonDTO.builder() - .ident((String) context.getProperty("personIdent")) - .arbeidsforhold(List.of(ArbeidsforholdDTO.builder() - .startdato( - nonNull(rsArbeidsforholdAareg.getAnsettelsesPeriode()) ? - getDate(rsArbeidsforholdAareg.getAnsettelsesPeriode().getFom()) : null) - .sluttdato( - nonNull(rsArbeidsforholdAareg.getAnsettelsesPeriode()) ? - getDate(rsArbeidsforholdAareg.getAnsettelsesPeriode().getTom()) : null) - .antallTimerPerUke( - !rsArbeidsforholdAareg.getAntallTimerForTimeloennet().isEmpty() ? - rsArbeidsforholdAareg.getAntallTimerForTimeloennet() - .getFirst().getAntallTimer().floatValue() : - getAvtaltArbeidstidPerUke(rsArbeidsforholdAareg)) - .arbeidsforholdType((String) context.getProperty("arbeidsforholdstype")) - .arbeidstidsordning(rsArbeidsforholdAareg.getArbeidsavtale().getArbeidstidsordning()) - .fartoey(nonNull(rsArbeidsforholdAareg.getFartoy()) && !rsArbeidsforholdAareg.getFartoy().isEmpty() ? - mapperFacade.map(rsArbeidsforholdAareg.getFartoy() - .getFirst(), FartoeyDTO.class) : null) - .inntekter( - (nonNull(rsArbeidsforholdAareg.getUtenlandsopphold()) && - !rsArbeidsforholdAareg.getUtenlandsopphold().isEmpty()) || - (nonNull(rsArbeidsforholdAareg.getAntallTimerForTimeloennet()) && - !rsArbeidsforholdAareg.getAntallTimerForTimeloennet().isEmpty()) ? - Stream.of( - mapperFacade.mapAsList(rsArbeidsforholdAareg.getAntallTimerForTimeloennet(), InntektDTO.class), - mapperFacade.mapAsList(rsArbeidsforholdAareg.getUtenlandsopphold(), InntektDTO.class)) - .flatMap(Collection::stream) - .toList() : null) - .yrke(rsArbeidsforholdAareg.getArbeidsavtale().getYrke()) - .arbeidstidsordning(rsArbeidsforholdAareg.getArbeidsavtale().getArbeidstidsordning()) - .stillingsprosent(nonNull(rsArbeidsforholdAareg.getArbeidsavtale().getStillingsprosent()) ? rsArbeidsforholdAareg.getArbeidsavtale().getStillingsprosent().floatValue() : null) - .sisteLoennsendringsdato(nonNull(rsArbeidsforholdAareg.getArbeidsavtale().getSisteLoennsendringsdato()) ? rsArbeidsforholdAareg.getArbeidsavtale().getSisteLoennsendringsdato().toLocalDate() : null) - .permisjoner((nonNull(rsArbeidsforholdAareg.getPermisjon()) && !rsArbeidsforholdAareg.getPermisjon().isEmpty()) || - (nonNull(rsArbeidsforholdAareg.getPermittering()) && !rsArbeidsforholdAareg.getPermittering().isEmpty()) ? Stream.of( - mapperFacade.mapAsList(rsArbeidsforholdAareg.getPermisjon(), PermisjonDTO.class), - mapperFacade.mapAsList(rsArbeidsforholdAareg.getPermittering(), PermisjonDTO.class)) - .flatMap(Collection::stream) - .toList() : null) - .avvik(null) // Settes dersom avvik kommer fra frontend - .build())) - .build() - )); - } - }) - .byDefault() - .register(); - - factory.classMap(RsPermisjon.class, PermisjonDTO.class) - .customize(new CustomMapper<>() { - @Override - public void mapAtoB(RsPermisjon rsPermisjon, PermisjonDTO permisjonDTO, MappingContext context) { - - permisjonDTO.setPermisjonId(PERMISJON_ID); - permisjonDTO.setBeskrivelse(rsPermisjon.getPermisjon()); - permisjonDTO.setPermisjonsprosent(rsPermisjon.getPermisjonsprosent().floatValue()); - permisjonDTO.setStartdato( - nonNull(rsPermisjon.getPermisjonsPeriode()) ? - getDate(rsPermisjon.getPermisjonsPeriode().getFom()) : null); - permisjonDTO.setSluttdato( - nonNull(rsPermisjon.getPermisjonsPeriode()) ? - getDate(rsPermisjon.getPermisjonsPeriode().getTom()) : null); - } - }) - .byDefault() - .register(); - - factory.classMap(RsPermittering.class, RsPermisjon.class).customize(new CustomMapper<>() { - @Override - public void mapAtoB(RsPermittering rsPermittering, RsPermisjon rsPermisjon, MappingContext context) { - - rsPermisjon.setPermisjonId(PERMISJON_ID); - rsPermisjon.setPermisjon("permittering"); - rsPermisjon.setPermisjonsprosent(rsPermittering.getPermitteringsprosent()); - rsPermisjon.setPermisjonsPeriode(RsPeriodeAareg.builder() - .fom(nonNull(rsPermittering.getPermitteringsPeriode()) ? - rsPermittering.getPermitteringsPeriode().getFom() : null) - .tom(nonNull(rsPermittering.getPermitteringsPeriode()) ? - rsPermittering.getPermitteringsPeriode().getTom() : null) - .build()); - } - }) - .byDefault() - .register(); - - factory.classMap(RsUtenlandsopphold.class, InntektDTO.class).customize(new CustomMapper<>() { - @Override - public void mapAtoB(RsUtenlandsopphold utenlandsopphold, InntektDTO inntekt, MappingContext context) { - - inntekt.setStartdatoOpptjeningsperiode(getDate(utenlandsopphold.getPeriode().getFom())); - inntekt.setSluttdatoOpptjeningsperiode(getDate(utenlandsopphold.getPeriode().getTom())); - inntekt.setOpptjeningsland(utenlandsopphold.getLand()); - } - }) - .byDefault() - .register(); - - factory.classMap(RsAntallTimerIPerioden.class, InntektDTO.class).customize(new CustomMapper<>() { - @Override - public void mapAtoB(RsAntallTimerIPerioden antallTimerIPerioden, InntektDTO inntekt, MappingContext context) { - - inntekt.setStartdatoOpptjeningsperiode(getDate(antallTimerIPerioden.getPeriode().getFom())); - inntekt.setSluttdatoOpptjeningsperiode(getDate(antallTimerIPerioden.getPeriode().getTom())); - inntekt.setAntall(antallTimerIPerioden.getAntallTimer().intValue()); - } - }) - .byDefault() - .register(); - } - - private float getAvtaltArbeidstidPerUke(RsArbeidsforholdAareg rsArbeidsforholdAareg) { - - return nonNull(rsArbeidsforholdAareg.getArbeidsavtale()) && - nonNull(rsArbeidsforholdAareg.getArbeidsavtale().getAvtaltArbeidstimerPerUke()) ? - rsArbeidsforholdAareg.getArbeidsavtale().getAvtaltArbeidstimerPerUke().floatValue() : - DEFAULT_ARBEIDSTID; - } -} \ No newline at end of file diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/command/AmeldingPutCommand.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/command/AmeldingPutCommand.java deleted file mode 100644 index b675a80a052..00000000000 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/command/AmeldingPutCommand.java +++ /dev/null @@ -1,54 +0,0 @@ -package no.nav.dolly.bestilling.aareg.command; - -import lombok.RequiredArgsConstructor; -import no.nav.dolly.util.TokenXUtil; -import no.nav.testnav.libs.dto.ameldingservice.v1.AMeldingDTO; -import no.nav.testnav.libs.reactivecore.utils.WebClientFilter; -import no.nav.testnav.libs.securitycore.config.UserConstant; -import org.springframework.http.HttpHeaders; -import org.springframework.http.ResponseEntity; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.netty.http.client.HttpClientRequest; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -import static no.nav.dolly.util.RequestTimeout.REQUEST_DURATION; - -@RequiredArgsConstructor -public class AmeldingPutCommand implements Callable>> { - - private static final String AMELDING_URL = "/api/v1/amelding"; - private static final String MILJOE = "miljo"; - - private final WebClient webClient; - private final AMeldingDTO amelding; - private final String miljo; - private final String token; - - @Override - public Mono> call() { - - return webClient.put() - .uri(uriBuilder -> uriBuilder.path(AMELDING_URL) - .build()) - .httpRequest(httpRequest -> { - HttpClientRequest reactorRequest = httpRequest.getNativeRequest(); - reactorRequest.responseTimeout(Duration.ofSeconds(REQUEST_DURATION)); - }) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .header(UserConstant.USER_HEADER_JWT, TokenXUtil.getUserJwt()) - .header(MILJOE, miljo) - .bodyValue(amelding) - .retrieve() - .toBodilessEntity() - .map(respons -> ResponseEntity.status(respons.getStatusCode()).body("OK")) - .doOnError(WebClientFilter::logErrorMessage) - .onErrorResume(error -> Mono.just(ResponseEntity.status(WebClientFilter.getStatus(error)) - .body(WebClientFilter.getMessage(error)))) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)); - } -} diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/config/Consumers.java b/apps/dolly-backend/src/main/java/no/nav/dolly/config/Consumers.java index 17bd6e62418..1c662a53e91 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/config/Consumers.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/config/Consumers.java @@ -17,7 +17,6 @@ public class Consumers { private ServerProperties testnavAaregProxy; - private ServerProperties testnavAmeldingService; private ServerProperties testnavArbeidsplassenCVProxy; private ServerProperties testnavArenaForvalterenProxy; private ServerProperties testnavBrregStubProxy; diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsAareg.java b/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsAareg.java index 8447b237863..38ed897684f 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsAareg.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsAareg.java @@ -23,8 +23,6 @@ @AllArgsConstructor public class RsAareg { - private RsPeriodeAmelding genererPeriode; - @Schema(description = "Gyldige verdier finnes i kodeverk 'Arbeidsforholdstyper'") private String arbeidsforholdstype; @@ -53,8 +51,6 @@ public class RsAareg { @Schema(description = "Angir om posten er oppdatering") private Boolean isOppdatering; - private List amelding; - public List getAntallTimerForTimeloennet() { if (isNull(antallTimerForTimeloennet)) { antallTimerForTimeloennet = new ArrayList<>(); @@ -89,11 +85,4 @@ public List getUtenlandsopphold() { } return utenlandsopphold; } - - public List getAmelding() { - if (isNull(amelding)) { - amelding = new ArrayList<>(); - } - return amelding; - } } diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsAmeldingRequest.java b/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsAmeldingRequest.java deleted file mode 100644 index 18e9d40e2ba..00000000000 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsAmeldingRequest.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.dolly.domain.resultset.aareg; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.util.List; - -@Getter -@Setter -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class RsAmeldingRequest { - - private String maaned; - private List arbeidsforhold; -} diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsArbeidsforholdAareg.java b/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsArbeidsforholdAareg.java deleted file mode 100644 index 22c501c6039..00000000000 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsArbeidsforholdAareg.java +++ /dev/null @@ -1,82 +0,0 @@ -package no.nav.dolly.domain.resultset.aareg; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.util.ArrayList; -import java.util.List; - -import static java.util.Objects.isNull; - -@Getter -@Setter -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class RsArbeidsforholdAareg { - - private String arbeidsforholdID; - - private Long arbeidsforholdIDnav; - - private RsAnsettelsesPeriode ansettelsesPeriode; - - private String arbeidsforholdstype; - - private List antallTimerForTimeloennet; - - private List fartoy; - - private RsArbeidsavtale arbeidsavtale; - - private List permisjon; - - private List permittering; - - private List utenlandsopphold; - - private RsArbeidsgiver arbeidsgiver; - - private RsPersonAareg arbeidstaker; - - public List getAntallTimerForTimeloennet() { - if (isNull(antallTimerForTimeloennet)) { - antallTimerForTimeloennet = new ArrayList<>(); - } - return antallTimerForTimeloennet; - } - - public List getUtenlandsopphold() { - if (isNull(utenlandsopphold)) { - utenlandsopphold = new ArrayList<>(); - } - return utenlandsopphold; - } - - public List getPermisjon() { - if (isNull(permisjon)) { - permisjon = new ArrayList<>(); - } - return permisjon; - } - - public List getPermittering() { - if (isNull(permittering)) { - permittering = new ArrayList<>(); - } - return permittering; - } - - @Getter - @Setter - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class RsArbeidsgiver { - private String aktoertype; - private String orgnummer; - } -} diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsPeriodeAmelding.java b/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsPeriodeAmelding.java deleted file mode 100644 index 0370221008d..00000000000 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsPeriodeAmelding.java +++ /dev/null @@ -1,47 +0,0 @@ -package no.nav.dolly.domain.resultset.aareg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import org.springframework.data.elasticsearch.annotations.DateFormat; -import org.springframework.data.elasticsearch.annotations.Field; -import org.springframework.data.elasticsearch.annotations.FieldType; - -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; - -import static java.util.Objects.isNull; - -@Getter -@Setter -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class RsPeriodeAmelding { - - @Schema(description = "Dato fra-og-med", - type = "LocalDateTime", - requiredMode = Schema.RequiredMode.REQUIRED) - @Field(type = FieldType.Date, format = DateFormat.date_hour_minute_second, pattern = "uuuu-MM-dd'T'HH:mm:ss") - private LocalDateTime fom; - - @Schema(description = "Dato til-og-med", - type = "LocalDateTime") - @Field(type = FieldType.Date, format = DateFormat.date_hour_minute_second, pattern = "uuuu-MM-dd'T'HH:mm:ss") - private LocalDateTime tom; - - @Schema(description = "Samlet liste over periode", - type = "List") - private List periode; - - public List getPeriode() { - if (isNull(periode)) { - periode = new ArrayList<>(); - } - return periode; - } -} diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsPersonAareg.java b/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsPersonAareg.java deleted file mode 100644 index eb17b774d91..00000000000 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/aareg/RsPersonAareg.java +++ /dev/null @@ -1,22 +0,0 @@ -package no.nav.dolly.domain.resultset.aareg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class RsPersonAareg { - - @Schema(description = "Personident/fødselsnummer") - private String ident; - - @Schema(description = "Gyldige verdier finnes i kodeverk 'Personidenter'") - private String identtype; -} \ No newline at end of file diff --git a/apps/dolly-backend/src/main/resources/application-local.yml b/apps/dolly-backend/src/main/resources/application-local.yml index 47f6f8d3109..0f4c03309ad 100644 --- a/apps/dolly-backend/src/main/resources/application-local.yml +++ b/apps/dolly-backend/src/main/resources/application-local.yml @@ -43,10 +43,6 @@ consumers: url: https://testnav-tps-messaging-service.intern.dev.nav.no testnav-person-service: url: https://testnav-person-service.intern.dev.nav.no - testnav-arbeidsforhold-service: - url: https://testnav-arbeidsforhold-service.intern.dev.nav.no - testnav-amelding-service: - url: https://testnav-amelding-service.intern.dev.nav.no testnav-organisasjon-service: url: https://testnav-organisasjon-service.intern.dev.nav.no testnav-sykemelding-api: diff --git a/apps/dolly-backend/src/main/resources/application.yml b/apps/dolly-backend/src/main/resources/application.yml index ae1de8e8f8e..3feca290567 100644 --- a/apps/dolly-backend/src/main/resources/application.yml +++ b/apps/dolly-backend/src/main/resources/application.yml @@ -180,16 +180,6 @@ consumers: namespace: dolly url: http://testnav-pdl-forvalter.dolly.svc.cluster.local cluster: dev-gcp - testnav-arbeidsforhold-service: - name: testnav-arbeidsforhold-service - namespace: dolly - url: http://testnav-arbeidsforhold-service.dolly.svc.cluster.local - cluster: dev-gcp - testnav-amelding-service: - name: testnav-amelding-service - namespace: dolly - url: http://testnav-amelding-service.dolly.svc.cluster.local - cluster: dev-gcp testnav-sykemelding-api: name: testnav-sykemelding-api namespace: dolly diff --git a/apps/dolly-backend/src/test/java/no/nav/dolly/bestilling/aareg/mapper/AmeldingRequestMappingStrategyTest.java b/apps/dolly-backend/src/test/java/no/nav/dolly/bestilling/aareg/mapper/AmeldingRequestMappingStrategyTest.java deleted file mode 100644 index 4c21c4b853c..00000000000 --- a/apps/dolly-backend/src/test/java/no/nav/dolly/bestilling/aareg/mapper/AmeldingRequestMappingStrategyTest.java +++ /dev/null @@ -1,183 +0,0 @@ -package no.nav.dolly.bestilling.aareg.mapper; - -import ma.glasnost.orika.MapperFacade; -import ma.glasnost.orika.MappingContext; -import no.nav.dolly.bestilling.aareg.amelding.mapper.AmeldingRequestMappingStrategy; -import no.nav.dolly.domain.resultset.aareg.RsAmeldingRequest; -import no.nav.dolly.domain.resultset.aareg.RsAnsettelsesPeriode; -import no.nav.dolly.domain.resultset.aareg.RsArbeidsavtale; -import no.nav.dolly.domain.resultset.aareg.RsArbeidsforholdAareg; -import no.nav.dolly.domain.resultset.aareg.RsPeriodeAareg; -import no.nav.dolly.domain.resultset.aareg.RsPermisjon; -import no.nav.dolly.domain.resultset.aareg.RsPermittering; -import no.nav.dolly.mapper.utils.MapperTestUtils; -import no.nav.testnav.libs.dto.ameldingservice.v1.AMeldingDTO; -import no.nav.testnav.libs.dto.ameldingservice.v1.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.ameldingservice.v1.PermisjonDTO; -import no.nav.testnav.libs.dto.ameldingservice.v1.PersonDTO; -import no.nav.testnav.libs.dto.ameldingservice.v1.VirksomhetDTO; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.junit.jupiter.MockitoExtension; - -import java.math.BigDecimal; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.MatcherAssert.assertThat; - -@ExtendWith(MockitoExtension.class) -class AmeldingRequestMappingStrategyTest { - - private static final String IDENT = "1234567890"; - - private static final String ARBEIDSFORHOLDSTYPE = "ordinaertArbeidsforhold"; - private static final String ARBEIDSTIDSORDNING = "ikkeSkift"; - private static final String YRKE = "2521106"; - private static final String ANSETTELSESFORM = "fast"; - private static final Double AVTALTARBEIDSTIMERPERUKE = 37.5; - private static final Double STILLINGSPROSENT = 100.0; - - private static final String AKTOERTYPE = "ORG"; - private static final String ORGNUMMER = "805824352"; - private static final String JURIDISK_ENHET = "987654321"; - private static final String PERMISJON_ID = "dolly-123456"; - - private static final LocalDateTime ANSETTELSESPERIODEFOM = LocalDateTime.of(2001, 1, 1, 0, 0); - private static final LocalDateTime ANSETTELSESPERIODETOM = LocalDateTime.of(2001, 6, 1, 0, 0); - - private MapperFacade mapperFacade; - private List rsAmeldingRequest; - private AMeldingDTO validAmeldingDto; - - @BeforeEach - void setup() { - mapperFacade = MapperTestUtils.createMapperFacadeForMappingStrategy(new AmeldingRequestMappingStrategy()); - - RsArbeidsforholdAareg arbeidsforholdAareg = RsArbeidsforholdAareg.builder() - .ansettelsesPeriode(RsAnsettelsesPeriode.builder() - .fom(ANSETTELSESPERIODEFOM) - .tom(ANSETTELSESPERIODETOM) - .build()) - .antallTimerForTimeloennet(new ArrayList<>()) - .fartoy(null) - .arbeidsavtale(RsArbeidsavtale.builder() - .arbeidstidsordning(ARBEIDSTIDSORDNING) - .yrke(YRKE) - .ansettelsesform(ANSETTELSESFORM) - .avtaltArbeidstimerPerUke(AVTALTARBEIDSTIMERPERUKE) - .stillingsprosent(STILLINGSPROSENT) - .build()) - .permisjon(new ArrayList<>()) - .permittering(new ArrayList<>()) - .utenlandsopphold(new ArrayList<>()) - .arbeidsgiver(RsArbeidsforholdAareg.RsArbeidsgiver.builder() - .aktoertype(AKTOERTYPE) - .orgnummer(ORGNUMMER) - .build()) - .build(); - - rsAmeldingRequest = List.of( - RsAmeldingRequest.builder() - .maaned("2021-01") - .arbeidsforhold(List.of(arbeidsforholdAareg)) - .build()); - - validAmeldingDto = AMeldingDTO.builder() - .kalendermaaned(LocalDate.of(2021, 1, 1)) - .opplysningspliktigOrganisajonsnummer(JURIDISK_ENHET) - .virksomheter(List.of(VirksomhetDTO.builder() - .organisajonsnummer(ORGNUMMER) - .personer(List.of(PersonDTO.builder() - .ident(IDENT) - .arbeidsforhold(List.of(ArbeidsforholdDTO.builder() - .arbeidsforholdId("1") - .arbeidsforholdType(ARBEIDSFORHOLDSTYPE) - .arbeidstidsordning(ARBEIDSTIDSORDNING) - .antallTimerPerUke(AVTALTARBEIDSTIMERPERUKE.floatValue()) - .yrke(YRKE) - .startdato(ANSETTELSESPERIODEFOM.toLocalDate()) - .sluttdato(ANSETTELSESPERIODETOM.toLocalDate()) - .stillingsprosent(STILLINGSPROSENT.floatValue()) - .build())) - .build())) - .build())) - .build(); - } - - @Test - void map_AmeldingRequest_Returns_Valid_Amelding() { - - MappingContext context = new MappingContext.Factory().getContext(); - context.setProperty("personIdent", IDENT); - context.setProperty("arbeidsforholdstype", ARBEIDSFORHOLDSTYPE); - context.setProperty("opplysningspliktig", Map.of(ORGNUMMER, JURIDISK_ENHET)); - - List result = mapperFacade.mapAsList(rsAmeldingRequest, AMeldingDTO.class, context); - - assertThat(result.get(0), is(equalTo(validAmeldingDto))); - } - - @Test - void map_Permisjon_Returns_Valid_Amelding_Permisjon() { - - final String PERMISJON = "permisjon"; - - RsPermisjon permisjon = RsPermisjon.builder() - .permisjonsPeriode(RsPeriodeAareg.builder() - .fom(LocalDateTime.of(2021, 5, 1, 0, 0)) - .tom(LocalDateTime.of(2021, 5, 10, 0, 0)) - .build()) - .permisjonsprosent(BigDecimal.valueOf(100)) - .permisjon(PERMISJON) - .build(); - - List result = mapperFacade.mapAsList(List.of(permisjon), PermisjonDTO.class); - - assertThat(result.get(0), is(equalTo(PermisjonDTO.builder() - .permisjonId(PERMISJON_ID) - .permisjonsprosent(100F) - .beskrivelse(PERMISJON) - .startdato(LocalDate.of(2021, 5, 1)) - .sluttdato(LocalDate.of(2021, 5, 10)) - .build()))); - } - - @Test - void map_Permittering_Returns_Valid_Amelding_Permisjon() { - - final String PERMITTERING = "permittering"; - - RsPermittering permittering = RsPermittering.builder() - .permitteringsPeriode(RsPeriodeAareg.builder() - .fom(LocalDateTime.of(2021, 5, 1, 0, 0)) - .tom(LocalDateTime.of(2021, 5, 10, 0, 0)) - .build()) - .permitteringsprosent(BigDecimal.valueOf(100)) - .build(); - - List result = mapperFacade.mapAsList(List.of(permittering), RsPermisjon.class); - - RsPermisjon expected = RsPermisjon.builder() - .permisjonId(PERMISJON_ID) - .permisjonsprosent(BigDecimal.valueOf(100)) - .permisjon(PERMITTERING) - .permisjonsPeriode(RsPeriodeAareg.builder() - .fom(LocalDateTime.of(2021, 5, 1, 0, 0)) - .tom(LocalDateTime.of(2021, 5, 10, 0, 0)) - .build()) - .build(); - - assertThat(result.get(0).getPermisjonId(), is(equalTo(expected.getPermisjonId()))); - assertThat(result.get(0).getPermisjonsprosent(), is(equalTo(expected.getPermisjonsprosent()))); - assertThat(result.get(0).getPermisjon(), is(equalTo(expected.getPermisjon()))); - assertThat(result.get(0).getPermisjonsPeriode().getFom(), is(equalTo(expected.getPermisjonsPeriode().getFom()))); - assertThat(result.get(0).getPermisjonsPeriode().getTom(), is(equalTo(expected.getPermisjonsPeriode().getTom()))); - } -} \ No newline at end of file diff --git a/apps/dolly-frontend/config.idporten.yml b/apps/dolly-frontend/config.idporten.yml index 83b4696980b..91e6c0c1d8d 100644 --- a/apps/dolly-frontend/config.idporten.yml +++ b/apps/dolly-frontend/config.idporten.yml @@ -33,12 +33,10 @@ spec: - application: testnav-arbeidsplassencv-proxy - application: testnav-bruker-service - application: testnav-bruker-service-dev - - application: testnav-generer-synt-amelding-service - application: testnav-helsepersonell-service - application: testnav-joark-dokument-service - application: testnav-kodeverk-service - application: testnav-miljoer-service - - application: testnav-oppsummeringsdokument-service - application: testnav-organisasjon-faste-data-service - application: testnav-organisasjon-forvalter - application: testnav-organisasjon-service diff --git a/apps/dolly-frontend/config.test.yml b/apps/dolly-frontend/config.test.yml index 44a874ad133..e68c98c794f 100644 --- a/apps/dolly-frontend/config.test.yml +++ b/apps/dolly-frontend/config.test.yml @@ -37,12 +37,10 @@ spec: - application: testnav-amelding-service - application: testnav-arbeidsplassencv-proxy - application: testnav-bruker-service-dev - - application: testnav-generer-synt-amelding-service - application: testnav-helsepersonell-service - application: testnav-joark-dokument-service - application: testnav-kodeverk-service - application: testnav-miljoer-service - - application: testnav-oppsummeringsdokument-service - application: testnav-organisasjon-faste-data-service - application: testnav-organisasjon-forvalter - application: testnav-organisasjon-service diff --git a/apps/dolly-frontend/config.unstable.yml b/apps/dolly-frontend/config.unstable.yml index 82bef39ebdb..901809b0880 100644 --- a/apps/dolly-frontend/config.unstable.yml +++ b/apps/dolly-frontend/config.unstable.yml @@ -40,7 +40,6 @@ spec: - application: testnav-joark-dokument-service - application: testnav-kodeverk-service - application: testnav-miljoer-service - - application: testnav-oppsummeringsdokument-service - application: testnav-organisasjon-faste-data-service - application: testnav-organisasjon-forvalter - application: testnav-organisasjon-service diff --git a/apps/dolly-frontend/config.yml b/apps/dolly-frontend/config.yml index e800b928422..9072cc95ae9 100644 --- a/apps/dolly-frontend/config.yml +++ b/apps/dolly-frontend/config.yml @@ -39,15 +39,12 @@ spec: - application: dolly-redis-session - application: generer-navn-service - application: testnav-adresse-service - - application: testnav-amelding-service - application: testnav-arbeidsplassencv-proxy - application: testnav-bruker-service - - application: testnav-generer-synt-amelding-service - application: testnav-helsepersonell-service - application: testnav-joark-dokument-service - application: testnav-kodeverk-service - application: testnav-miljoer-service - - application: testnav-oppsummeringsdokument-service - application: testnav-organisasjon-faste-data-service - application: testnav-organisasjon-forvalter - application: testnav-organisasjon-service diff --git a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/OpenSearchV2ResponseMappingStrategy.java b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/OpenSearchResponseMappingStrategy.java similarity index 94% rename from apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/OpenSearchV2ResponseMappingStrategy.java rename to apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/OpenSearchResponseMappingStrategy.java index 437c6abd7e8..8bf1718b7a4 100644 --- a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/OpenSearchV2ResponseMappingStrategy.java +++ b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/OpenSearchResponseMappingStrategy.java @@ -8,7 +8,7 @@ import org.springframework.stereotype.Component; @Component -public class OpenSearchV2ResponseMappingStrategy implements MappingStrategy { +public class OpenSearchResponseMappingStrategy implements MappingStrategy { @Override public void register(MapperFactory factory) { diff --git a/apps/generer-arbeidsforhold-populasjon-service/Dockerfile b/apps/generer-arbeidsforhold-populasjon-service/Dockerfile deleted file mode 100644 index 99258cd954d..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM ghcr.io/navikt/baseimages/temurin:21 -LABEL maintainer="Team Dolly" - -ENV JAVA_OPTS="-Dspring.profiles.active=prod" - -ADD build/libs/app.jar /app/app.jar - -EXPOSE 8080 diff --git a/apps/generer-arbeidsforhold-populasjon-service/README.md b/apps/generer-arbeidsforhold-populasjon-service/README.md deleted file mode 100644 index 97bea213464..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Generer-arbeidsforhold-populasjon-service -Service som genererer arbeidsforhold i et valgt miljø for en spesifisert tidsperiode. - -## Lokal kjøring -* [Generelt.](../../docs/local_general.md) -* [Secret Manager.](../../docs/local_secretmanager.md) \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/build.gradle b/apps/generer-arbeidsforhold-populasjon-service/build.gradle deleted file mode 100644 index cfa772f62d0..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id "dolly-apps" -} - -sonarqube { - properties { - property "sonar.projectKey", "testnav-generer-arbeidsforhold-populasjon-service" - property "sonar.projectName", "testnav-generer-arbeidsforhold-populasjon-service" - } -} - -dependencies { - implementation "no.nav.testnav.libs:commands" - implementation "no.nav.testnav.libs:data-transfer-objects" - implementation "no.nav.testnav.libs:security-core" - implementation "no.nav.testnav.libs:servlet-core" - implementation "no.nav.testnav.libs:servlet-insecure-security" - - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-oauth2-resource-server" - implementation "org.springframework.boot:spring-boot-starter-web" - - implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:$versions.springdoc" - implementation "io.swagger.core.v3:swagger-annotations-jakarta:$versions.swagger" - - testImplementation "org.springframework.cloud:spring-cloud-contract-wiremock" -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/config.yml b/apps/generer-arbeidsforhold-populasjon-service/config.yml deleted file mode 100644 index 1f4965444c3..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/config.yml +++ /dev/null @@ -1,63 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: testnav-generer-arbeidsforhold-populasjon-service - namespace: dolly - annotations: - nginx.ingress.kubernetes.io/proxy-read-timeout: "1200" - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - accessPolicy: - inbound: - rules: - - application: team-dolly-lokal-app - cluster: dev-gcp - - application: testnav-oversikt-frontend - cluster: dev-gcp - outbound: - rules: - - application: testnav-oppsummeringsdokument-service - - application: testnav-generer-organisasjon-populasjon-service - - application: testnav-organisasjon-service - - application: synthdata-amelding - liveness: - path: /internal/health/liveness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/health/readiness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - prometheus: - enabled: true - path: /internal/metrics - replicas: - min: 1 - max: 1 - resources: - requests: - cpu: 500m - memory: 1024Mi - limits: - memory: 2048Mi - ingresses: - - "https://testnav-generer-arbeidsforhold-populasjon-service.intern.dev.nav.no" \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/gradle/wrapper/gradle-wrapper.jar b/apps/generer-arbeidsforhold-populasjon-service/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL diff --git a/apps/generer-arbeidsforhold-populasjon-service/gradle/wrapper/gradle-wrapper.properties b/apps/generer-arbeidsforhold-populasjon-service/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 48c0a02ca41..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/apps/generer-arbeidsforhold-populasjon-service/gradlew b/apps/generer-arbeidsforhold-populasjon-service/gradlew deleted file mode 100755 index 3da45c161b0..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright ? 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions ?$var?, ?${var}?, ?${var:-default}?, ?${var+SET}?, -# ?${var#prefix}?, ?${var%suffix}?, and ?$( cmd )?; -# * compound commands having a testable exit status, especially ?case?; -# * various built-in commands including ?command?, ?set?, and ?ulimit?. -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/apps/generer-arbeidsforhold-populasjon-service/gradlew.bat b/apps/generer-arbeidsforhold-populasjon-service/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/apps/generer-arbeidsforhold-populasjon-service/gradlewUpdate.sh b/apps/generer-arbeidsforhold-populasjon-service/gradlewUpdate.sh deleted file mode 100755 index e5ee6361152..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/gradlewUpdate.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -gradle wrapper \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/settings.gradle b/apps/generer-arbeidsforhold-populasjon-service/settings.gradle deleted file mode 100644 index 2b9f546b563..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/settings.gradle +++ /dev/null @@ -1,21 +0,0 @@ -plugins { - id "com.gradle.develocity" version "3.19" -} - -rootProject.name = "generer-arbeidsforhold-populasjon-service" - -includeBuild "../../plugins/java" - -includeBuild "../../libs/commands" -includeBuild "../../libs/data-transfer-objects" -includeBuild "../../libs/security-core" -includeBuild "../../libs/servlet-core" -includeBuild "../../libs/servlet-insecure-security" -includeBuild "../../libs/testing" - -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/terms-of-service" - termsOfUseAgree = "yes" - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/GenererArbeidsforholdPopulasjonServiceApplicationStarter.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/GenererArbeidsforholdPopulasjonServiceApplicationStarter.java deleted file mode 100644 index 1c2cfe7921a..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/GenererArbeidsforholdPopulasjonServiceApplicationStarter.java +++ /dev/null @@ -1,15 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice; - -import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; - -@SpringBootApplication -public class GenererArbeidsforholdPopulasjonServiceApplicationStarter { - - public static void main(String[] args) { - new SpringApplicationBuilder(GenererArbeidsforholdPopulasjonServiceApplicationStarter.class) - .initializers(new NaisEnvironmentApplicationContextInitializer()) - .run(args); - } -} \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/adapter/IdentAdapter.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/adapter/IdentAdapter.java deleted file mode 100644 index dd92c4f66b5..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/adapter/IdentAdapter.java +++ /dev/null @@ -1,7 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.adapter; - -import reactor.core.publisher.Flux; - -public interface IdentAdapter { - Flux getIdenter(String miljo, int antall); -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/ApplicationConfig.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/ApplicationConfig.java deleted file mode 100644 index 8eb066edf91..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/ApplicationConfig.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config; - -import no.nav.testnav.libs.servletcore.config.ApplicationCoreConfig; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import org.springframework.security.task.DelegatingSecurityContextAsyncTaskExecutor; - -@Configuration -@Import({ApplicationCoreConfig.class}) -public class ApplicationConfig { - - @Bean - public TaskExecutor executor() { - final ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setMaxPoolSize(100); - executor.setCorePoolSize(50); - executor.setThreadNamePrefix("thread-pool-with-security-context-"); - executor.initialize(); - return new DelegatingSecurityContextAsyncTaskExecutor(executor); - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/Consumers.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/Consumers.java deleted file mode 100644 index 76985531a44..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/Consumers.java +++ /dev/null @@ -1,31 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config; - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import static lombok.AccessLevel.PACKAGE; - -/** - * Samler alle placeholders for ulike {@code consumers.*}-konfigurasjon her, dvs. subklasser av {@code ServerProperties}. - *

- * Husk at Spring Boot bruker
relaxed binding - * mellom configuration properties og field names. - * - * @see ServerProperties - */ -@Configuration -@ConfigurationProperties(prefix = "consumers") -@NoArgsConstructor(access = PACKAGE) -@Getter -@Setter(PACKAGE) -public class Consumers { - - private ServerProperties testnavGenererOrganisasjonPopulasjonService; - private ServerProperties oppsummeringsdokumentService; - private ServerProperties testnavOrganisasjonService; - private ServerProperties syntAmelding; -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/OpenApiConfig.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/OpenApiConfig.java deleted file mode 100644 index 44c6bc94c6c..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/OpenApiConfig.java +++ /dev/null @@ -1,55 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config; - -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Contact; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.info.License; -import io.swagger.v3.oas.models.security.SecurityRequirement; -import io.swagger.v3.oas.models.security.SecurityScheme; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import java.util.Arrays; - -import no.nav.testnav.libs.servletcore.config.ApplicationProperties; - -@Configuration -public class OpenApiConfig implements WebMvcConfigurer { - - @Bean - public OpenAPI openApi(ApplicationProperties applicationProperties) { - return new OpenAPI() - .components(new Components().addSecuritySchemes("bearer-jwt", new SecurityScheme() - .type(SecurityScheme.Type.HTTP) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name("Authorization") - )) - .addSecurityItem( - new SecurityRequirement().addList("bearer-jwt", Arrays.asList("read", "write"))) - .info(new Info() - .title(applicationProperties.getName()) - .version(applicationProperties.getVersion()) - .description(applicationProperties.getDescription()) - .termsOfService("https://nav.no") - .contact(new Contact() - .url("https://nav-it.slack.com/archives/CA3P9NGA2") - .email("dolly@nav.no") - .name("Team Dolly") - ) - .license(new License() - .name("MIT License") - .url("https://opensource.org/licenses/MIT") - ) - ); - } - - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/swagger").setViewName("redirect:/swagger-ui.html"); - } -} \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/SecurityConfig.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/SecurityConfig.java deleted file mode 100644 index 60193328810..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/SecurityConfig.java +++ /dev/null @@ -1,39 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.annotation.Order; -import org.springframework.security.config.Customizer; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.web.SecurityFilterChain; - - -@Order(1) -@EnableWebSecurity -@Configuration -public class SecurityConfig { - - @Bean - public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { - - httpSecurity.sessionManagement(sessionConfig -> sessionConfig.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) - .csrf(AbstractHttpConfigurer::disable) - .authorizeHttpRequests(authorizeConfig -> authorizeConfig.requestMatchers( - "/internal/**", - "/webjars/**", - "/swagger-resources/**", - "/v3/api-docs/**", - "/swagger-ui/**", - "/swagger", - "/error", - "/swagger-ui.html" - ).permitAll().requestMatchers("/api/**").fullyAuthenticated()) - .oauth2ResourceServer(oauth2RSConfig -> oauth2RSConfig.jwt(Customizer.withDefaults())); - - return httpSecurity.build(); - } -} - diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/GenererOrganisasjonPopulasjonConsumer.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/GenererOrganisasjonPopulasjonConsumer.java deleted file mode 100644 index 5dfcf5e8710..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/GenererOrganisasjonPopulasjonConsumer.java +++ /dev/null @@ -1,39 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config.Consumers; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command.GetOpplysningspliktigOrgnummerCommand; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; - -import java.util.Set; - -@Component -public class GenererOrganisasjonPopulasjonConsumer { - private final WebClient webClient; - private final ServerProperties serverProperties; - private final TokenExchange tokenExchange; - - public GenererOrganisasjonPopulasjonConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getTestnavGenererOrganisasjonPopulasjonService(); - this.tokenExchange = tokenExchange; - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public Set getOpplysningspliktig(String miljo) { - return tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new GetOpplysningspliktigOrgnummerCommand( - webClient, - accessToken.getTokenValue(), - miljo - ).call() - ).block(); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OppsummeringsdokumentConsumer.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OppsummeringsdokumentConsumer.java deleted file mode 100644 index 6295bcb421b..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OppsummeringsdokumentConsumer.java +++ /dev/null @@ -1,125 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer; - -import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config.Consumers; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command.GetOppsummeringsdokumentCommand; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command.SaveOppsummeringsdokumenterCommand; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Oppsummeringsdokument; -import no.nav.testnav.libs.commands.GetOppsummeringsdokumenterByIdentCommand; -import no.nav.testnav.libs.commands.GetOppsummeringsdokumenterCommand; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.Populasjon; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletcore.config.ApplicationProperties; -import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange; -import org.springframework.http.MediaType; -import org.springframework.http.codec.json.Jackson2JsonDecoder; -import org.springframework.http.codec.json.Jackson2JsonEncoder; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Executor; -import java.util.concurrent.Executors; - -@Slf4j -@Component -public class OppsummeringsdokumentConsumer { - private static final int BYTE_COUNT = 16 * 1024 * 1024; - private final WebClient webClient; - private final TokenExchange tokenExchange; - private final ServerProperties serverProperties; - private final ApplicationProperties applicationProperties; - private final Executor executor; - - public OppsummeringsdokumentConsumer( - TokenExchange tokenExchange, - Consumers consumers, - ObjectMapper objectMapper, - ApplicationProperties applicationProperties, - WebClient.Builder webClientBuilder) { - - this.applicationProperties = applicationProperties; - this.tokenExchange = tokenExchange; - serverProperties = consumers.getOppsummeringsdokumentService(); - this.executor = Executors.newFixedThreadPool(20); - - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .codecs(clientDefaultCodecsConfigurer -> { - clientDefaultCodecsConfigurer.defaultCodecs().maxInMemorySize(BYTE_COUNT); - clientDefaultCodecsConfigurer - .defaultCodecs() - .jackson2JsonEncoder(new Jackson2JsonEncoder(objectMapper, MediaType.APPLICATION_JSON)); - clientDefaultCodecsConfigurer - .defaultCodecs() - .jackson2JsonDecoder(new Jackson2JsonDecoder(objectMapper, MediaType.APPLICATION_JSON)); - }) - .build(); - } - - /** - * Bruker future til å sette en limit på antall samtidige requests. - */ - @SneakyThrows - public Mono save(OppsummeringsdokumentDTO dto, String miljo) { - return Mono.fromFuture(saveFuture(dto, miljo)); - } - - private CompletableFuture saveFuture(OppsummeringsdokumentDTO dto, String miljo) { - return CompletableFuture.supplyAsync( - () -> tokenExchange - .exchange(serverProperties) - .flatMap(accessToken -> new SaveOppsummeringsdokumenterCommand( - webClient, - accessToken.getTokenValue(), - dto, - miljo, - applicationProperties.getName(), - Populasjon.MINI_NORGE - ).call()) - .block(), - executor - ); - } - - public List getAll(String miljo) { - log.info("Henter alle oppsummeringsdokument fra {}...", miljo); - var accessToken = tokenExchange.exchange(serverProperties).block(); - var list = new GetOppsummeringsdokumenterCommand(webClient, accessToken.getTokenValue(), miljo).call(); - log.info("Fant {} opplysningspliktig fra {}.", list.size(), miljo); - return list; - } - - public Mono> getAllForIdent(String ident, String miljo) { - return tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new GetOppsummeringsdokumenterByIdentCommand(webClient, accessToken.getTokenValue(), ident, miljo).call()); - } - - public Mono getOppsummeringsdokument(String opplysningspliktigOrgnummer, LocalDate kalendermaaned, String miljo) { - return tokenExchange - .exchange(serverProperties) - .flatMap(accessToken -> new GetOppsummeringsdokumentCommand( - webClient, - accessToken.getTokenValue(), - opplysningspliktigOrgnummer, - kalendermaaned, - miljo - ).call()) - .defaultIfEmpty( - OppsummeringsdokumentDTO - .builder() - .version(1L) - .kalendermaaned(kalendermaaned) - .opplysningspliktigOrganisajonsnummer(opplysningspliktigOrgnummer) - .virksomheter(new ArrayList<>()) - .build() - ).map(Oppsummeringsdokument::new); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OrganisasjonConsumer.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OrganisasjonConsumer.java deleted file mode 100644 index 2888017d4b3..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OrganisasjonConsumer.java +++ /dev/null @@ -1,47 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer; - -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config.Consumers; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command.GetOrganisasjonCommand; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Flux; - -import java.util.Set; -import java.util.stream.Collectors; - -@Slf4j -@Component -@CacheConfig -public class OrganisasjonConsumer { - private final ServerProperties serverProperties; - private final TokenExchange tokenExchange; - private final WebClient webClient; - - public OrganisasjonConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getTestnavOrganisasjonService(); - this.tokenExchange = tokenExchange; - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - @Cacheable("Mini-Norge-EREG") - public Flux getOrganisasjoner(Set orgnummerListe, String miljo) { - return tokenExchange.exchange(serverProperties) - .flatMapMany(accessToken -> Flux.concat( - orgnummerListe.stream() - .map(orgnummer -> new GetOrganisasjonCommand(webClient, accessToken.getTokenValue(), orgnummer, miljo).call()) - .collect(Collectors.toList()) - )); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/SyntArbeidsforholdConsumer.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/SyntArbeidsforholdConsumer.java deleted file mode 100644 index c5c9f646508..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/SyntArbeidsforholdConsumer.java +++ /dev/null @@ -1,61 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer; - -import com.fasterxml.jackson.databind.ObjectMapper; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config.Consumers; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command.GenererArbeidsforholdHistorikkCommand; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command.GenererStartArbeidsforholdCommand; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdRequest; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdResponse; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange; -import org.springframework.http.MediaType; -import org.springframework.http.codec.json.Jackson2JsonDecoder; -import org.springframework.http.codec.json.Jackson2JsonEncoder; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.List; - -@Component -public class SyntArbeidsforholdConsumer { - private final TokenExchange tokenExchange; - private final ServerProperties serverProperties; - private final WebClient webClient; - private final ObjectMapper objectMapper; - - public SyntArbeidsforholdConsumer( - TokenExchange tokenExchange, - Consumers consumers, - ObjectMapper objectMapper, - WebClient.Builder webClientBuilder) { - - this.tokenExchange = tokenExchange; - serverProperties = consumers.getSyntAmelding(); - this.objectMapper = objectMapper; - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .codecs(clientDefaultCodecsConfigurer -> { - clientDefaultCodecsConfigurer - .defaultCodecs() - .jackson2JsonEncoder(new Jackson2JsonEncoder(objectMapper, MediaType.APPLICATION_JSON)); - clientDefaultCodecsConfigurer - .defaultCodecs() - .jackson2JsonDecoder(new Jackson2JsonDecoder(objectMapper, MediaType.APPLICATION_JSON)); - }) - .build(); - } - - public Mono> genererStartArbeidsforhold(LocalDate startdato) { - return tokenExchange - .exchange(serverProperties) - .flatMap(accessToken -> new GenererStartArbeidsforholdCommand(webClient, startdato, accessToken.getTokenValue()).call()); - } - - public Mono>> genererArbeidsforholdHistorikk(List requests) { - return tokenExchange - .exchange(serverProperties) - .flatMap(accessToken -> new GenererArbeidsforholdHistorikkCommand(webClient, requests, accessToken.getTokenValue(), objectMapper).call()); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererArbeidsforholdHistorikkCommand.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererArbeidsforholdHistorikkCommand.java deleted file mode 100644 index 80d3fcd4461..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererArbeidsforholdHistorikkCommand.java +++ /dev/null @@ -1,55 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdRequest; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdResponse; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.List; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GenererArbeidsforholdHistorikkCommand implements Callable>>> { - private final WebClient webClient; - private final List requests; - private final String token; - private final ObjectMapper objectMapper; - - @SneakyThrows - @Override - public Mono>> call() { - log.info("Genererer arbeidsforhold historikk."); - var body = requests.toArray(new ArbeidsforholdRequest[requests.size()]); - return webClient - .post() - .uri("/api/v1/arbeidsforhold/historikk") - .body(BodyInserters.fromPublisher(Mono.just(body), ArbeidsforholdRequest[].class)) - .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .retrieve() - .bodyToMono(new ParameterizedTypeReference>>() { - }) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .doOnError(error -> { - try { - log.error("Feil ved opprettelse av historikk med body: {}.", objectMapper.writeValueAsString(body), error); - } catch (JsonProcessingException e) { - log.error("Feil ved convertering av body til string.", e); - } - }); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererStartArbeidsforholdCommand.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererStartArbeidsforholdCommand.java deleted file mode 100644 index a7ad0cd5605..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererStartArbeidsforholdCommand.java +++ /dev/null @@ -1,52 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.Value; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdResponse; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.time.LocalDate; -import java.util.List; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GenererStartArbeidsforholdCommand implements Callable>> { - private final WebClient webClient; - private final LocalDate startdate; - private final String token; - - @Override - public Mono> call() { - log.info("Generer nytt arbeidsforhold den {}.", startdate); - return webClient - .post() - .uri("/api/v1/arbeidsforhold/new") - .body(BodyInserters.fromPublisher(Mono.just(new Request(startdate)), Request.class)) - .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .retrieve() - .bodyToMono(new ParameterizedTypeReference>() { - }) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .map(value -> { - log.info("Nytt arbeidsforhold generert. (Antall: {})", value.size()); - return value; - }); - } - - @Value - private class Request { - LocalDate startdato; - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOpplysningspliktigOrgnummerCommand.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOpplysningspliktigOrgnummerCommand.java deleted file mode 100644 index fde28ac57fa..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOpplysningspliktigOrgnummerCommand.java +++ /dev/null @@ -1,37 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.Set; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOpplysningspliktigOrgnummerCommand implements Callable>> { - private final WebClient webClient; - private final String accessToken; - private final String miljo; - - @Override - public Mono> call() { - log.info("Henter alle opplysningspliktige orgnummer i {}...", miljo); - return webClient - .get() - .uri("/api/v1/opplysningspliktig") - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .header("miljo", miljo) - .retrieve() - .bodyToMono(new ParameterizedTypeReference>() { - }) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOppsummeringsdokumentCommand.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOppsummeringsdokumentCommand.java deleted file mode 100644 index 82e973ea1ea..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOppsummeringsdokumentCommand.java +++ /dev/null @@ -1,45 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.time.LocalDate; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOppsummeringsdokumentCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final String orgnummer; - private final LocalDate kalendermaaned; - private final String miljo; - - @SneakyThrows - @Override - public Mono call() { - log.info("Henter oppsummeringsdokumentet med orgnummer {} den {} i {}.", orgnummer, kalendermaaned, miljo); - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/oppsummeringsdokumenter/{orgnummer}/{kalendermaaned}") - .build(orgnummer, kalendermaaned) - ) - .header("miljo", miljo) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .retrieve() - .bodyToMono(OppsummeringsdokumentDTO.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .onErrorResume(throwable -> throwable instanceof WebClientResponseException.NotFound, throwable -> Mono.empty()); - } -} \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOrganisasjonCommand.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOrganisasjonCommand.java deleted file mode 100644 index 6f8a2ae118c..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOrganisasjonCommand.java +++ /dev/null @@ -1,42 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOrganisasjonCommand implements Callable> { - private final WebClient webClient; - private final String token; - private final String orgnummer; - private final String miljo; - - @Override - public Mono call() { - log.trace("Henter organisasjon med orgnummer {} fra {}...", orgnummer, miljo); - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/organisasjoner/{orgnummer}") - .build(orgnummer) - ) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .header("miljo", this.miljo) - .retrieve() - .bodyToMono(OrganisasjonDTO.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .onErrorResume(throwable -> throwable instanceof WebClientResponseException.NotFound, throwable -> Mono.empty()); - - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/SaveOppsummeringsdokumenterCommand.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/SaveOppsummeringsdokumenterCommand.java deleted file mode 100644 index 40c649ceddf..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/SaveOppsummeringsdokumenterCommand.java +++ /dev/null @@ -1,68 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.Populasjon; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class SaveOppsummeringsdokumenterCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final OppsummeringsdokumentDTO dto; - private final String miljo; - private final String origin; - private final Populasjon populasjon; - - @Override - public Mono call() { - log.info( - "Sender inn opplysningspliktig {} den {}.", - dto.getOpplysningspliktigOrganisajonsnummer(), - dto.getKalendermaaned() - ); - return webClient - .put() - .uri(builder -> builder.path("/api/v1/oppsummeringsdokumenter").build()) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .header("miljo", miljo) - .header("origin", origin) - .header("populasjon", populasjon.toString()) - .body(BodyInserters.fromPublisher(Mono.just(dto), OppsummeringsdokumentDTO.class)) - .exchange() - .flatMap(response -> response.toEntity(String.class)) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .map(response -> { - - - if (!response.getStatusCode().is2xxSuccessful()) { - throw new RuntimeException(String.format( - "Feil med opprettelse av opplysningspliktig %s. Error: %s Status code: %s.", - dto.getOpplysningspliktigOrganisajonsnummer(), - response.getBody(), - response.getStatusCodeValue() - )); - } - - var id = response.getHeaders().get("ID").stream().findFirst().orElseThrow(); - log.info( - "Opplysningspliktig {} sendt inn den {} med id {}", - dto.getOpplysningspliktigOrganisajonsnummer(), - dto.getKalendermaaned(), - id - ); - return id; - }); - } -} \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/controller/GenererArbeidsforholdController.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/controller/GenererArbeidsforholdController.java deleted file mode 100644 index b5484bfc465..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/controller/GenererArbeidsforholdController.java +++ /dev/null @@ -1,27 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.controller; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service.OrkestratorService; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/v1/arbeidsforhold") -public class GenererArbeidsforholdController { - - private final OrkestratorService orkestratorService; - - @PostMapping(value = "/develop") - public void populate( - @RequestHeader String miljo, - @RequestParam Integer months - ) { - orkestratorService.orkestrerMedArbeidsforhold(miljo, months); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Id.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Id.java deleted file mode 100644 index cac2ce2db32..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Id.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -public interface Id { - String getId(); -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/OppsummeringsdokumentTimeline.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/OppsummeringsdokumentTimeline.java deleted file mode 100644 index ef8848a5871..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/OppsummeringsdokumentTimeline.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -import java.util.List; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Oppsummeringsdokument; - -public class OppsummeringsdokumentTimeline extends Timeline { - - public OppsummeringsdokumentTimeline(List list) { - list.forEach(this::put); - } - - private void put(Oppsummeringsdokument oppsummeringsdokument) { - super.put(oppsummeringsdokument.getKalendermaaned(), oppsummeringsdokument); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Organisajon.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Organisajon.java deleted file mode 100644 index 4d9abe3db9a..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Organisajon.java +++ /dev/null @@ -1,38 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; - -import java.util.List; -import java.util.Random; - -public class Organisajon { - private static final Random RANDOM = new Random(); - private OrganisasjonDTO dto; - - public Organisajon(OrganisasjonDTO dto) { - this.dto = dto; - } - - public String getOrgnummer() { - return dto.getOrgnummer(); - } - - public boolean isDriverVirksomheter() { - return !dto.getDriverVirksomheter().isEmpty(); - } - - public String getRandomVirksomhetsnummer() { - return dto.getDriverVirksomheter().get(RANDOM.nextInt(dto.getDriverVirksomheter().size())); - } - - public List getDriverVirksomheter() { - return dto.getDriverVirksomheter(); - } - - public boolean isOpplysningspliktig() { - return switch (dto.getEnhetType()) { - case "AS", "NUF", "BRL", "KBO", "SA", "ENK" -> true; - default -> false; - }; - } -} \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/PermisjonCount.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/PermisjonCount.java deleted file mode 100644 index 2e524123005..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/PermisjonCount.java +++ /dev/null @@ -1,51 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -import lombok.Getter; -import lombok.extern.slf4j.Slf4j; - -import java.util.List; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Permisjon; - -@Slf4j -@Getter -public class PermisjonCount { - float velferdspermisjon = 0; - float utdanningspermisjon = 0; - float permisjonMedForeldrepenger = 0; - float permisjonVedMilitaertjeneste = 0; - float permisjon = 0; - float permittering = 0; - - public PermisjonCount(List permisjoner) { - if (permisjoner == null) { - return; - } - for (var permisjon : permisjoner) { - switch (permisjon.getBeskrivelse()) { - case "velferdspermisjon": - velferdspermisjon++; - break; - case "utdanningspermisjon": - utdanningspermisjon++; - break; - case "permisjonMedForeldrepenger": - permisjonMedForeldrepenger++; - break; - case "permisjonVedMilitaertjeneste": - permisjonVedMilitaertjeneste++; - break; - case "permisjon": - this.permisjon++; - break; - case "permittering": - permittering++; - break; - default: - log.warn("Ukjent permisjons beskrivelse {}", permisjon.getBeskrivelse()); - break; - } - } - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Person.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Person.java deleted file mode 100644 index 9be1ddef4cf..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Person.java +++ /dev/null @@ -1,44 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -import com.fasterxml.jackson.annotation.JsonIgnore; - -import java.time.LocalDate; -import java.util.Set; -import java.util.stream.Collectors; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Arbeidsforhold; - -public class Person { - private final String ident; - @JsonIgnore - private final Timeline timeline; - - public Person(String ident, Timeline timeline) { - this.ident = ident; - this.timeline = timeline; - } - - public String getIdent() { - return ident; - } - - public Set getArbeidsforholdOn(LocalDate date) { - return timeline.get(date); - } - - public Set getArbeidsforholdToRemoveOn(LocalDate date) { - var history = timeline.getHistory(date); - var current = timeline.get(date); - return history.stream().filter(value -> !current.contains(value)).collect(Collectors.toSet()); - } - - public void updateTimeline(Timeline timeline) { - this.timeline.update(timeline); - } - - public Timeline getTimeline(){ - return timeline; - } - - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Timeline.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Timeline.java deleted file mode 100644 index 4465aaafeeb..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Timeline.java +++ /dev/null @@ -1,99 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -import lombok.Getter; - -import java.time.LocalDate; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; -import java.util.function.BiConsumer; -import java.util.function.Function; -import java.util.stream.Collectors; - -public class Timeline { - private final Map> timeline; - private final Map> history; - @Getter - private final Set updatedDates = new HashSet<>(); - - public Timeline(Map> map) { - timeline = new TreeMap<>(); - history = new TreeMap<>(); - map.forEach((key, values) -> values.forEach(value -> put(key, value, false))); - } - - public Timeline() { - timeline = new TreeMap<>(); - history = new TreeMap<>(); - } - - public LocalDate getLastDate() { - return timeline.keySet().stream().reduce(null, (sub, date) -> { - if (sub == null) { - return date; - } - return date.compareTo(sub) > 0 ? date : sub; - } - ); - } - - public void put(LocalDate date, T value, boolean updated) { - if (updated) { - updatedDates.add(date); - } - - if (!timeline.containsKey(date)) { - timeline.put(date, new TimelineEntries<>()); - } - - var timelineEntries = timeline.get(date); - timelineEntries.put(value); - } - - public void put(LocalDate date, T value) { - put(date, value, true); - } - - public void replace(LocalDate date, Collection values) { - updatedDates.add(date); - - if (timeline.containsKey(date)) { - history.put(date, timeline.get(date)); - } - - timeline.put(date, new TimelineEntries<>()); - var timelineEntries = timeline.get(date); - values.forEach(timelineEntries::put); - } - - public void update(Timeline timeline) { - timeline.forEach(this::replace); - } - - public void forEach(BiConsumer> action) { - timeline.forEach((date, entries) -> action.accept(date, entries.getAll())); - } - - public List applyForAll(Function function) { - return timeline.values().stream().flatMap(value -> value.getAll().stream().map(function)) - .collect(Collectors.toList()); - } - - public Set getHistory(LocalDate date) { - if (!history.containsKey(date)) { - return Collections.emptySet(); - } - return history.get(date).getAll(); - } - - public Set get(LocalDate date) { - if (!timeline.containsKey(date)) { - return Collections.emptySet(); - } - return timeline.get(date).getAll(); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/TimelineEntries.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/TimelineEntries.java deleted file mode 100644 index ba310fa6d3d..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/TimelineEntries.java +++ /dev/null @@ -1,22 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; -import java.util.stream.Collectors; - -public class TimelineEntries { - private final Map entires; - - public TimelineEntries() { - entires = new TreeMap<>(); - } - - public void put(T value) { - entires.put(value.getId(), value); - } - - public Set getAll() { - return entires.entrySet().stream().map(Map.Entry::getValue).collect(Collectors.toSet()); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Arbeidsforhold.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Arbeidsforhold.java deleted file mode 100644 index 9684748b02c..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Arbeidsforhold.java +++ /dev/null @@ -1,142 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import lombok.EqualsAndHashCode; -import lombok.Value; -import lombok.extern.slf4j.Slf4j; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Id; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.PermisjonCount; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdRequest; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdResponse; - -@Value -@Slf4j -@EqualsAndHashCode(callSuper = false) -public class Arbeidsforhold extends Generated implements Id { - String id; - String type; - LocalDate startdato; - LocalDate sluttdato; - Float antallTimerPerUke; - String yrke; - String arbeidstidsordning; - Float stillingsprosent; - LocalDate sisteLoennsendringsdato; - List permisjoner; - String historikk; - List avvik; - Fartoey fartoey; - List inntekter; - String virksomhetsnummer; - String opplysningspliktig; - String ident; - - public Arbeidsforhold(ArbeidsforholdDTO dto, String virksomhetsnummer, String opplysningspliktig, String ident) { - this.virksomhetsnummer = virksomhetsnummer; - this.opplysningspliktig = opplysningspliktig; - this.ident = ident; - id = dto.getArbeidsforholdId(); - type = dto.getTypeArbeidsforhold(); - startdato = dto.getStartdato(); - sluttdato = dto.getSluttdato(); - antallTimerPerUke = dto.getAntallTimerPerUke(); - yrke = dto.getYrke(); - arbeidstidsordning = dto.getArbeidstidsordning(); - stillingsprosent = dto.getStillingsprosent(); - sisteLoennsendringsdato = dto.getSisteLoennsendringsdato(); - permisjoner = dto.getPermisjoner().stream().map(Permisjon::new).collect(Collectors.toList()); - historikk = dto.getHistorikk(); - avvik = dto.getAvvik().stream().map(Avvik::new).collect(Collectors.toList()); - fartoey = dto.getFartoey() == null ? null : new Fartoey(dto.getFartoey()); - inntekter = dto.getInntekter().stream().map(Inntekt::new).collect(Collectors.toList()); - } - - public Arbeidsforhold(ArbeidsforholdResponse response, String id, String virksomhetsnummer, String opplysningspliktig, String ident) { - this.id = id; - this.virksomhetsnummer = virksomhetsnummer; - this.opplysningspliktig = opplysningspliktig; - this.ident = ident; - type = emptyToNull(response.getArbeidsforholdType()); - startdato = response.getStartdato(); - sluttdato = format(response.getSluttdato()); - antallTimerPerUke = emptyToNull(response.getAntallTimerPerUkeSomEnFullStillingTilsvarer()); - yrke = emptyToNull(response.getYrke()); - arbeidstidsordning = emptyToNull(response.getArbeidstidsordning()); - stillingsprosent = response.getStillingsprosent(); - sisteLoennsendringsdato = response.getSisteLoennsendringsdato(); - permisjoner = response.getPermisjoner() == null - ? new ArrayList<>() - : response.getPermisjoner().stream().map(Permisjon::new).collect(Collectors.toList()); - historikk = response.getHistorikk(); - avvik = response.getAvvik() == null - ? new ArrayList<>() - : Collections.singletonList(new Avvik(response.getAvvik())); - fartoey = response.getFartoey() == null ? null : new Fartoey(response.getFartoey()); - inntekter = response.getInntekter() == null - ? new ArrayList<>() - : response.getInntekter().stream().map(Inntekt::new).collect(Collectors.toList()); - } - - - public ArbeidsforholdRequest toSynt(Integer endringer, LocalDate kaldermnd) { - var permisjonCount = new PermisjonCount(permisjoner); - return ArbeidsforholdRequest - .builder() - .antallTimerPerUkeSomEnFullStillingTilsvarer(nullToEmpty(antallTimerPerUke)) - .arbeidsforholdType(nullToEmpty(type)) - .arbeidstidsordning(nullToEmpty(arbeidstidsordning)) - .permisjon(permisjonCount.getPermisjon()) - .permisjonMedForeldrepenger(permisjonCount.getPermisjonMedForeldrepenger()) - .permisjonVedMilitaertjeneste(permisjonCount.getPermisjonVedMilitaertjeneste()) - .permittering(permisjonCount.getPermittering()) - .velferdspermisjon(permisjonCount.getVelferdspermisjon()) - .utdanningspermisjon(permisjonCount.getUtdanningspermisjon()) - .rapporteringsmaaned(formatKaldenermaand(kaldermnd)) - .sisteDatoForStillingsprosentendring(kaldermnd) - .sisteLoennsendringsdato(sisteLoennsendringsdato) - .sluttdato(format(sluttdato)) - .startdato(startdato) - .stillingsprosent(nullToEmpty(stillingsprosent)) - .yrke(nullToEmpty(yrke)) - .historikk(historikk) - .numEndringer(endringer) - .fartoey(fartoey != null ? fartoey.toSynt() : null) - .permisjoner(permisjoner == null ? null : permisjoner.stream().map(Permisjon::toSynt).collect(Collectors.toList())) - .inntekter(inntekter == null ? null : inntekter.stream().map(Inntekt::toSynt).collect(Collectors.toList())) - .antallInntekter(inntekter == null ? 0 : inntekter.size()) - .avvik(toSyntAvvik(avvik)) - .build(); - } - - public ArbeidsforholdDTO toDTO() { - return ArbeidsforholdDTO - .builder() - .typeArbeidsforhold(type) - .antallTimerPerUke(antallTimerPerUke) - .arbeidstidsordning(arbeidstidsordning) - .sisteLoennsendringsdato(sisteLoennsendringsdato) - .stillingsprosent(stillingsprosent) - .yrke(yrke) - .startdato(startdato) - .sluttdato(sluttdato) - .arbeidsforholdId(id) - .permisjoner(permisjoner == null ? null : permisjoner.stream().map(Permisjon::toDTO).collect(Collectors.toList())) - .historikk(historikk) - .fartoey(fartoey == null ? null : fartoey.toDTO()) - .inntekter(inntekter == null ? null : inntekter.stream().map(Inntekt::toDTO).collect(Collectors.toList())) - .avvik(avvik == null ? null : avvik.stream().map(Avvik::toDTO).collect(Collectors.toList())) - .build(); - } - - public boolean isForenklet() { - return type.equals("forenkletOppgjoersordning"); - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Avvik.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Avvik.java deleted file mode 100644 index 0bf1bc111eb..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Avvik.java +++ /dev/null @@ -1,43 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import lombok.Value; - -import no.nav.testnav.libs.dto.syntrest.v1.AvvikDTO; - -@Value -public class Avvik { - String id; - String navn; - String alvorlighetsgrad; - - public Avvik(no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.AvvikDTO dto){ - id = dto.getId(); - navn = dto.getNavn(); - alvorlighetsgrad = dto.getAlvorlighetsgrad(); - } - - public Avvik(AvvikDTO dto) { - id = dto.getId(); - navn = dto.getNavn(); - alvorlighetsgrad = dto.getAlvorlighetsgrad(); - } - - public no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.AvvikDTO toDTO(){ - return no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.AvvikDTO - .builder() - .navn(navn) - .id(id) - .alvorlighetsgrad(alvorlighetsgrad) - .build(); - } - - public AvvikDTO toSynt(){ - return AvvikDTO - .builder() - .id(id) - .navn(navn) - .alvorlighetsgrad(alvorlighetsgrad) - .build(); - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Fartoey.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Fartoey.java deleted file mode 100644 index d7cb50cca37..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Fartoey.java +++ /dev/null @@ -1,41 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import lombok.Value; - -import no.nav.testnav.libs.dto.syntrest.v1.FartoeyDTO; - -@Value -public class Fartoey { - String skipsregister; - String skipstype; - String fartsomraade; - - public Fartoey(no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.FartoeyDTO dto) { - skipsregister = dto.getSkipsregister(); - skipstype = dto.getSkipstype(); - fartsomraade = dto.getFartsomraade(); - } - - public Fartoey(FartoeyDTO dto) { - skipsregister = dto.getSkipsregister(); - skipstype = dto.getSkipstype(); - fartsomraade = dto.getFartsomraade(); - } - - public no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.FartoeyDTO toDTO() { - return no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.FartoeyDTO.builder() - .fartsomraade(fartsomraade) - .skipsregister(skipsregister) - .skipstype(skipstype) - .build(); - } - - public FartoeyDTO toSynt() { - return FartoeyDTO - .builder() - .skipsregister(skipsregister) - .skipstype(skipstype) - .fartsomraade(fartsomraade) - .build(); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Generated.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Generated.java deleted file mode 100644 index 1663969f811..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Generated.java +++ /dev/null @@ -1,49 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import org.apache.logging.log4j.util.Strings; - -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.util.List; - -import no.nav.testnav.libs.dto.syntrest.v1.AvvikDTO; - -abstract class Generated { - - Float nullToEmpty(Float value) { - return value == null ? 0f : value; - } - - String nullToEmpty(String value) { - return value == null ? "" : value; - } - - String emptyToNull(String value) { - return value == null ? null : value.equals("") ? null : value; - } - - Float emptyToNull(Float value) { - return value == 0f ? null : value; - } - - String formatKaldenermaand(LocalDate value) { - return value.format(DateTimeFormatter.ofPattern("yyyy-MM")); - } - - String format(LocalDate value) { - if (value == null) { - return ""; - } - return value.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); - } - - LocalDate format(String value) { - return Strings.isBlank(value) ? null : LocalDate.parse(value); - } - - - AvvikDTO toSyntAvvik(List list) { - return list == null ? null : list.stream().findFirst().map(Avvik::toSynt).orElse(null); - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Inntekt.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Inntekt.java deleted file mode 100644 index 99b9966aced..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Inntekt.java +++ /dev/null @@ -1,61 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import lombok.EqualsAndHashCode; -import lombok.Value; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; - -import no.nav.testnav.libs.dto.syntrest.v1.InntektDTO; - -@Value -@EqualsAndHashCode(callSuper = false) -public class Inntekt extends Generated { - LocalDate startdatoOpptjeningsperiode; - LocalDate sluttdatoOpptjeningsperiode; - Integer antall; - String opptjeningsland; - List avvik; - - public Inntekt(no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.InntektDTO dto){ - sluttdatoOpptjeningsperiode = dto.getSluttdatoOpptjeningsperiode(); - startdatoOpptjeningsperiode = dto.getStartdatoOpptjeningsperiode(); - antall = dto.getAntall(); - opptjeningsland = dto.getOpptjeningsland(); - avvik = dto.getAvvik().stream().map(Avvik::new).collect(Collectors.toList()); - } - - public Inntekt(InntektDTO dto) { - sluttdatoOpptjeningsperiode = dto.getSluttdatoOpptjeningsperiode(); - startdatoOpptjeningsperiode = dto.getStartdatoOpptjeningsperiode(); - antall = dto.getAntall(); - opptjeningsland = dto.getOpptjeningsland(); - avvik = dto.getAvvik() == null ? new ArrayList<>() : Collections.singletonList(new Avvik(dto.getAvvik())); - } - - public InntektDTO toSynt() { - return InntektDTO - .builder() - .startdatoOpptjeningsperiode(startdatoOpptjeningsperiode) - .sluttdatoOpptjeningsperiode(sluttdatoOpptjeningsperiode) - .antall(antall) - .opptjeningsland(opptjeningsland) - .avvik(toSyntAvvik(avvik)) - .build(); - } - - public no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.InntektDTO toDTO(){ - return no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.InntektDTO - .builder() - .startdatoOpptjeningsperiode(startdatoOpptjeningsperiode) - .sluttdatoOpptjeningsperiode(sluttdatoOpptjeningsperiode) - .opptjeningsland(opptjeningsland) - .antall(antall) - .avvik(avvik == null ? null : avvik.stream().map(Avvik::toDTO).collect(Collectors.toList())) - .build(); - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Opplysningspliktig.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Opplysningspliktig.java deleted file mode 100644 index 9578ddbb038..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Opplysningspliktig.java +++ /dev/null @@ -1,12 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import java.time.LocalDate; -import java.util.List; - -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.VirksomhetDTO; - -public class Opplysningspliktig { - private LocalDate kalendermaaned; - private String opplysningspliktigOrganisajonsnummer; - private List virksomheter; -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Oppsummeringsdokument.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Oppsummeringsdokument.java deleted file mode 100644 index f851f8bbf95..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Oppsummeringsdokument.java +++ /dev/null @@ -1,101 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import lombok.extern.slf4j.Slf4j; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Optional; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Id; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PersonDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.VirksomhetDTO; - -@Slf4j -public class Oppsummeringsdokument implements Id { - private final OppsummeringsdokumentDTO dto; - - public Oppsummeringsdokument(OppsummeringsdokumentDTO dto) { - this.dto = dto; - this.dto.setVersion(this.dto.getVersion() == null ? 1L : this.dto.getVersion() + 1); - } - - public String getOpplysningspliktigOrganisajonsnummer() { - return dto.getOpplysningspliktigOrganisajonsnummer(); - } - - public LocalDate getKalendermaaned() { - return dto.getKalendermaaned(); - } - - public void remove(Arbeidsforhold arbeidsforhold) { - log.info("Fjerner arbeidsforhold med id {}.", arbeidsforhold.getId()); - var person = dto.getVirksomheter() - .stream() - .filter(value -> value.getOrganisajonsnummer().equals(arbeidsforhold.getVirksomhetsnummer())) - .findFirst() - .orElseThrow() - .getPersoner() - .stream() - .filter(value -> value.getIdent().equals(arbeidsforhold.getIdent())) - .findFirst() - .orElseThrow(); - person.getArbeidsforhold().remove(arbeidsforhold.toDTO()); - } - - public void addAll(List arbeidsforhold) { - arbeidsforhold.forEach(this::add); - } - - private void add(Arbeidsforhold arbeidsforhold) { - - VirksomhetDTO virksomhet = dto.getVirksomheter() - .stream() - .filter(value -> value.getOrganisajonsnummer().equals(arbeidsforhold.getVirksomhetsnummer())) - .findFirst() - .orElseGet(() -> { - VirksomhetDTO virksomhetDTO = new VirksomhetDTO(arbeidsforhold.getVirksomhetsnummer(), new ArrayList<>()); - dto.getVirksomheter().add(virksomhetDTO); - return virksomhetDTO; - }); - - Optional optional = virksomhet.getPersoner() - .stream() - .filter(value -> value.getIdent().equals(arbeidsforhold.getIdent())) - .findFirst(); - - if (optional.isEmpty()) { - virksomhet.getPersoner().add(new PersonDTO(arbeidsforhold.getIdent(), Collections.singletonList( - arbeidsforhold.toDTO() - ))); - } else { - PersonDTO personDTO = optional.get(); - Optional tidligereArbeidsforhold = personDTO.getArbeidsforhold() - .stream() - .filter(arbeidsforholdDTO -> arbeidsforholdDTO.getArbeidsforholdId().equals(arbeidsforhold.getId())) - .findFirst(); - - List list = new ArrayList<>(personDTO.getArbeidsforhold()); - if (tidligereArbeidsforhold.isPresent()) { - ArbeidsforholdDTO dto = tidligereArbeidsforhold.get(); - log.info("Fjerner tidligere arbeidsforhold {}", dto.getArbeidsforholdId()); - list.remove(dto); - } - - list.add(arbeidsforhold.toDTO()); - personDTO.setArbeidsforhold(list); - } - } - - public OppsummeringsdokumentDTO toDTO() { - return dto; - } - - @Override - public String getId() { - return getOpplysningspliktigOrganisajonsnummer(); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Permisjon.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Permisjon.java deleted file mode 100644 index 8ccb48e75c6..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Permisjon.java +++ /dev/null @@ -1,65 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import lombok.EqualsAndHashCode; -import lombok.Value; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.UUID; -import java.util.stream.Collectors; - -import no.nav.testnav.libs.dto.syntrest.v1.PermisjonDTO; - -@Value -@EqualsAndHashCode(callSuper = false) -public class Permisjon extends Generated { - String id; - String beskrivelse; - LocalDate startdato; - LocalDate sluttdato; - Float permisjonsprosent; - List avvik; - - public Permisjon(no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PermisjonDTO dto) { - id = UUID.randomUUID().toString(); - beskrivelse = dto.getBeskrivelse(); - startdato = dto.getStartdato(); - sluttdato = dto.getSluttdato(); - permisjonsprosent = dto.getPermisjonsprosent(); - avvik = dto.getAvvik().stream().map(Avvik::new).collect(Collectors.toList()); - } - - public Permisjon(PermisjonDTO dto) { - id = UUID.randomUUID().toString(); - beskrivelse = dto.getBeskrivelse(); - startdato = dto.getStartdato(); - sluttdato = dto.getSluttdato(); - permisjonsprosent = dto.getPermisjonsprosent() == null ? null : Float.parseFloat(dto.getPermisjonsprosent()); - avvik = dto.getAvvik() == null ? new ArrayList<>() : Collections.singletonList(new Avvik(dto.getAvvik())); - } - - public no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PermisjonDTO toDTO() { - return no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PermisjonDTO - .builder() - .permisjonId(UUID.randomUUID().toString()) - .beskrivelse(beskrivelse) - .permisjonsprosent(permisjonsprosent) - .sluttdato(sluttdato) - .startdato(startdato) - .avvik(avvik == null ? null : avvik.stream().map(Avvik::toDTO).collect(Collectors.toList())) - .build(); - } - - public PermisjonDTO toSynt() { - return PermisjonDTO - .builder() - .beskrivelse(beskrivelse) - .startdato(startdato) - .sluttdato(sluttdato) - .permisjonsprosent(permisjonsprosent == null ? null : permisjonsprosent.toString()) - .avvik(toSyntAvvik(avvik)) - .build(); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdHistorikkService.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdHistorikkService.java deleted file mode 100644 index bc2292ec3e6..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdHistorikkService.java +++ /dev/null @@ -1,63 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; -import java.util.stream.Collectors; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.SyntArbeidsforholdConsumer; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Arbeidsforhold; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdResponse; - -@Service -@RequiredArgsConstructor -public class ArbeidsforholdHistorikkService { - private final SyntArbeidsforholdConsumer syntArbeidsforholdConsumer; - - public Mono> genererStart(LocalDate startdato, String virksomhetsnummer, String opplysningspliktig, String ident) { - var response = syntArbeidsforholdConsumer.genererStartArbeidsforhold(startdato); - return response.map(items -> items.stream().map(item -> new Arbeidsforhold( - item, - UUID.randomUUID().toString(), - virksomhetsnummer, - opplysningspliktig, - ident - )).collect(Collectors.toList())); - } - - public Mono>> genererHistorikk(List previous, LocalDate kaldermnd, int antall) { - var responseList = syntArbeidsforholdConsumer.genererArbeidsforholdHistorikk( - previous.stream() - .map(arb -> arb.toSynt(antall, kaldermnd)) - .collect(Collectors.toList()) - ); - return responseList.map(list -> convert(previous, list)); - } - - - private List> convert(List previous, List> responses){ - var arbeidsforholds = new ArrayList>(); - - for(int index = 0; index < responses.size(); index++) { - - var previousArbeidsforhold = previous.get(index); - - var newArbeidsforholds = responses.get(index).stream().map(value -> new Arbeidsforhold( - value, - previousArbeidsforhold.getId(), - previousArbeidsforhold.getVirksomhetsnummer(), - previousArbeidsforhold.getOpplysningspliktig(), - previousArbeidsforhold.getIdent() - )).collect(Collectors.toList()); - - arbeidsforholds.add(newArbeidsforholds); - } - return arbeidsforholds; - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdSerivce.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdSerivce.java deleted file mode 100644 index c2a7a32983f..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdSerivce.java +++ /dev/null @@ -1,48 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.OppsummeringsdokumentConsumer; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Timeline; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Arbeidsforhold; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; - -@Service -@RequiredArgsConstructor -public class ArbeidsforholdSerivce { - private final OppsummeringsdokumentConsumer oppsummeringsdokumentConsumer; - - public Mono> findTimelineFor(String ident, String miljo) { - var dokumenter = oppsummeringsdokumentConsumer.getAllForIdent(ident, miljo); - return dokumenter.map(items -> new Timeline<>(map(ident, items))); - } - - private Map> map(String ident, java.util.List items) { - return items.stream() - .flatMap(oppsummeringsdokument -> oppsummeringsdokument.getVirksomheter() - .stream() - .flatMap(virksomhet -> virksomhet.getPersoner() - .stream() - .filter(value -> value.getIdent().equals(ident)) - .map(person -> Map.entry( - oppsummeringsdokument.getKalendermaaned(), - person.getArbeidsforhold() - .stream() - .map(arbeidsforhold -> new Arbeidsforhold( - arbeidsforhold, - virksomhet.getOrganisajonsnummer(), - oppsummeringsdokument.getOpplysningspliktigOrganisajonsnummer(), - person.getIdent() - )).collect(Collectors.toList()) - )) - )) - .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/IdentService.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/IdentService.java deleted file mode 100644 index e2031c933f2..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/IdentService.java +++ /dev/null @@ -1,34 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.OppsummeringsdokumentConsumer; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PersonDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.VirksomhetDTO; -import org.springframework.stereotype.Service; - -import java.util.Collection; -import java.util.Set; -import java.util.stream.Collectors; - -@Slf4j -@Service -@RequiredArgsConstructor -public class IdentService { - private final OppsummeringsdokumentConsumer arbeidsforholdConsumer; - - public Set getIdenterMedArbeidsforhold(String miljo) { - var identer = arbeidsforholdConsumer - .getAll(miljo) - .stream() - .map(OppsummeringsdokumentDTO::getVirksomheter) - .flatMap(Collection::stream) - .map(VirksomhetDTO::getPersoner) - .flatMap(Collection::stream) - .map(PersonDTO::getIdent) - .collect(Collectors.toSet()); - log.info("Fant {} identer i {}.", identer.size(), miljo); - return identer; - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OppsummeringsdokumentService.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OppsummeringsdokumentService.java deleted file mode 100644 index 53b74f33547..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OppsummeringsdokumentService.java +++ /dev/null @@ -1,71 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.OppsummeringsdokumentConsumer; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.OppsummeringsdokumentTimeline; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Person; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Arbeidsforhold; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Oppsummeringsdokument; -import org.springframework.stereotype.Service; -import reactor.core.publisher.Flux; - -import java.time.LocalDate; -import java.util.HashSet; -import java.util.List; -import java.util.stream.Collectors; - -@Slf4j -@Service -@RequiredArgsConstructor -public class OppsummeringsdokumentService { - - private final OppsummeringsdokumentConsumer oppsummeringsdokumentConsumer; - - public void save(Flux personer, String miljo) { - var list = personer.collectList().block(); - save(list, miljo); - } - - public void save(List personer, String miljo) { - log.info( - "Legger til arbeidsforhold for {}.", - personer.stream().map(Person::getIdent).collect(Collectors.joining(", ")) - ); - - var dates = personer - .stream() - .map(value -> value.getTimeline().getUpdatedDates()) - .reduce(new HashSet<>(), (sub, item) -> { - sub.addAll(item); - return sub; - }); - - dates.parallelStream() - .flatMap(kalendermnd -> getOppdatertOppsumeringsdokument(personer, kalendermnd, miljo).stream()) - .collect(Collectors.groupingBy(Oppsummeringsdokument::getId)) - .values() - .parallelStream() - .map(OppsummeringsdokumentTimeline::new) - .forEach(timeline -> timeline.applyForAll(value -> oppsummeringsdokumentConsumer.save(value.toDTO(), miljo).block())); - } - - private List getOppdatertOppsumeringsdokument(List personer, LocalDate kalendermnd, String miljo) { - log.info("Oppdaterer arbeidsforhold på opplysningspliktig..."); - var oppsummeringsdokumenter = Flux.concat( - personer.stream() - .flatMap(person -> person.getArbeidsforholdOn(kalendermnd).stream()) - .collect(Collectors.groupingBy(Arbeidsforhold::getOpplysningspliktig)) - .entrySet() - .stream() - .map(entry -> oppsummeringsdokumentConsumer.getOppsummeringsdokument(entry.getKey(), kalendermnd, miljo) - .map(oppsummeringsdokument -> { - oppsummeringsdokument.addAll(entry.getValue()); - return oppsummeringsdokument; - })) - .toList() - ).collectList().block(); - log.info("Oppdatert {} opplysningsplikitg med nye arbeidsforhold.", oppsummeringsdokumenter.size()); - return oppsummeringsdokumenter; - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrganisasjonService.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrganisasjonService.java deleted file mode 100644 index 120cfcc899f..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrganisasjonService.java +++ /dev/null @@ -1,47 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.GenererOrganisasjonPopulasjonConsumer; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.OppsummeringsdokumentConsumer; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.OrganisasjonConsumer; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Organisajon; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; - -@Slf4j -@Service -@RequiredArgsConstructor -public class OrganisasjonService { - private final GenererOrganisasjonPopulasjonConsumer genererOrganisasjonPopulasjonConsumer; - private final OppsummeringsdokumentConsumer oppsummeringsdokumentConsumer; - private final OrganisasjonConsumer organisasjonConsumer; - - public List getOpplysningspliktigeOrganisasjoner(String miljo, boolean unused) { - var oppsummeringsdokuments = unused ? oppsummeringsdokumentConsumer.getAll(miljo) : new ArrayList(); - - var opplysningspliktigOrgnummer = genererOrganisasjonPopulasjonConsumer.getOpplysningspliktig(miljo); - var list = organisasjonConsumer - .getOrganisasjoner(opplysningspliktigOrgnummer, miljo) - .collectList() - .block(); - log.info("Funnet {} opplysningspliktige organiasjon(er).", list.size()); - return list - .stream() - .filter(value -> !oppsummeringsdokuments - .stream() - .map(OppsummeringsdokumentDTO::getOpplysningspliktigOrganisajonsnummer) - .collect(Collectors.toSet()) - .contains(value) - ) - .filter(value -> !value.getDriverVirksomheter().isEmpty()) - .map(Organisajon::new) - .collect(Collectors.toList()); - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrkestratorService.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrkestratorService.java deleted file mode 100644 index c442603285d..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrkestratorService.java +++ /dev/null @@ -1,19 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import reactor.core.publisher.Flux; - -@Service -@RequiredArgsConstructor -public class OrkestratorService { - private final IdentService identService; - private final PersonArbeidsforholdHistorkkService personArbeidsforholdHistorkkService; - private final OppsummeringsdokumentService oppsummeringsdokumentService; - - public void orkestrerMedArbeidsforhold(String miljo, int months) { - var identerMedArbeidsforhold = identService.getIdenterMedArbeidsforhold(miljo); - var personer = personArbeidsforholdHistorkkService.generer(Flux.fromStream(identerMedArbeidsforhold.stream()), miljo, months); - oppsummeringsdokumentService.save(personer, miljo); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/PersonArbeidsforholdHistorkkService.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/PersonArbeidsforholdHistorkkService.java deleted file mode 100644 index 890b9c49c0c..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/PersonArbeidsforholdHistorkkService.java +++ /dev/null @@ -1,204 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Organisajon; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Person; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Timeline; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Arbeidsforhold; -import org.springframework.stereotype.Service; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.time.Period; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Random; -import java.util.Set; -import java.util.TreeSet; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Executor; -import java.util.concurrent.atomic.AtomicInteger; - -@Slf4j -@Service -@RequiredArgsConstructor -public class PersonArbeidsforholdHistorkkService { - private final ArbeidsforholdSerivce arbeidsforholdSerivce; - private final ArbeidsforholdHistorikkService arbeidsforholdHistorikkService; - private final OrganisasjonService organisasjonService; - private final Executor executor; - private final Random random = new Random(); - - public Flux generer(Flux identer, String miljo, int months) { - var organisasjoner = organisasjonService.getOpplysningspliktigeOrganisasjoner(miljo, true); - return identer.flatMap(ident -> generer(ident, miljo, months, organisasjoner)); - } - - public Flux generer(Flux identer, String miljo, LocalDate fom, LocalDate tom) { - var organisasjoner = organisasjonService.getOpplysningspliktigeOrganisasjoner(miljo, false); - return identer.flatMap(ident -> generer(ident, miljo, fom, tom, organisasjoner)); - } - - private Mono generer(String ident, String miljo, int months, List organisajoner) { - var count = new AtomicInteger(); - return arbeidsforholdSerivce - .findTimelineFor(ident, miljo) - .flatMap(timeline -> { - var lastDate = timeline.getLastDate(); - var person = new Person(ident, timeline); - var previous = person.getArbeidsforholdOn(lastDate); - var map = getArbeidsforholdMap( - new ArrayList<>(previous), - organisajoner, - ident, - findAllDatesBetween(lastDate.plusMonths(1), lastDate.plusMonths(months)).iterator() - ); - return updatePerson(count, person, map); - }).filter(Objects::nonNull); - } - - private Mono generer(String ident, String miljo, LocalDate fom, LocalDate tom, List organisajoner) { - var count = new AtomicInteger(); - return arbeidsforholdSerivce - .findTimelineFor(ident, miljo) - .flatMap(timeline -> { - var person = new Person(ident, timeline); - var previous = person.getArbeidsforholdOn(fom.minusMonths(1)); - var map = getArbeidsforholdMap(new ArrayList<>(previous), organisajoner, ident, findAllDatesBetween(fom, tom).iterator()); - - return updatePerson(count, person, map); - }).filter(Objects::nonNull); - } - - private Mono updatePerson(AtomicInteger count, Person person, Mono>> map) { - return map.map(value -> { - count.incrementAndGet(); - if (value == null) { - return null; - } - person.updateTimeline(new Timeline<>(value)); - log.info("Person {} ferdig generert. (Total: {})", person.getIdent(), count.get()); - return person; - }); - } - - - private Mono>> getArbeidsforholdMap( - List previous, - List organisajoner, - String ident, - Iterator dates - ) { - return Mono.fromFuture(CompletableFuture.supplyAsync( - () -> generer(previous, organisajoner, ident, dates), - executor - )); - } - - - private Map> generer( - List previous, - List organisajoner, - String ident, - Iterator dates - ) { - var map = new HashMap>(); - - if (!dates.hasNext()) { - return map; - } - - if (previous == null || previous.isEmpty() || previous.get(0).isForenklet()) { - var startdato = dates.next(); - var organisajon = organisajoner.get(random.nextInt(organisajoner.size())); - var arbeidsforhold = arbeidsforholdHistorikkService.genererStart( - startdato, - organisajon.getRandomVirksomhetsnummer(), - organisajon.getOrgnummer(), - ident - ).block(); - map.put(startdato, arbeidsforhold); - previous = arbeidsforhold; - } - - if (!dates.hasNext()) { - return map; - } - - if (previous.get(0).isForenklet()) { - - var generert = generer(previous, organisajoner, ident, dates); - - map.putAll(generert); - return map; - } - - List dateList = new ArrayList<>(); - dates.forEachRemaining(dateList::add); - dates = dateList.iterator(); - - List> historikk; - try { - historikk = arbeidsforholdHistorikkService.genererHistorikk( - previous, - dateList.iterator().next(), - dateList.size() - ).block(); - } catch (Exception ex) { - return Collections.emptyMap(); - } - - - Iterator left = historikk.get(0).stream().iterator(); - Iterator right = historikk.size() <= 1 ? Collections.emptyIterator() : historikk.get(1).stream().iterator(); - - while (dates.hasNext()) { - var kalendermnd = dates.next(); - - boolean isNewArbeidsforhold = previous.get(0).getSluttdato() != null - && previous.get(0).getSluttdato().getMonth() == kalendermnd.minusMonths(1).getMonth() - && previous.get(0).getSluttdato().getYear() == kalendermnd.minusMonths(1).getYear() - || previous.get(0).getSluttdato() != null && previous.get(0).getSluttdato().isBefore(kalendermnd); - - if (isNewArbeidsforhold) { - map.putAll(generer(null, organisajoner, ident, dates)); - return map; - } - - var arbeidsforholds = new ArrayList(); - arbeidsforholds.add(left.next()); - if (right.hasNext()) { - arbeidsforholds.add(right.next()); - } - - map.put(kalendermnd, arbeidsforholds); - previous = arbeidsforholds; - } - return map; - } - - - private Set findAllDatesBetween(LocalDate fom, LocalDate tom) { - Set dates = new TreeSet<>(); - if (tom == null) { - return dates; - } - Period between = Period.between( - fom.withDayOfMonth(1), - tom.withDayOfMonth(1) - ); - int months = between.getYears() * 12 + between.getMonths(); - for (int index = 0; index <= months; index++) { - dates.add(fom.withDayOfMonth(1).plusMonths(index)); - } - return dates; - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application-local.yml b/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application-local.yml deleted file mode 100644 index 8178745fda2..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application-local.yml +++ /dev/null @@ -1,11 +0,0 @@ -spring: - config: - import: "sm://" - -consumers: - oppsummeringsdokument-service: - url: https://testnav-oppsummeringsdokument-service.dev.intern.nav.no - testnav-generer-organisasjon-populasjon-service: - url: https://testnav-generer-organisasjon-populasjon-service.dev.intern.nav.no - testnav-organisasjon-service: - url: https://testnav-organisasjon-service.dev.intern.nav.no diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application.yml b/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application.yml deleted file mode 100644 index a77837bb919..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application.yml +++ /dev/null @@ -1,37 +0,0 @@ -spring: - application: - name: testnav-generer-arbeidsforhold-populasjon-service - description: Tjeneste for å opprette arbeidsforhold-populasjon - config: - import: "classpath:dolly-application.yml" - security: - oauth2: - resourceserver: - aad: - issuer-uri: ${AZURE_OPENID_CONFIG_ISSUER} - accepted-audience: ${AZURE_APP_CLIENT_ID}, api:// ${AZURE_APP_CLIENT_ID} - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - accepted-audience: ${TOKEN_X_CLIENT_ID} - -consumers: - synt-amelding: - url: https://synthdata-amelding.dev.intern.nav.no - cluster: dev-gcp - namespace: dolly - name: synthdata-amelding - oppsummeringsdokument-service: - cluster: dev-gcp - namespace: dolly - name: testnav-oppsummeringsdokument-service - url: http://testnav-oppsummeringsdokument-service.dolly.svc.cluster.local - testnav-generer-organisasjon-populasjon-service: - cluster: dev-gcp - namespace: dolly - name: testnav-generer-organisasjon-populasjon-service - url: http://testnav-generer-organisasjon-populasjon-service.dolly.svc.cluster.local - testnav-organisasjon-service: - name: testnav-organisasjon-service - cluster: dev-gcp - namespace: dolly - url: http://testnav-organisasjon-service.dolly.svc.cluster.local diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/logback-spring.xml b/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/logback-spring.xml deleted file mode 100644 index 2b8e3e07012..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - true - - 10280 - 20 - ^sun\.reflect\..*\.invoke - ^net\.sf\.cglib\.proxy\.MethodProxy\.invoke - java\.util\.concurrent\..* - org\.apache\.catalina\..* - org\.apache\.coyote\..* - org\.apache\.tomcat\..* - - - - - - - - - - - - - %d{HH:mm:ss.SSS} | %5p | %logger{25} | %m%n - - utf8 - - - - - - - - \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/test/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/ApplicationContextTest.java b/apps/generer-arbeidsforhold-populasjon-service/src/test/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/ApplicationContextTest.java deleted file mode 100644 index 42da174b2f2..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/test/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/ApplicationContextTest.java +++ /dev/null @@ -1,9 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice; - - -import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.dolly.libs.test.DollyApplicationContextTest; - -@DollySpringBootTest -class ApplicationContextTest extends DollyApplicationContextTest { -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/test/resources/application-test.yml b/apps/generer-arbeidsforhold-populasjon-service/src/test/resources/application-test.yml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/apps/generer-navn-service/config.yml b/apps/generer-navn-service/config.yml index a14df50c6c5..054b654637e 100644 --- a/apps/generer-navn-service/config.yml +++ b/apps/generer-navn-service/config.yml @@ -35,8 +35,6 @@ spec: cluster: dev-gcp - application: testnorge-statisk-data-forvalter cluster: dev-fss - - application: testnav-generer-organisasjon-populasjon-service - cluster: dev-gcp - application: testnav-budpro-service cluster: dev-gcp - application: testnav-endringsmelding-service diff --git a/apps/generer-organisasjon-populasjon-service/Dockerfile b/apps/generer-organisasjon-populasjon-service/Dockerfile deleted file mode 100644 index 99258cd954d..00000000000 --- a/apps/generer-organisasjon-populasjon-service/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM ghcr.io/navikt/baseimages/temurin:21 -LABEL maintainer="Team Dolly" - -ENV JAVA_OPTS="-Dspring.profiles.active=prod" - -ADD build/libs/app.jar /app/app.jar - -EXPOSE 8080 diff --git a/apps/generer-organisasjon-populasjon-service/README.md b/apps/generer-organisasjon-populasjon-service/README.md deleted file mode 100644 index 4b756417106..00000000000 --- a/apps/generer-organisasjon-populasjon-service/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Testnav-generer-organisasjon-populasjon-service -Genererer og henter opplysningspliktige organisasjoner i valgt miljø. - -## Lokal kjøring -* [Generelt.](../../docs/local_general.md) -* [Secret Manager.](../../docs/local_secretmanager.md) diff --git a/apps/generer-organisasjon-populasjon-service/build.gradle b/apps/generer-organisasjon-populasjon-service/build.gradle deleted file mode 100644 index 301249239a6..00000000000 --- a/apps/generer-organisasjon-populasjon-service/build.gradle +++ /dev/null @@ -1,41 +0,0 @@ -plugins { - id "dolly-apps" -} - -sonarqube { - properties { - property "sonar.projectKey", "testnav-generer-organisasjon-populasjon-service" - property "sonar.projectName", "testnav-generer-organisasjon-populasjon-service" - } -} - -dependencies { - implementation "no.nav.testnav.libs:avro-schema" - implementation "no.nav.testnav.libs:commands" - implementation "no.nav.testnav.libs:data-transfer-objects" - implementation "no.nav.testnav.libs:kafka-config" - implementation "no.nav.testnav.libs:kafka-producers" - implementation "no.nav.testnav.libs:reactive-core" - implementation "no.nav.testnav.libs:security-core" - implementation "no.nav.testnav.libs:servlet-core" - implementation "no.nav.testnav.libs:servlet-security" - - implementation "org.springframework.boot:spring-boot-starter-data-jpa" - implementation "org.springframework.boot:spring-boot-starter-oauth2-resource-server" - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.kafka:spring-kafka" - - implementation "com.h2database:h2" - implementation "com.zaxxer:HikariCP" - implementation "io.confluent:kafka-avro-serializer:$versions.avroSerializer" - implementation "io.swagger.core.v3:swagger-annotations-jakarta:$versions.swagger" - implementation "jakarta.validation:jakarta.validation-api:$versions.jakartaValidation" - implementation "org.flywaydb:flyway-core" - implementation "org.flywaydb:flyway-database-postgresql" - implementation "org.postgresql:postgresql" - implementation "org.projectreactor:reactor-spring:$versions.reactorSpring" - implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:$versions.springdoc" - - testImplementation "org.springframework.cloud:spring-cloud-contract-wiremock" -} diff --git a/apps/generer-organisasjon-populasjon-service/config.yml b/apps/generer-organisasjon-populasjon-service/config.yml deleted file mode 100644 index cb6da3213b2..00000000000 --- a/apps/generer-organisasjon-populasjon-service/config.yml +++ /dev/null @@ -1,71 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: testnav-generer-organisasjon-populasjon-service - namespace: dolly - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - accessPolicy: - inbound: - rules: - - application: team-dolly-lokal-app - cluster: dev-gcp - - application: testnav-oversikt-frontend - cluster: dev-gcp - - application: testnav-generer-arbeidsforhold-populasjon-service - cluster: dev-gcp - outbound: - rules: - - application: generer-navn-service - - application: testnav-orgnummer-service - gcp: - sqlInstances: - - type: POSTGRES_15 - tier: db-custom-1-3840 - databases: - - name: testnav-generer-organisasjon-populasjon-db - liveness: - path: /internal/health/liveness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/health/readiness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - prometheus: - enabled: true - path: /internal/metrics - replicas: - min: 1 - max: 1 - resources: - requests: - cpu: 200m - memory: 1024Mi - limits: - memory: 2048Mi - envFrom: - - secret: google-sql-testnav-generer-organisasjon-populasjon-service - ingresses: - - "https://testnav-generer-organisasjon-populasjon-service.intern.dev.nav.no" - kafka: - pool: nav-dev \ No newline at end of file diff --git a/apps/generer-organisasjon-populasjon-service/gradle/wrapper/gradle-wrapper.jar b/apps/generer-organisasjon-populasjon-service/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL diff --git a/apps/generer-organisasjon-populasjon-service/gradle/wrapper/gradle-wrapper.properties b/apps/generer-organisasjon-populasjon-service/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 48c0a02ca41..00000000000 --- a/apps/generer-organisasjon-populasjon-service/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/apps/generer-organisasjon-populasjon-service/gradlew b/apps/generer-organisasjon-populasjon-service/gradlew deleted file mode 100755 index 3da45c161b0..00000000000 --- a/apps/generer-organisasjon-populasjon-service/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright ? 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions ?$var?, ?${var}?, ?${var:-default}?, ?${var+SET}?, -# ?${var#prefix}?, ?${var%suffix}?, and ?$( cmd )?; -# * compound commands having a testable exit status, especially ?case?; -# * various built-in commands including ?command?, ?set?, and ?ulimit?. -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/apps/generer-organisasjon-populasjon-service/gradlew.bat b/apps/generer-organisasjon-populasjon-service/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/apps/generer-organisasjon-populasjon-service/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/apps/generer-organisasjon-populasjon-service/gradlewUpdate.sh b/apps/generer-organisasjon-populasjon-service/gradlewUpdate.sh deleted file mode 100755 index e5ee6361152..00000000000 --- a/apps/generer-organisasjon-populasjon-service/gradlewUpdate.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -gradle wrapper \ No newline at end of file diff --git a/apps/generer-organisasjon-populasjon-service/settings.gradle b/apps/generer-organisasjon-populasjon-service/settings.gradle deleted file mode 100644 index e8c37b4e704..00000000000 --- a/apps/generer-organisasjon-populasjon-service/settings.gradle +++ /dev/null @@ -1,25 +0,0 @@ -plugins { - id "com.gradle.develocity" version "3.19" -} - -rootProject.name = "generer-organisasjon-populasjon-service" - -includeBuild "../../plugins/java" - -includeBuild "../../libs/avro-schema" -includeBuild "../../libs/commands" -includeBuild "../../libs/data-transfer-objects" -includeBuild "../../libs/kafka-config" -includeBuild "../../libs/kafka-producers" -includeBuild "../../libs/reactive-core" -includeBuild "../../libs/security-core" -includeBuild "../../libs/servlet-core" -includeBuild "../../libs/servlet-security" -includeBuild "../../libs/testing" - -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/terms-of-service" - termsOfUseAgree = "yes" - } -} \ No newline at end of file diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/GenererOrganisasjonPopulasjonServiceApplicationStarter.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/GenererOrganisasjonPopulasjonServiceApplicationStarter.java deleted file mode 100644 index 32136776038..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/GenererOrganisasjonPopulasjonServiceApplicationStarter.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice; - -import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; - -@EnableWebSecurity -@SpringBootApplication -public class GenererOrganisasjonPopulasjonServiceApplicationStarter { - public static void main(String[] args) { - new SpringApplicationBuilder(GenererOrganisasjonPopulasjonServiceApplicationStarter.class) - .initializers(new NaisEnvironmentApplicationContextInitializer()) - .run(args); - } -} diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/ApplicationConfig.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/ApplicationConfig.java deleted file mode 100644 index b8335146c5b..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/ApplicationConfig.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import org.springframework.core.task.TaskExecutor; -import org.springframework.data.jpa.repository.config.EnableJpaAuditing; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import org.springframework.security.task.DelegatingSecurityContextAsyncTaskExecutor; - -import no.nav.testnav.libs.servletcore.config.ApplicationCoreConfig; - -@Configuration -@Import({ApplicationCoreConfig.class}) -@EnableJpaAuditing -public class ApplicationConfig { - - - @Bean - public TaskExecutor executor() { - final ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setMaxPoolSize(20); - executor.setCorePoolSize(10); - executor.setThreadNamePrefix("thread-pool-with-security-context-"); - executor.initialize(); - return new DelegatingSecurityContextAsyncTaskExecutor(executor); - } - -} diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/Consumers.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/Consumers.java deleted file mode 100644 index 6449063a4fc..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/Consumers.java +++ /dev/null @@ -1,30 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.config; - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import static lombok.AccessLevel.PACKAGE; - -/** - * Samler alle placeholders for ulike {@code consumers.*}-konfigurasjon her, dvs. subklasser av {@code ServerProperties}. - *

- * Husk at Spring Boot bruker
relaxed binding - * mellom configuration properties og field names. - * - * @see ServerProperties - */ -@Configuration -@ConfigurationProperties(prefix = "consumers") -@NoArgsConstructor(access = PACKAGE) -@Getter -@Setter(PACKAGE) -public class Consumers { - - private ServerProperties genererNavnService; - private ServerProperties testnavOrgnummerService; - -} diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/KafkaProducerConfig.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/KafkaProducerConfig.java deleted file mode 100644 index 71848760770..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/KafkaProducerConfig.java +++ /dev/null @@ -1,11 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.config; - -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -import no.nav.testnav.libs.kafkaproducers.organisasjon.v2.OpprettelsesdokumentV2Producer; - -@Configuration -@Import({OpprettelsesdokumentV2Producer.class}) -public class KafkaProducerConfig { -} diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/OpenApiConfig.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/OpenApiConfig.java deleted file mode 100644 index 7fbc1ad3e6b..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/OpenApiConfig.java +++ /dev/null @@ -1,55 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.config; - -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Contact; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.info.License; -import io.swagger.v3.oas.models.security.SecurityRequirement; -import io.swagger.v3.oas.models.security.SecurityScheme; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import java.util.Arrays; - -import no.nav.testnav.libs.servletcore.config.ApplicationProperties; - -@Configuration -public class OpenApiConfig implements WebMvcConfigurer { - - @Bean - public OpenAPI openApi(ApplicationProperties applicationProperties) { - return new OpenAPI() - .components(new Components().addSecuritySchemes("bearer-jwt", new SecurityScheme() - .type(SecurityScheme.Type.HTTP) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name("Authorization") - )) - .addSecurityItem( - new SecurityRequirement().addList("bearer-jwt", Arrays.asList("read", "write"))) - .info(new Info() - .title(applicationProperties.getName()) - .version(applicationProperties.getVersion()) - .description(applicationProperties.getDescription()) - .termsOfService("https://nav.no") - .contact(new Contact() - .url("https://nav-it.slack.com/archives/CA3P9NGA2") - .email("dolly@nav.no") - .name("Team Dolly") - ) - .license(new License() - .name("MIT License") - .url("https://opensource.org/licenses/MIT") - ) - ); - } - - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/swagger").setViewName("redirect:/swagger-ui.html"); - } -} \ No newline at end of file diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/SecurityConfig.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/SecurityConfig.java deleted file mode 100644 index 55a2063da64..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/config/SecurityConfig.java +++ /dev/null @@ -1,26 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.config; - -import no.nav.dolly.libs.security.config.DollyHttpSecurity; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.config.Customizer; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.web.SecurityFilterChain; - -@Configuration -class SecurityConfig { - - @Bean - SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { - return httpSecurity - .sessionManagement(sessionConfig -> sessionConfig.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) - .csrf(AbstractHttpConfigurer::disable) - .authorizeHttpRequests(DollyHttpSecurity.withDefaultHttpRequests()) - .oauth2ResourceServer(oauth2RSConfig -> oauth2RSConfig.jwt(Customizer.withDefaults())) - .build(); - } - -} - diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/consumer/GenererNavnConsumer.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/consumer/GenererNavnConsumer.java deleted file mode 100644 index af487760bc2..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/consumer/GenererNavnConsumer.java +++ /dev/null @@ -1,35 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.consumer; - -import no.nav.registre.testnav.genererorganisasjonpopulasjonservice.config.Consumers; -import no.nav.testnav.libs.commands.generernavnservice.v1.GenererNavnCommand; -import no.nav.testnav.libs.dto.generernavnservice.v1.NavnDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; - -@Component -public class GenererNavnConsumer { - - private final WebClient webClient; - private final ServerProperties serverProperties; - private final TokenExchange tokenExchange; - - public GenererNavnConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - this.tokenExchange = tokenExchange; - serverProperties = consumers.getGenererNavnService(); - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public NavnDTO genereNavn() { - var accessToken = tokenExchange.exchange(serverProperties).block(); - GenererNavnCommand command = new GenererNavnCommand(webClient, accessToken.getTokenValue(), 1); - return command.call()[0]; - } -} diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/consumer/OrgnummerConsumer.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/consumer/OrgnummerConsumer.java deleted file mode 100644 index 4a9f19f6288..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/consumer/OrgnummerConsumer.java +++ /dev/null @@ -1,34 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.consumer; - -import no.nav.registre.testnav.genererorganisasjonpopulasjonservice.config.Consumers; -import no.nav.registre.testnav.genererorganisasjonpopulasjonservice.consumer.command.GetOrgnummerCommand; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; - -@Component -public class OrgnummerConsumer { - - private final WebClient webClient; - private final ServerProperties serverProperties; - private final TokenExchange tokenExchange; - - public OrgnummerConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getTestnavOrgnummerService(); - this.tokenExchange = tokenExchange; - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public String getOrgnummer() { - var tokenValue = tokenExchange.exchange(serverProperties).block().getTokenValue(); - return new GetOrgnummerCommand(webClient, tokenValue, 1).call().stream().findFirst().orElseThrow(); - } - -} \ No newline at end of file diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/consumer/command/GetOrgnummerCommand.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/consumer/command/GetOrgnummerCommand.java deleted file mode 100644 index 8953d8308ec..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/consumer/command/GetOrgnummerCommand.java +++ /dev/null @@ -1,37 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.Arrays; -import java.util.Set; -import java.util.concurrent.Callable; -import java.util.stream.Collectors; - -@RequiredArgsConstructor -public class GetOrgnummerCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final Integer antall; - - @Override - public Set call() { - var response = webClient - .get() - .uri("/api/v1/orgnummer") - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .header("antall", antall.toString()) - .retrieve() - .bodyToMono(String[].class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .block(); - - return Arrays.stream(response).collect(Collectors.toSet()); - - } -} diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/controller/OpplysningspliktigController.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/controller/OpplysningspliktigController.java deleted file mode 100644 index 0ff69d317d8..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/controller/OpplysningspliktigController.java +++ /dev/null @@ -1,45 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.controller; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.Set; - -import no.nav.registre.testnav.genererorganisasjonpopulasjonservice.service.GenererOpplysningspliktigService; -import no.nav.registre.testnav.genererorganisasjonpopulasjonservice.service.OpplysningspliktigService; - -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/v1/opplysningspliktig") -public class OpplysningspliktigController { - private final GenererOpplysningspliktigService genererOpplysningspliktigService; - private final OpplysningspliktigService opplysningspliktigService; - - @PostMapping - public ResponseEntity generer(@RequestHeader String miljo, @RequestHeader Integer antall) { - var list = genererOpplysningspliktigService.generer(antall); - var uuid = opplysningspliktigService.create(list, miljo); - log.info("Bestilling opprettet med id: {}.", uuid); - return ResponseEntity.noContent().build(); - } - - @GetMapping - public ResponseEntity> getOpplysningspliktigOrgnummer(@RequestHeader String miljo) { - return ResponseEntity.ok(opplysningspliktigService.getOpplysningspliktigOrgnummer(miljo)); - } - - @DeleteMapping - public ResponseEntity delete(@RequestHeader String miljo) { - opplysningspliktigService.deleteBy(miljo); - return ResponseEntity.notFound().build(); - } -} - diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/domain/Organisasjon.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/domain/Organisasjon.java deleted file mode 100644 index 9fd12ac670c..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/domain/Organisasjon.java +++ /dev/null @@ -1,63 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.domain; - -import lombok.Data; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -import no.nav.testnav.libs.avro.organisasjon.v1.DetaljertNavn; - -@Data -public class Organisasjon { - private String name; - private String orgnummer; - private String enhetstype; - private List virksomheter; - - public String getName() { - return name; - } - - public String getOrgnummer() { - return orgnummer; - } - - public String getEnhetstype() { - return enhetstype; - } - - public List getVirksomheter() { - if (virksomheter == null) { - virksomheter = new ArrayList<>(); - } - return virksomheter; - } - - public void setName(String name) { - this.name = name; - } - - public void setOrgnummer(String orgnummer) { - this.orgnummer = orgnummer; - } - - public void setEnhetstype(String enhetstype) { - this.enhetstype = enhetstype; - } - - public void setVirksomheter(List virksomheter) { - this.virksomheter = virksomheter; - } - - public no.nav.testnav.libs.avro.organisasjon.v1.Organisasjon toAvroOrganisasjon() { - return no.nav.testnav.libs.avro.organisasjon.v1.Organisasjon - .newBuilder() - .setEnhetstype(enhetstype) - .setOrgnummer(orgnummer) - .setUnderenheter(getVirksomheter().stream().map(Organisasjon::toAvroOrganisasjon).collect(Collectors.toList())) - .setNavn(DetaljertNavn.newBuilder().setNavn1(name).setRedigertNavn(name).build()) - .build(); - } - -} diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/repository/OpplysningspliktigRepository.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/repository/OpplysningspliktigRepository.java deleted file mode 100644 index 459bd9f8ae7..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/repository/OpplysningspliktigRepository.java +++ /dev/null @@ -1,15 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.repository; - -import org.springframework.data.repository.CrudRepository; -import org.springframework.stereotype.Repository; - -import java.util.List; - -import no.nav.registre.testnav.genererorganisasjonpopulasjonservice.repository.model.OpplysningspliktigModel; - -@Repository -public interface OpplysningspliktigRepository extends CrudRepository { - List findAllByMiljo(String miljo); - - void deleteAllByMiljo(String miljo); -} diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/repository/model/OpplysningspliktigModel.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/repository/model/OpplysningspliktigModel.java deleted file mode 100644 index 262c26c65fc..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/repository/model/OpplysningspliktigModel.java +++ /dev/null @@ -1,39 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.repository.model; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.data.annotation.CreatedDate; -import org.springframework.data.jpa.domain.support.AuditingEntityListener; - -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.EntityListeners; -import jakarta.persistence.Id; -import jakarta.persistence.Table; -import jakarta.persistence.Temporal; -import jakarta.persistence.TemporalType; -import java.util.Date; - -@Entity -@Data -@Builder -@EntityListeners(AuditingEntityListener.class) -@AllArgsConstructor -@NoArgsConstructor -@Table(name = "OPPLYSNINGSPLIKTIG") -public class OpplysningspliktigModel { - - @Id - @Column(name = "ORGNUMMER") - private String orgnummer; - - @Column(name = "MILJO", nullable = false, updatable = false) - private String miljo; - - @Temporal(TemporalType.TIMESTAMP) - @Column(name = "CREATED_AT", nullable = false, updatable = false) - @CreatedDate - private Date createdAt; -} \ No newline at end of file diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/service/GenererOpplysningspliktigService.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/service/GenererOpplysningspliktigService.java deleted file mode 100644 index 17a248afc16..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/service/GenererOpplysningspliktigService.java +++ /dev/null @@ -1,75 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.genererorganisasjonpopulasjonservice.consumer.GenererNavnConsumer; -import no.nav.registre.testnav.genererorganisasjonpopulasjonservice.consumer.OrgnummerConsumer; -import no.nav.registre.testnav.genererorganisasjonpopulasjonservice.domain.Organisasjon; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Executor; -import java.util.concurrent.TimeUnit; - -@Slf4j -@Service -@RequiredArgsConstructor -public class GenererOpplysningspliktigService { - private final GenererNavnConsumer genererNavnConsumer; - private final OrgnummerConsumer orgnummerConsumer; - private final Executor executor; - - public List generer(Integer antall) { - var futures = new ArrayList>(antall); - var random = new Random(); - for (int index = 0; index < antall; index++) { - futures.add(generer(random)); - } - - var organisasjoner = new ArrayList(); - for (int index = 0; index < futures.size(); index++) { - try { - var organisasjon = futures.get(index).get(12, TimeUnit.MINUTES); - log.info("{}/{} organisasjoner opprettet.", index + 1, futures.size()); - organisasjoner.add(organisasjon); - } catch (Exception e) { - log.warn("Klarer ikke å opprette organisasjon.", e); - } - } - if (futures.size() > organisasjoner.size()) { - log.warn("Bare {}/{} organisasjoner opprettet.", organisasjoner.size(), futures.size()); - } - - - if (organisasjoner.isEmpty()) { - throw new RuntimeException("Klarer ikke å opprette organisasjoner."); - } - - return organisasjoner; - } - - private CompletableFuture generer(Random random) { - return CompletableFuture.supplyAsync(() -> { - var opplysningspliktig = generer("AS"); - for (int index = 0; index <= random.nextInt(5); index++) { - opplysningspliktig.getVirksomheter().add(generer("BEDR")); - } - return opplysningspliktig; - }, executor); - } - - - private Organisasjon generer(String enhetstype) { - var navn = genererNavnConsumer.genereNavn(); - var orgnummer = orgnummerConsumer.getOrgnummer(); - var organisasjon = new Organisasjon(); - organisasjon.setName(navn.getAdjektiv() + " " + navn.getSubstantiv() + (enhetstype.equals("AS") ? " AS" : "")); - organisasjon.setOrgnummer(orgnummer); - organisasjon.setEnhetstype(enhetstype); - return organisasjon; - } - -} diff --git a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/service/OpplysningspliktigService.java b/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/service/OpplysningspliktigService.java deleted file mode 100644 index 439060e789b..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/service/OpplysningspliktigService.java +++ /dev/null @@ -1,55 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.Set; -import java.util.UUID; -import java.util.stream.Collectors; - -import no.nav.registre.testnav.genererorganisasjonpopulasjonservice.domain.Organisasjon; -import no.nav.registre.testnav.genererorganisasjonpopulasjonservice.repository.OpplysningspliktigRepository; -import no.nav.registre.testnav.genererorganisasjonpopulasjonservice.repository.model.OpplysningspliktigModel; -import no.nav.testnav.libs.avro.organisasjon.v1.Metadata; -import no.nav.testnav.libs.avro.organisasjon.v1.Opprettelsesdokument; -import no.nav.testnav.libs.kafkaproducers.organisasjon.v2.OpprettelsesdokumentV2Producer; - -@Service -@RequiredArgsConstructor -public class OpplysningspliktigService { - private final OpprettelsesdokumentV2Producer opprettelsesdokumentProducer; - private final OpplysningspliktigRepository repository; - - public UUID create(List list, String miljo) { - var uuid = UUID.randomUUID(); - list.forEach(organisasjon -> create(organisasjon, uuid, miljo)); - return uuid; - } - - private void create(Organisasjon organisasjon, UUID uuid, String miljo) { - var opprettelsesdokument = Opprettelsesdokument - .newBuilder() - .setOrganisasjon(organisasjon.toAvroOrganisasjon()) - .setMetadata(Metadata.newBuilder().setMiljo(miljo).build()) - .build(); - opprettelsesdokumentProducer.send(uuid.toString(), opprettelsesdokument); - repository.save(OpplysningspliktigModel - .builder() - .miljo(miljo) - .orgnummer(organisasjon.getOrgnummer()) - .build() - ); - } - - public Set getOpplysningspliktigOrgnummer(String miljo){ - return repository.findAllByMiljo(miljo) - .stream() - .map(OpplysningspliktigModel::getOrgnummer) - .collect(Collectors.toSet()); - } - - public void deleteBy(String miljo) { - repository.deleteAllByMiljo(miljo); - } -} diff --git a/apps/generer-organisasjon-populasjon-service/src/main/resources/application-local.yml b/apps/generer-organisasjon-populasjon-service/src/main/resources/application-local.yml deleted file mode 100644 index fa3c2b6fa18..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/resources/application-local.yml +++ /dev/null @@ -1,24 +0,0 @@ -spring: - config: - import: "sm://" - h2: - console: - enabled: true - path: /h2 - flyway: - enabled: true - datasource: - url: jdbc:h2:mem:testdb?useUnicode=yes&characterEncoding=UTF-8 - username: sa - password: - driverClassName: org.h2.Driver - jpa: - properties: - hibernate: - dialect: org.hibernate.dialect.H2Dialect - -consumers: - generer-navn-service: - url: https://generer-navn-service.intern.dev.nav.no - testnav-orgnummer-service: - url: https://testnav-orgnummer-service.intern.dev.nav.no \ No newline at end of file diff --git a/apps/generer-organisasjon-populasjon-service/src/main/resources/application-prod.yml b/apps/generer-organisasjon-populasjon-service/src/main/resources/application-prod.yml deleted file mode 100644 index 48d09945f41..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/resources/application-prod.yml +++ /dev/null @@ -1,15 +0,0 @@ -spring: - datasource: - url: jdbc:postgresql://${NAIS_DATABASE_TESTNAV_GENERER_ORGANISASJON_POPULASJON_SERVICE_TESTNAV_GENERER_ORGANISASJON_POPULASJON_DB_HOST}:${NAIS_DATABASE_TESTNAV_GENERER_ORGANISASJON_POPULASJON_SERVICE_TESTNAV_GENERER_ORGANISASJON_POPULASJON_DB_PORT}/${NAIS_DATABASE_TESTNAV_GENERER_ORGANISASJON_POPULASJON_SERVICE_TESTNAV_GENERER_ORGANISASJON_POPULASJON_DB_DATABASE}?user=${NAIS_DATABASE_TESTNAV_GENERER_ORGANISASJON_POPULASJON_SERVICE_TESTNAV_GENERER_ORGANISASJON_POPULASJON_DB_USERNAME}&password=${NAIS_DATABASE_TESTNAV_GENERER_ORGANISASJON_POPULASJON_SERVICE_TESTNAV_GENERER_ORGANISASJON_POPULASJON_DB_PASSWORD} - driverClassName: org.postgresql.Driver - hikari: - maximum-pool-size: 3 - minimum-idle: 0 - flyway: - locations: classpath:db/migration - enabled: true - jpa: - database: POSTGRESQL - properties: - hibernate: - dialect: org.hibernate.dialect.PostgreSQLDialect diff --git a/apps/generer-organisasjon-populasjon-service/src/main/resources/application.yml b/apps/generer-organisasjon-populasjon-service/src/main/resources/application.yml deleted file mode 100644 index 01539eb4539..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/resources/application.yml +++ /dev/null @@ -1,30 +0,0 @@ -spring: - application: - name: testnav-generer-organisasjon-populasjon-service - description: Tjeneste for å opprette organisasjon-populasjon - config: - import: "classpath:dolly-application.yml" - security: - oauth2: - resourceserver: - aad: - issuer-uri: ${AZURE_OPENID_CONFIG_ISSUER} - accepted-audience: ${AZURE_APP_CLIENT_ID}, api:// ${AZURE_APP_CLIENT_ID} - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - accepted-audience: ${TOKEN_X_CLIENT_ID} - -kafka: - groupid: generer-organisasjon-populasjon-service-v1 - -consumers: - generer-navn-service: - url: http://generer-navn-service.dolly.svc.cluster.local - cluster: dev-gcp - namespace: dolly - name: generer-navn-service - testnav-orgnummer-service: - url: http://testnav-orgnummer-service.dolly.svc.cluster.local - cluster: dev-gcp - namespace: dolly - name: testnav-orgnummer-service \ No newline at end of file diff --git a/apps/generer-organisasjon-populasjon-service/src/main/resources/db/migration/V1__initial_database.sql b/apps/generer-organisasjon-populasjon-service/src/main/resources/db/migration/V1__initial_database.sql deleted file mode 100644 index 9f0065bc127..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/resources/db/migration/V1__initial_database.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE OPPLYSNINGSPLIKTIG -( - ORGNUMMER VARCHAR(64) PRIMARY KEY, - MILJO VARCHAR(64) NOT NULL, - CREATED_AT TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP -); \ No newline at end of file diff --git a/apps/generer-organisasjon-populasjon-service/src/main/resources/logback-spring.xml b/apps/generer-organisasjon-populasjon-service/src/main/resources/logback-spring.xml deleted file mode 100644 index 2b8e3e07012..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - true - - 10280 - 20 - ^sun\.reflect\..*\.invoke - ^net\.sf\.cglib\.proxy\.MethodProxy\.invoke - java\.util\.concurrent\..* - org\.apache\.catalina\..* - org\.apache\.coyote\..* - org\.apache\.tomcat\..* - - - - - - - - - - - - - %d{HH:mm:ss.SSS} | %5p | %logger{25} | %m%n - - utf8 - - - - - - - - \ No newline at end of file diff --git a/apps/generer-organisasjon-populasjon-service/src/test/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/ApplicationContextTest.java b/apps/generer-organisasjon-populasjon-service/src/test/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/ApplicationContextTest.java deleted file mode 100644 index d6936bef5e5..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/test/java/no/nav/registre/testnav/genererorganisasjonpopulasjonservice/ApplicationContextTest.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.registre.testnav.genererorganisasjonpopulasjonservice; - -import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.dolly.libs.test.DollyApplicationContextTest; - -@DollySpringBootTest -class ApplicationContextTest extends DollyApplicationContextTest { -} diff --git a/apps/generer-organisasjon-populasjon-service/src/test/resources/application-test.yml b/apps/generer-organisasjon-populasjon-service/src/test/resources/application-test.yml deleted file mode 100644 index ef8479bff44..00000000000 --- a/apps/generer-organisasjon-populasjon-service/src/test/resources/application-test.yml +++ /dev/null @@ -1 +0,0 @@ -#KAFKA_KEYSTORE_PATH: "" \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/Dockerfile b/apps/generer-synt-amelding-service/Dockerfile deleted file mode 100644 index dd8161548f8..00000000000 --- a/apps/generer-synt-amelding-service/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM ghcr.io/navikt/baseimages/temurin:21 -LABEL maintainer="Team Dolly" - -ENV JAVA_OPTS="-Dspring.profiles.active=prod" - -ADD /build/libs/app.jar /app/app.jar - -EXPOSE 8080 \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/README.md b/apps/generer-synt-amelding-service/README.md deleted file mode 100644 index 78f7c780679..00000000000 --- a/apps/generer-synt-amelding-service/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Testnav-generer-synt-amelding-service -App for å generere syntetiske ameldinger. - -## Lokal kjøring -* [Generelt.](../../docs/local_general.md) -* [Secret Manager.](../../docs/local_secretmanager.md) \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/build.gradle b/apps/generer-synt-amelding-service/build.gradle deleted file mode 100644 index 4ea869df5d5..00000000000 --- a/apps/generer-synt-amelding-service/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id "dolly-apps" -} - -sonarqube { - properties { - property "sonar.projectKey", "testnav-generer-synt-amelding-service" - property "sonar.projectName", "testnav-generer-synt-amelding-service" - } -} - -dependencies { - implementation "no.nav.testnav.libs:domain" - implementation "no.nav.testnav.libs:reactive-core" - implementation "no.nav.testnav.libs:security-core" - implementation "no.nav.testnav.libs:servlet-core" - implementation "no.nav.testnav.libs:servlet-security" - - implementation "org.springframework.boot:spring-boot-starter-oauth2-client" - implementation "org.springframework.boot:spring-boot-starter-security" - implementation "org.springframework.boot:spring-boot-starter-web" - - implementation "io.swagger.core.v3:swagger-annotations-jakarta:$versions.swagger" - implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:$versions.springdoc" - - testImplementation "org.springframework.cloud:spring-cloud-contract-wiremock" -} diff --git a/apps/generer-synt-amelding-service/config.yml b/apps/generer-synt-amelding-service/config.yml deleted file mode 100644 index ac67a62fb14..00000000000 --- a/apps/generer-synt-amelding-service/config.yml +++ /dev/null @@ -1,61 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: testnav-generer-synt-amelding-service - namespace: dolly - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - webproxy: true - accessPolicy: - inbound: - rules: - - application: dolly-frontend - - application: dolly-frontend-dev - - application: dolly-idporten - - application: team-dolly-lokal-app - - application: testnav-oversikt-frontend - outbound: - rules: - - application: synthdata-amelding - cluster: dev-gcp - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - liveness: - path: /internal/health/liveness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/health/readiness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - prometheus: - enabled: true - path: /internal/metrics - replicas: - min: 1 - max: 1 - resources: - requests: - cpu: 200m - memory: 1024Mi - limits: - memory: 2048Mi - ingresses: - - "https://testnav-generer-synt-amelding-service.intern.dev.nav.no" \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/gradle/wrapper/gradle-wrapper.jar b/apps/generer-synt-amelding-service/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL diff --git a/apps/generer-synt-amelding-service/gradle/wrapper/gradle-wrapper.properties b/apps/generer-synt-amelding-service/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 48c0a02ca41..00000000000 --- a/apps/generer-synt-amelding-service/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/apps/generer-synt-amelding-service/gradlew b/apps/generer-synt-amelding-service/gradlew deleted file mode 100755 index 3da45c161b0..00000000000 --- a/apps/generer-synt-amelding-service/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright ? 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions ?$var?, ?${var}?, ?${var:-default}?, ?${var+SET}?, -# ?${var#prefix}?, ?${var%suffix}?, and ?$( cmd )?; -# * compound commands having a testable exit status, especially ?case?; -# * various built-in commands including ?command?, ?set?, and ?ulimit?. -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/apps/generer-synt-amelding-service/gradlew.bat b/apps/generer-synt-amelding-service/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/apps/generer-synt-amelding-service/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/apps/generer-synt-amelding-service/gradlewUpdate.sh b/apps/generer-synt-amelding-service/gradlewUpdate.sh deleted file mode 100755 index e5ee6361152..00000000000 --- a/apps/generer-synt-amelding-service/gradlewUpdate.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -gradle wrapper \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/settings.gradle b/apps/generer-synt-amelding-service/settings.gradle deleted file mode 100644 index 96eeb6032e3..00000000000 --- a/apps/generer-synt-amelding-service/settings.gradle +++ /dev/null @@ -1,21 +0,0 @@ -plugins { - id "com.gradle.develocity" version "3.19" -} - -rootProject.name = "generer-synt-amelding-service" - -includeBuild "../../plugins/java" - -includeBuild "../../libs/domain" -includeBuild "../../libs/reactive-core" -includeBuild "../../libs/security-core" -includeBuild "../../libs/servlet-core" -includeBuild "../../libs/servlet-security" -includeBuild "../../libs/testing" - -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/terms-of-service" - termsOfUseAgree = "yes" - } -} \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/GenererSyntAmeldingApplicationStarter.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/GenererSyntAmeldingApplicationStarter.java deleted file mode 100644 index eb6f246fc65..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/GenererSyntAmeldingApplicationStarter.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice; - -import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; - -@EnableWebSecurity -@SpringBootApplication -public class GenererSyntAmeldingApplicationStarter { - public static void main(String[] args) { - new SpringApplicationBuilder(GenererSyntAmeldingApplicationStarter.class) - .initializers(new NaisEnvironmentApplicationContextInitializer()) - .run(args); - } -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/ApplicationConfig.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/ApplicationConfig.java deleted file mode 100644 index 68264291391..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/ApplicationConfig.java +++ /dev/null @@ -1,12 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.config; - -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -import no.nav.testnav.libs.servletcore.config.ApplicationCoreConfig; - -@Configuration -@Import({ApplicationCoreConfig.class}) -public class ApplicationConfig { - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/Consumers.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/Consumers.java deleted file mode 100644 index 3ab25367a16..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/Consumers.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.config; - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import static lombok.AccessLevel.PACKAGE; - -/** - * Samler alle placeholders for ulike {@code consumers.*}-konfigurasjon her, dvs. subklasser av {@code ServerProperties}. - *

- * Husk at Spring Boot bruker
relaxed binding - * mellom configuration properties og field names. - * - * @see ServerProperties - */ -@Configuration -@ConfigurationProperties(prefix = "consumers") -@NoArgsConstructor(access = PACKAGE) -@Getter -@Setter(PACKAGE) -public class Consumers { - - private ServerProperties syntAmelding; - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/OpenApiConfig.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/OpenApiConfig.java deleted file mode 100644 index 52f6a0195bb..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/OpenApiConfig.java +++ /dev/null @@ -1,54 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.config; - -import java.util.Arrays; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Contact; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.info.License; -import io.swagger.v3.oas.models.security.SecurityRequirement; -import io.swagger.v3.oas.models.security.SecurityScheme; -import no.nav.testnav.libs.servletcore.config.ApplicationProperties; - -@Configuration -public class OpenApiConfig implements WebMvcConfigurer { - - @Bean - public OpenAPI openApi(ApplicationProperties applicationProperties) { - return new OpenAPI() - .components(new Components().addSecuritySchemes("bearer-jwt", new SecurityScheme() - .type(SecurityScheme.Type.HTTP) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name("Authorization") - )) - .addSecurityItem( - new SecurityRequirement().addList("bearer-jwt", Arrays.asList("read", "write"))) - .info(new Info() - .title(applicationProperties.getName()) - .version(applicationProperties.getVersion()) - .description(applicationProperties.getDescription()) - .termsOfService("https://nav.no") - .contact(new Contact() - .url("https://nav-it.slack.com/archives/CA3P9NGA2") - .email("dolly@nav.no") - .name("Team Dolly") - ) - .license(new License() - .name("MIT License") - .url("https://opensource.org/licenses/MIT") - ) - ); - } - - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/swagger").setViewName("redirect:/swagger-ui.html"); - } -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/SecurityConfig.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/SecurityConfig.java deleted file mode 100644 index 258fbc6cf42..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/SecurityConfig.java +++ /dev/null @@ -1,27 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.config; - -import no.nav.dolly.libs.security.config.DollyHttpSecurity; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Profile; -import org.springframework.security.config.Customizer; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.web.SecurityFilterChain; - -@Configuration -@Profile({"prod", "local"}) -class SecurityConfig { - - @Bean - SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { - return httpSecurity - .sessionManagement(sessionConfig -> sessionConfig.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) - .csrf(AbstractHttpConfigurer::disable) - .authorizeHttpRequests(DollyHttpSecurity.withDefaultHttpRequests()) - .oauth2ResourceServer(oauth2RSConfig -> oauth2RSConfig.jwt(Customizer.withDefaults())) - .build(); - } - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumer.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumer.java deleted file mode 100644 index 5203673b2b1..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumer.java +++ /dev/null @@ -1,55 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.consumer; - -import no.nav.registre.testnorge.generersyntameldingservice.config.Consumers; -import no.nav.registre.testnorge.generersyntameldingservice.consumer.command.PostHentArbeidsforholdCommand; -import no.nav.registre.testnorge.generersyntameldingservice.consumer.command.PostHentHistorikkCommand; -import no.nav.registre.testnorge.generersyntameldingservice.domain.ArbeidsforholdType; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Arbeidsforhold; -import no.nav.testnav.libs.domain.dto.aareg.amelding.ArbeidsforholdPeriode; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.ExchangeStrategies; -import org.springframework.web.reactive.function.client.WebClient; - -import java.util.List; - -@Component -public class SyntAmeldingConsumer { - - private final WebClient webClient; - private final ServerProperties serverProperties; - private final TokenExchange tokenExchange; - - public SyntAmeldingConsumer(TokenExchange tokenExchange, - Consumers consumers, - WebClient.Builder webClientBuilder) { - - this.tokenExchange = tokenExchange; - serverProperties = consumers.getSyntAmelding(); - this.webClient = webClientBuilder - .exchangeStrategies( - ExchangeStrategies - .builder() - .codecs(configurer -> configurer - .defaultCodecs() - .maxInMemorySize(16 * 1024 * 1024)) - .build()) - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public Arbeidsforhold getEnkeltArbeidsforhold(ArbeidsforholdPeriode periode, ArbeidsforholdType arbeidsforholdType) { - return tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new PostHentArbeidsforholdCommand( - webClient, periode, arbeidsforholdType.getPath(), accessToken.getTokenValue()).call()) - .block(); - } - - public List getHistorikk(Arbeidsforhold arbeidsforhold) { - return tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new PostHentHistorikkCommand( - webClient, arbeidsforhold, accessToken.getTokenValue()).call()) - .block(); - } -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentArbeidsforholdCommand.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentArbeidsforholdCommand.java deleted file mode 100644 index e7020c29442..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentArbeidsforholdCommand.java +++ /dev/null @@ -1,46 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.generersyntameldingservice.util.WebClientFilter; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Arbeidsforhold; -import no.nav.testnav.libs.domain.dto.aareg.amelding.ArbeidsforholdPeriode; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class PostHentArbeidsforholdCommand implements Callable> { - - private final WebClient webClient; - private final ArbeidsforholdPeriode periode; - private final String arbeidsforholdType; - private final String token; - - @Override - public Mono call() { - var body = BodyInserters.fromPublisher(Mono.just(periode), ArbeidsforholdPeriode.class); - - return webClient.post() - .uri(builder -> builder - .path("/api/v1/arbeidsforhold/start/{arbeidsforholdType}") - .queryParam("avvik", "false") - .build(arbeidsforholdType)) - .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .body(body) - .retrieve() - .bodyToMono(Arbeidsforhold.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .doOnError(WebClientFilter::logErrorMessage); - } - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentHistorikkCommand.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentHistorikkCommand.java deleted file mode 100644 index 87df89d7e62..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentHistorikkCommand.java +++ /dev/null @@ -1,46 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.generersyntameldingservice.util.WebClientFilter; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Arbeidsforhold; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.List; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class PostHentHistorikkCommand implements Callable>> { - - private final WebClient webClient; - private final Arbeidsforhold arbeidsforhold; - private final String token; - - @Override - public Mono> call() { - var body = BodyInserters.fromPublisher(Mono.just(arbeidsforhold), Arbeidsforhold.class); - - return webClient.post() - .uri(builder -> builder - .path("/api/v1/arbeidsforhold") - .queryParam("avvik", "false") - .queryParam("sluttdato", "false") - .build()) - .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .body(body) - .retrieve() - .bodyToFlux(Arbeidsforhold.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .collectList() - .doOnError(WebClientFilter::logErrorMessage); - } -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/domain/ArbeidsforholdType.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/domain/ArbeidsforholdType.java deleted file mode 100644 index 9477bb0fa31..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/domain/ArbeidsforholdType.java +++ /dev/null @@ -1,14 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.domain; - -import lombok.Getter; -import lombok.RequiredArgsConstructor; - -@Getter -@RequiredArgsConstructor -public enum ArbeidsforholdType { - - maritimtArbeidsforhold("maritimt"), - ordinaertArbeidsforhold("ordinaert"); - - private final String path; -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/SyntController.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/SyntController.java deleted file mode 100644 index fd90e68f1f1..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/SyntController.java +++ /dev/null @@ -1,41 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.provider; - -import java.time.LocalDate; -import java.util.List; - -import lombok.RequiredArgsConstructor; - -import no.nav.registre.testnorge.generersyntameldingservice.domain.ArbeidsforholdType; -import no.nav.registre.testnorge.generersyntameldingservice.provider.response.ArbeidsforholdDTO; -import no.nav.registre.testnorge.generersyntameldingservice.service.SyntAmeldingService; - -import org.springframework.format.annotation.DateTimeFormat; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequestMapping("/api/v1/generer") -@RequiredArgsConstructor -public class SyntController { - - private final SyntAmeldingService syntAmeldingService; - - @GetMapping("/ordinaert") - public List generateSyntheticAmeldingerOrdinaert( - @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate startdato, - @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate sluttdato - ) { - return syntAmeldingService.generateAmeldinger(startdato, sluttdato, ArbeidsforholdType.ordinaertArbeidsforhold); - } - - @GetMapping("/maritimt") - public List generateSyntheticAmeldingerMaritimt( - @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate startdato, - @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate sluttdato - ) { - return syntAmeldingService.generateAmeldinger(startdato, sluttdato, ArbeidsforholdType.maritimtArbeidsforhold); - } - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/response/ArbeidsforholdDTO.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/response/ArbeidsforholdDTO.java deleted file mode 100644 index 339536e3c4e..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/response/ArbeidsforholdDTO.java +++ /dev/null @@ -1,49 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.provider.response; - -import java.time.LocalDate; -import java.util.Collections; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Arbeidsforhold; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Fartoey; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Inntekt; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Permisjon; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdDTO { - - private String rapporteringsmaaned; - private String arbeidsforholdType; - private LocalDate startdato; - private float antallTimerPerUkeSomEnFullStillingTilsvarer; - private String yrke; - private String arbeidstidsordning; - private float stillingsprosent; - private LocalDate sisteLoennsendringsdato; - private LocalDate sisteDatoForStillingsprosentendring; - private List permisjoner; - private Fartoey fartoey; - private List inntekter; - - public ArbeidsforholdDTO(Arbeidsforhold arbeidsforhold){ - this.rapporteringsmaaned = arbeidsforhold.getRapporteringsmaaned(); - this.arbeidsforholdType = arbeidsforhold.getArbeidsforholdType(); - this.startdato = LocalDate.parse(arbeidsforhold.getStartdato()); - this.antallTimerPerUkeSomEnFullStillingTilsvarer = arbeidsforhold.getAntallTimerPerUkeSomEnFullStillingTilsvarer(); - this.yrke = arbeidsforhold.getYrke(); - this.arbeidstidsordning = arbeidsforhold.getArbeidstidsordning(); - this.stillingsprosent = arbeidsforhold.getStillingsprosent(); - this.sisteLoennsendringsdato = LocalDate.parse(arbeidsforhold.getSisteLoennsendringsdato()); - this.sisteDatoForStillingsprosentendring = LocalDate.parse(arbeidsforhold.getSisteDatoForStillingsprosentendring()); - this.permisjoner = arbeidsforhold.getPermisjoner() == null ? Collections.emptyList() : arbeidsforhold.getPermisjoner(); - this.fartoey = arbeidsforhold.getFartoey(); - this.inntekter = arbeidsforhold.getInntekter() == null ? Collections.emptyList() : arbeidsforhold.getInntekter(); - } - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingService.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingService.java deleted file mode 100644 index 48e8c52fdda..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingService.java +++ /dev/null @@ -1,65 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.service; - -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.util.Collections; -import java.util.List; - -import no.nav.registre.testnorge.generersyntameldingservice.consumer.SyntAmeldingConsumer; -import no.nav.registre.testnorge.generersyntameldingservice.domain.ArbeidsforholdType; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Service; -import org.springframework.web.server.ResponseStatusException; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.domain.dto.aareg.amelding.ArbeidsforholdPeriode; -import no.nav.registre.testnorge.generersyntameldingservice.provider.response.ArbeidsforholdDTO; - -@Slf4j -@Service -@RequiredArgsConstructor -public class SyntAmeldingService { - - private final SyntAmeldingConsumer syntAmeldingConsumer; - - public List generateAmeldinger( - LocalDate startdato, - LocalDate sluttdato, - ArbeidsforholdType arbeidsforholdType - ) { - var antallMeldinger = getAntallMeldinger(startdato, sluttdato); - - var initialAmelding = syntAmeldingConsumer.getEnkeltArbeidsforhold( - ArbeidsforholdPeriode.builder() - .startdato(startdato) - .build(), - arbeidsforholdType); - initialAmelding.setRapporteringsmaaned(startdato.format(DateTimeFormatter.ofPattern("yyyy-MM"))); - - if (antallMeldinger > 1) { - initialAmelding.emptyPermisjoner(); - initialAmelding.setNumEndringer(antallMeldinger - 1); - - var response = syntAmeldingConsumer.getHistorikk(initialAmelding); - response.add(0, initialAmelding); - return response.stream().map(ArbeidsforholdDTO::new).toList(); - } - - return Collections.singletonList(new ArbeidsforholdDTO(initialAmelding)); - } - - int getAntallMeldinger(LocalDate startdato, LocalDate sluttdato) { - if (sluttdato.isBefore(startdato)) { - throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "Sluttdato kan ikke være før startdato."); - } - var antallMeldinger = 0; - var lastDayInEnddateMonth = sluttdato.withDayOfMonth(sluttdato.withDayOfMonth(1).lengthOfMonth()); - while (startdato.isBefore(lastDayInEnddateMonth.plusDays(1))) { - antallMeldinger += 1; - startdato = startdato.plusMonths(1); - } - return antallMeldinger; - } - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/util/WebClientFilter.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/util/WebClientFilter.java deleted file mode 100644 index eb226aac5e9..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/util/WebClientFilter.java +++ /dev/null @@ -1,28 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.util; - -import lombok.experimental.UtilityClass; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.reactive.function.client.WebClientResponseException; - -import java.nio.charset.StandardCharsets; - -@Slf4j -@UtilityClass -public class WebClientFilter { - - public static boolean is5xxException(Throwable throwable) { - - return throwable instanceof WebClientResponseException wce && - wce.getStatusCode().is5xxServerError(); - } - - public static String getMessage(Throwable throwable) { - return throwable instanceof WebClientResponseException webClientResponseException ? - webClientResponseException.getResponseBodyAsString(StandardCharsets.UTF_8) : - throwable.getMessage(); - } - - public static void logErrorMessage(Throwable throwable) { - log.error(getMessage(throwable), throwable); - } -} diff --git a/apps/generer-synt-amelding-service/src/main/resources/application-local.yml b/apps/generer-synt-amelding-service/src/main/resources/application-local.yml deleted file mode 100644 index cfb3ace7ac1..00000000000 --- a/apps/generer-synt-amelding-service/src/main/resources/application-local.yml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - config: - import: "sm://" \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/src/main/resources/application.yml b/apps/generer-synt-amelding-service/src/main/resources/application.yml deleted file mode 100644 index 6aa2ab8a877..00000000000 --- a/apps/generer-synt-amelding-service/src/main/resources/application.yml +++ /dev/null @@ -1,24 +0,0 @@ -spring: - application: - name: testnav-generer-synt-amelding-service - description: App for å generere syntetiske ameldinger. - cluster: dev-gcp - namespace: dolly - config: - import: "classpath:dolly-application.yml" - security: - oauth2: - resourceserver: - aad: - issuer-uri: ${AZURE_OPENID_CONFIG_ISSUER} - accepted-audience: ${AZURE_APP_CLIENT_ID}, api:// ${AZURE_APP_CLIENT_ID} - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - accepted-audience: ${TOKEN_X_CLIENT_ID} - -consumers: - synt-amelding: - url: https://synthdata-amelding.dev.intern.nav.no - cluster: dev-gcp - namespace: dolly - name: synthdata-amelding diff --git a/apps/generer-synt-amelding-service/src/main/resources/logback-spring.xml b/apps/generer-synt-amelding-service/src/main/resources/logback-spring.xml deleted file mode 100644 index 7185afb4ac0..00000000000 --- a/apps/generer-synt-amelding-service/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - true - - 10280 - 20 - ^sun\.reflect\..*\.invoke - ^net\.sf\.cglib\.proxy\.MethodProxy\.invoke - java\.util\.concurrent\..* - org\.apache\.catalina\..* - org\.apache\.coyote\..* - org\.apache\.tomcat\..* - - - - - - - - - - - - - %d{HH:mm:ss.SSS} | %5p | %logger{25} | %m%n - - utf8 - - - - - - - - - \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/ResourceUtils.java b/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/ResourceUtils.java deleted file mode 100644 index 5f8263cd866..00000000000 --- a/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/ResourceUtils.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice; - -import wiremock.com.google.common.io.Resources; - -import java.io.IOException; -import java.nio.charset.StandardCharsets; - -public class ResourceUtils { - - public static String getResourceFileContent(String path) { - var fileUrl = Resources.getResource(path); - try { - return Resources.toString(fileUrl, StandardCharsets.UTF_8); - } catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumerTest.java b/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumerTest.java deleted file mode 100644 index a947d6853f4..00000000000 --- a/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumerTest.java +++ /dev/null @@ -1,84 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.consumer; - -import no.nav.registre.testnorge.generersyntameldingservice.domain.ArbeidsforholdType; -import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Arbeidsforhold; -import no.nav.testnav.libs.domain.dto.aareg.amelding.ArbeidsforholdPeriode; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.registre.testnorge.generersyntameldingservice.ResourceUtils.getResourceFileContent; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class SyntAmeldingConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenExchange; - - @Autowired - private SyntAmeldingConsumer syntAmeldingConsumer; - - @BeforeEach - public void setup() { - when(tokenExchange.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - } - - @Test - void shouldGetEnkeltArbeidsforhold() { - stubPostArbeidsforhold(); - - var startdato = LocalDate.of(2020, 1, 1); - - var response = syntAmeldingConsumer.getEnkeltArbeidsforhold( - ArbeidsforholdPeriode.builder() - .startdato(startdato) - .build(), - ArbeidsforholdType.ordinaertArbeidsforhold); - - assertThat(response.getArbeidsforholdType()).isEqualTo(ArbeidsforholdType.ordinaertArbeidsforhold.toString()); - assertThat(response.getStartdato()).isEqualTo("2020-01-01"); - } - - private void stubPostArbeidsforhold() { - stubFor(post(urlPathMatching("(.*)/synt/api/v1/arbeidsforhold/start/ordinaert")) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(getResourceFileContent("files/synt_arbeidsforhold.json")) - ) - ); - } - - @Test - void shouldGetArbeidsforholdHistorikk() { - stubPostHistorikk(); - - var response = syntAmeldingConsumer.getHistorikk(Arbeidsforhold.builder().build()); - - assertThat(response).hasSize(6); - } - - private void stubPostHistorikk() { - stubFor(post(urlPathMatching("(.*)/synt/api/v1/arbeidsforhold")) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(getResourceFileContent("files/synt_historikk.json")) - ) - ); - } - -} diff --git a/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingServiceTest.java b/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingServiceTest.java deleted file mode 100644 index a7615a7af5f..00000000000 --- a/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingServiceTest.java +++ /dev/null @@ -1,94 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.service; - -import static no.nav.registre.testnorge.generersyntameldingservice.ResourceUtils.getResourceFileContent; -import static org.assertj.core.api.Assertions.assertThat; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; -import no.nav.registre.testnorge.generersyntameldingservice.consumer.SyntAmeldingConsumer; -import no.nav.registre.testnorge.generersyntameldingservice.domain.ArbeidsforholdType; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Arbeidsforhold; -import no.nav.testnav.libs.domain.dto.aareg.amelding.ArbeidsforholdPeriode; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.junit.jupiter.MockitoExtension; -import org.springframework.web.server.ResponseStatusException; - -import java.time.LocalDate; -import java.util.List; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.when; - -@ExtendWith(MockitoExtension.class) -class SyntAmeldingServiceTest { - - @Mock - private SyntAmeldingConsumer syntAmeldingConsumer; - - @InjectMocks - private SyntAmeldingService service; - - private ObjectMapper objectMapper = new ObjectMapper(); - - private TypeReference> HISTORIKK_RESPONSE = new TypeReference<>() { - }; - - @Test - void shouldGetCorrectAntallMeldinger() { - assertThat(service.getAntallMeldinger(LocalDate.of(2020, 1, 1), LocalDate.of(2020, 1, 7))).isEqualTo(1); - assertThat(service.getAntallMeldinger(LocalDate.of(2020, 1, 1), LocalDate.of(2021, 1, 1))).isEqualTo(13); - assertThat(service.getAntallMeldinger(LocalDate.of(2020, 1, 1), LocalDate.of(2020, 10, 15))).isEqualTo(10); - assertThat(service.getAntallMeldinger(LocalDate.of(2020, 1, 1), LocalDate.of(2021, 7, 23))).isEqualTo(19); - assertThat(service.getAntallMeldinger(LocalDate.of(2020, 1, 3), LocalDate.of(2020, 3, 1))).isEqualTo(3); - assertThat(service.getAntallMeldinger(LocalDate.of(2020, 1, 1), LocalDate.of(2020, 1, 1))).isEqualTo(1); - } - - @Test - void shouldThrowExceptionWithIncorrectDates() { - var startDato = LocalDate.of(2020, 3, 1); - var sluttDato = LocalDate.of(2020, 2, 1); - Assertions.assertThrows( - ResponseStatusException.class, - () -> service.getAntallMeldinger(startDato, sluttDato) - ); - } - - @Test - void shouldGenerateSingleAmelding() throws JsonProcessingException { - var startDato = LocalDate.of(2020, 1, 1); - var sluttDato = LocalDate.of(2020, 1, 20); - - var arbeidsforholdString = getResourceFileContent("files/synt_arbeidsforhold.json"); - var arbeidsforhold = objectMapper.readValue(arbeidsforholdString, Arbeidsforhold.class); - - when(syntAmeldingConsumer.getEnkeltArbeidsforhold(any(ArbeidsforholdPeriode.class), any(ArbeidsforholdType.class))).thenReturn(arbeidsforhold); - - var response = service.generateAmeldinger(startDato, sluttDato, ArbeidsforholdType.ordinaertArbeidsforhold); - - assertThat(response).hasSize(1); - } - - @Test - void shouldGenerateMultipleAmelding() throws JsonProcessingException { - var startDato = LocalDate.of(2020, 1, 1); - var sluttDato = LocalDate.of(2020, 7, 20); - - var arbeidsforholdString = getResourceFileContent("files/synt_arbeidsforhold.json"); - var arbeidsforhold = objectMapper.readValue(arbeidsforholdString, Arbeidsforhold.class); - - var historikkString = getResourceFileContent("files/synt_historikk.json"); - var historikk = objectMapper.readValue(historikkString, HISTORIKK_RESPONSE); - - when(syntAmeldingConsumer.getEnkeltArbeidsforhold(any(ArbeidsforholdPeriode.class), any(ArbeidsforholdType.class))).thenReturn(arbeidsforhold); - when(syntAmeldingConsumer.getHistorikk(arbeidsforhold)).thenReturn(historikk); - - var response = service.generateAmeldinger(startDato, sluttDato, ArbeidsforholdType.ordinaertArbeidsforhold); - - assertThat(response).hasSize(7); - } -} diff --git a/apps/generer-synt-amelding-service/src/test/resources/application-test.yml b/apps/generer-synt-amelding-service/src/test/resources/application-test.yml deleted file mode 100644 index 9aa5548ff75..00000000000 --- a/apps/generer-synt-amelding-service/src/test/resources/application-test.yml +++ /dev/null @@ -1,6 +0,0 @@ -consumers: - synt-amelding: - url: http://localhost:${wiremock.server.port:0}/synt - cluster: dev-gcp - namespace: dolly - name: synthdata-amelding diff --git a/apps/generer-synt-amelding-service/src/test/resources/files/synt_arbeidsforhold.json b/apps/generer-synt-amelding-service/src/test/resources/files/synt_arbeidsforhold.json deleted file mode 100644 index 4e661d86e39..00000000000 --- a/apps/generer-synt-amelding-service/src/test/resources/files/synt_arbeidsforhold.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2020-01-01", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103" -} \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/src/test/resources/files/synt_historikk.json b/apps/generer-synt-amelding-service/src/test/resources/files/synt_historikk.json deleted file mode 100644 index 3cf851762ec..00000000000 --- a/apps/generer-synt-amelding-service/src/test/resources/files/synt_historikk.json +++ /dev/null @@ -1,110 +0,0 @@ -[ - { - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "INNTEKTER": [], - "PERMISJONER": [], - "RAPPORTERINGSMAANED": "2020-02", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2020-02-01", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103", - "historikk": "񀀀" - }, - { - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "INNTEKTER": [], - "PERMISJONER": [], - "RAPPORTERINGSMAANED": "2020-03", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2020-02-01", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103", - "historikk": "񀀀񀀀" - }, - { - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "INNTEKTER": [], - "PERMISJONER": [], - "RAPPORTERINGSMAANED": "2020-04", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2020-02-01", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103", - "historikk": "񀀀񀀀񀀀" - }, - { - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "INNTEKTER": [], - "PERMISJONER": [], - "RAPPORTERINGSMAANED": "2020-05", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2020-02-01", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103", - "historikk": "񀀀񀀀񀀀񀀀" - }, - { - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "INNTEKTER": [], - "PERMISJONER": [], - "RAPPORTERINGSMAANED": "2020-06", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2020-02-01", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103", - "historikk": "񀀀񀀀񀀀񀀀񀀀" - }, - { - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "INNTEKTER": [], - "PERMISJONER": [], - "RAPPORTERINGSMAANED": "2020-07", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2021-08-31", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103", - "historikk": "񀀀񀀀񀀀񀀀񀀀񀠀" - } -] \ No newline at end of file diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/testnav/inntektsmeldinggeneratorservice/InntektsmeldingGeneratorApplicationStarter.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/testnav/inntektsmeldinggeneratorservice/InntektsmeldingGeneratorApplicationStarter.java index 0090e75ff20..02371d8b5a0 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/testnav/inntektsmeldinggeneratorservice/InntektsmeldingGeneratorApplicationStarter.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/testnav/inntektsmeldinggeneratorservice/InntektsmeldingGeneratorApplicationStarter.java @@ -13,4 +13,4 @@ public static void main(String[] args) { .initializers(new NaisEnvironmentApplicationContextInitializer()) .run(args); } -} \ No newline at end of file +} diff --git a/apps/joark-dokument-service/build.gradle b/apps/joark-dokument-service/build.gradle index 790106881d9..a15a2e0d539 100644 --- a/apps/joark-dokument-service/build.gradle +++ b/apps/joark-dokument-service/build.gradle @@ -10,7 +10,6 @@ sonarqube { } dependencies { - implementation "no.nav.testnav.libs:domain" implementation "no.nav.testnav.libs:reactive-core" implementation "no.nav.testnav.libs:security-core" implementation "no.nav.testnav.libs:servlet-core" diff --git a/apps/joark-dokument-service/settings.gradle b/apps/joark-dokument-service/settings.gradle index 669211186a4..ac534f4a925 100644 --- a/apps/joark-dokument-service/settings.gradle +++ b/apps/joark-dokument-service/settings.gradle @@ -7,7 +7,6 @@ rootProject.name = "joark-dokument-service" includeBuild "../../plugins/java" includeBuild "../../libs/data-transfer-objects" -includeBuild "../../libs/domain" includeBuild "../../libs/reactive-core" includeBuild "../../libs/security-core" includeBuild "../../libs/servlet-core" diff --git a/apps/oppsummeringsdokument-service/Dockerfile b/apps/oppsummeringsdokument-service/Dockerfile deleted file mode 100644 index 4a36f93546f..00000000000 --- a/apps/oppsummeringsdokument-service/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM ghcr.io/navikt/baseimages/temurin:21 -LABEL maintainer="Team Dolly" - -ENV JAVA_OPTS="-Dspring.profiles.active=prod" - -ADD /build/libs/app.jar /app/app.jar - -EXPOSE 8080 diff --git a/apps/oppsummeringsdokument-service/README.md b/apps/oppsummeringsdokument-service/README.md deleted file mode 100644 index 6d45eacb10f..00000000000 --- a/apps/oppsummeringsdokument-service/README.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: default -title: Service -parent: Oppsummeringsdokument -grand_parent: Applikasjoner ---- - -# Oppsummeringsdokument -API for å sende inn oppsummeringsdokumenter til AAreg, og søke i de innsendte dokumentene. - -## Lokal kjøring -* [Generelt.](../../docs/local_general.md) -* [OpenSearch.](../../docs/local_opensearch.md) - -Liste over alle indekser: - -http://localhost:9200/_cat/indices?v - -`curl` for å søke lokalt: - -``` -> curl -X GET "localhost:9200/oppsummeringsdokument-8/_search?pretty" -H 'Content-Type: application/json' -d' -{ -"query": { -"match": {"miljo": "q1"} -} -} -' -``` \ No newline at end of file diff --git a/apps/oppsummeringsdokument-service/build.gradle b/apps/oppsummeringsdokument-service/build.gradle deleted file mode 100644 index 53d2b548a79..00000000000 --- a/apps/oppsummeringsdokument-service/build.gradle +++ /dev/null @@ -1,39 +0,0 @@ -plugins { - id "dolly-apps" -} - -sonarqube { - properties { - property "sonar.projectKey", "oppsummeringsdokument-service" - property "sonar.projectName", "oppsummeringsdokument-service" - } -} - -dependencies { - implementation "jakarta.xml.bind:jakarta.xml.bind-api:$versions.jakartaXmlBindApi" - implementation "javax.activation:activation:$versions.javaxActivation" - implementation "org.glassfish.jaxb:jaxb-runtime:$versions.jaxb" - - implementation "no.nav.testnav.libs:data-transfer-objects" - implementation "no.nav.testnav.libs:security-core" - implementation "no.nav.testnav.libs:servlet-core" - implementation "no.nav.testnav.libs:servlet-security" - implementation "no.nav.testnav.xsd:arbeidsforhold-xsd" - - implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-xml" - - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-oauth2-client" - - implementation "org.opensearch.client:spring-data-opensearch:$versions.opensearch" - implementation "org.springframework.boot:spring-boot-starter-data-elasticsearch" - implementation "com.fasterxml.jackson.core:jackson-core:$versions.jackson" - - implementation "org.springframework.kafka:spring-kafka" - implementation "org.apache.kafka:kafka-clients:$versions.apacheKafka" - - implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:$versions.springdoc" - implementation "io.swagger.core.v3:swagger-annotations-jakarta:$versions.swagger" - - testImplementation "org.springframework.cloud:spring-cloud-contract-wiremock" -} diff --git a/apps/oppsummeringsdokument-service/config.yml b/apps/oppsummeringsdokument-service/config.yml deleted file mode 100644 index f7322fdfded..00000000000 --- a/apps/oppsummeringsdokument-service/config.yml +++ /dev/null @@ -1,70 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: testnav-oppsummeringsdokument-service - namespace: dolly - annotations: - nginx.ingress.kubernetes.io/proxy-read-timeout: "1200" - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - accessPolicy: - inbound: - rules: - - application: dolly-frontend - - application: dolly-frontend-dev - - application: dolly-frontend-dev-unstable - - application: dolly-idporten - - application: team-dolly-lokal-app - - application: testnav-amelding-service - - application: testnav-generer-arbeidsforhold-populasjon-service - - application: testnav-oversikt-frontend - outbound: - external: - - host: aareg-synt-services-proxy.dev-fss-pub.nais.io - - host: opensearch-dolly-testdata-gjeter-nav-dev.aivencloud.com - openSearch: - instance: testdata-gjeter - access: admin - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - liveness: - path: /internal/health/liveness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/health/readiness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - prometheus: - enabled: true - path: /internal/metrics - replicas: - min: 1 - max: 1 - resources: - requests: - cpu: 300m - memory: 1024Mi - limits: - memory: 2048Mi - envFrom: - - secret: teamdolly-opensearch - ingresses: - - "https://testnav-oppsummeringsdokument-service.intern.dev.nav.no" \ No newline at end of file diff --git a/apps/oppsummeringsdokument-service/docker-compose.yml b/apps/oppsummeringsdokument-service/docker-compose.yml deleted file mode 100644 index 70976e5ec07..00000000000 --- a/apps/oppsummeringsdokument-service/docker-compose.yml +++ /dev/null @@ -1,11 +0,0 @@ -services: - - opensearch: - image: opensearchproject/opensearch:latest - ports: - - "9200:9200" - - "9600:9600" - environment: - discovery.type: single-node - plugins.security.disabled: "true" - OPENSEARCH_INITIAL_ADMIN_PASSWORD: YLAgOm}rz#o6#Aq \ No newline at end of file diff --git a/apps/oppsummeringsdokument-service/gradle/wrapper/gradle-wrapper.jar b/apps/oppsummeringsdokument-service/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL diff --git a/apps/oppsummeringsdokument-service/gradle/wrapper/gradle-wrapper.properties b/apps/oppsummeringsdokument-service/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 48c0a02ca41..00000000000 --- a/apps/oppsummeringsdokument-service/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/apps/oppsummeringsdokument-service/gradlew b/apps/oppsummeringsdokument-service/gradlew deleted file mode 100755 index 3da45c161b0..00000000000 --- a/apps/oppsummeringsdokument-service/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright ? 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions ?$var?, ?${var}?, ?${var:-default}?, ?${var+SET}?, -# ?${var#prefix}?, ?${var%suffix}?, and ?$( cmd )?; -# * compound commands having a testable exit status, especially ?case?; -# * various built-in commands including ?command?, ?set?, and ?ulimit?. -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/apps/oppsummeringsdokument-service/gradlew.bat b/apps/oppsummeringsdokument-service/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/apps/oppsummeringsdokument-service/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/apps/oppsummeringsdokument-service/gradlewUpdate.sh b/apps/oppsummeringsdokument-service/gradlewUpdate.sh deleted file mode 100755 index e5ee6361152..00000000000 --- a/apps/oppsummeringsdokument-service/gradlewUpdate.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -gradle wrapper \ No newline at end of file diff --git a/apps/oppsummeringsdokument-service/settings.gradle b/apps/oppsummeringsdokument-service/settings.gradle deleted file mode 100644 index 0dc3c53390e..00000000000 --- a/apps/oppsummeringsdokument-service/settings.gradle +++ /dev/null @@ -1,21 +0,0 @@ -plugins { - id "com.gradle.develocity" version "3.19" -} - -rootProject.name = "oppsummeringsdokument-service" - -includeBuild "../../plugins/java" - -includeBuild "../../libs/data-transfer-objects" -includeBuild "../../libs/security-core" -includeBuild "../../libs/servlet-core" -includeBuild "../../libs/servlet-security" -includeBuild "../../xsd/arbeidsforhold-xsd" -includeBuild "../../libs/testing" - -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/terms-of-service" - termsOfUseAgree = "yes" - } -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/OppsummeringsdokumentServiceApplicationStarter.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/OppsummeringsdokumentServiceApplicationStarter.java deleted file mode 100644 index 8d5f796e9f8..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/OppsummeringsdokumentServiceApplicationStarter.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice; - -import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration; -import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; - -@EnableWebSecurity -@SpringBootApplication(exclude = {ElasticsearchDataAutoConfiguration.class, ElasticsearchRestClientAutoConfiguration.class}) -public class OppsummeringsdokumentServiceApplicationStarter { - public static void main(String[] args) { - new SpringApplicationBuilder(OppsummeringsdokumentServiceApplicationStarter.class) - .initializers(new NaisEnvironmentApplicationContextInitializer()) - .run(args); - } -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/ApplicationConfig.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/ApplicationConfig.java deleted file mode 100644 index edf10c81daf..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/ApplicationConfig.java +++ /dev/null @@ -1,15 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.config; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -import no.nav.testnav.libs.servletcore.config.ApplicationCoreConfig; - -@Slf4j -@Configuration -@Import({ApplicationCoreConfig.class}) -@RequiredArgsConstructor -public class ApplicationConfig { -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/Consumers.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/Consumers.java deleted file mode 100644 index 5692ee22c85..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/Consumers.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.config; - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import static lombok.AccessLevel.PACKAGE; - -/** - * Samler alle placeholders for ulike {@code consumers.*}-konfigurasjon her, dvs. subklasser av {@code ServerProperties}. - *

- * Husk at Spring Boot bruker
relaxed binding - * mellom configuration properties og field names. - * - * @see ServerProperties - */ -@Configuration -@ConfigurationProperties(prefix = "consumers") -@NoArgsConstructor(access = PACKAGE) -@Getter -@Setter(PACKAGE) -public class Consumers { - - private ServerProperties aaregSyntServices; - -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/JsonMapperConfig.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/JsonMapperConfig.java deleted file mode 100644 index 63a54307116..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/JsonMapperConfig.java +++ /dev/null @@ -1,135 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.config; - -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.MapperFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.databind.json.JsonMapper; -import com.fasterxml.jackson.databind.module.SimpleModule; -import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; -import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; -import com.fasterxml.jackson.datatype.jsr310.ser.YearMonthSerializer; -import com.fasterxml.jackson.datatype.jsr310.ser.ZonedDateTimeSerializer; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.io.IOException; -import java.time.Instant; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.YearMonth; -import java.time.ZonedDateTime; -import java.time.format.DateTimeFormatter; - -import static org.apache.commons.lang3.StringUtils.isBlank; - -@Configuration -public class JsonMapperConfig { - - private static final String YEAR_MONTH = "yyyy-MM"; - - @Bean - public ObjectMapper objectMapper() { - - var simpleModule = new SimpleModule() - .addDeserializer(LocalDateTime.class, new DollyLocalDateTimeDeserializer()) - .addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ISO_DATE_TIME)) - .addDeserializer(LocalDate.class, new DollyLocalDateDeserializer()) - .addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ISO_DATE)) - .addDeserializer(YearMonth.class, new DollyYearMonthDeserializer()) - .addSerializer(YearMonth.class, new YearMonthSerializer(DateTimeFormatter.ofPattern(YEAR_MONTH))) - .addDeserializer(ZonedDateTime.class, new DollyZonedDateTimeDeserializer()) - .addSerializer(ZonedDateTime.class, new ZonedDateTimeSerializer(DateTimeFormatter.ISO_DATE_TIME)) - .addDeserializer(Instant.class, new DollyInstantDeserializer()); - return JsonMapper - .builder() - .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) - .configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true) - .configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true) - .enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS) - .disable(SerializationFeature.FAIL_ON_EMPTY_BEANS) - .build() - .findAndRegisterModules() - .registerModule(simpleModule); - - } - - private static class DollyYearMonthDeserializer extends JsonDeserializer { - - @Override - public YearMonth deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { - JsonNode node = jsonParser.getCodec().readTree(jsonParser); - if (isBlank(node.asText())) { - return null; - } - return YearMonth.parse(node.asText(), DateTimeFormatter.ofPattern(YEAR_MONTH)); - } - } - - private static class DollyZonedDateTimeDeserializer extends JsonDeserializer { - - @Override - public ZonedDateTime deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { - JsonNode node = jsonParser.getCodec().readTree(jsonParser); - if (isBlank(node.asText())) { - return null; - } - return ZonedDateTime.parse(node.asText(), DateTimeFormatter.ISO_DATE_TIME); - } - } - - private static class DollyLocalDateDeserializer extends JsonDeserializer { - - @Override - public LocalDate deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { - JsonNode node = jsonParser.getCodec().readTree(jsonParser); - if (isBlank(node.asText())) { - return null; - } - var dateTime = node.asText().length() > 10 ? node.asText().substring(0, 10) : node.asText(); - if (!dateTime.contains("-")) { - dateTime = "%s-%s-%s".formatted(dateTime.substring(0, 4), dateTime.substring(4, 6), dateTime.substring(6, 8)); - } - return LocalDate.parse(dateTime); - } - } - - private static class DollyLocalDateTimeDeserializer extends JsonDeserializer { - - @Override - public LocalDateTime deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { - JsonNode node = jsonParser.getCodec().readTree(jsonParser); - if (isBlank(node.asText())) { - return null; - } - var dateTime = node.asText().length() > 19 ? node.asText().substring(0, 19) : node.asText(); - return dateTime.length() > 10 ? LocalDateTime.parse(dateTime) : LocalDate.parse(dateTime).atStartOfDay(); - } - } - - private static class DollyInstantDeserializer extends JsonDeserializer { - - /** - * Input format 20210831T101647.269Z or 2021-08-31T10:16:47.269Z - * - */ - @Override - public Instant deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { - - JsonNode node = jsonParser.getCodec().readTree(jsonParser); - if (isBlank(node.asText())) { - return null; - } - var instant = node.asText(); - if (!instant.contains("-") && instant.length() > 15) { - instant = "%s-%s-%s:%s:%s".formatted(instant.substring(0, 4), instant.substring(4, 6), - instant.substring(6, 11), instant.substring(11, 13), instant.substring(13)); - } - return Instant.parse(instant); - } - } -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/OpenApiConfig.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/OpenApiConfig.java deleted file mode 100644 index bc1c6fcad07..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/OpenApiConfig.java +++ /dev/null @@ -1,56 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.config; - -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Contact; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.info.License; -import io.swagger.v3.oas.models.security.SecurityRequirement; -import io.swagger.v3.oas.models.security.SecurityScheme; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import java.util.Arrays; - -import no.nav.testnav.libs.servletcore.config.ApplicationProperties; - -@Configuration -public class OpenApiConfig implements WebMvcConfigurer { - - @Bean - public OpenAPI openApi(ApplicationProperties applicationProperties) { - return new OpenAPI() - .components(new Components().addSecuritySchemes("bearer-jwt", new SecurityScheme() - .type(SecurityScheme.Type.HTTP) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name("Authorization") - )) - .addSecurityItem( - new SecurityRequirement().addList("bearer-jwt", Arrays.asList("read", "write"))) - .info(new Info() - .title(applicationProperties.getName()) - .version(applicationProperties.getVersion()) - .description(applicationProperties.getDescription()) - .termsOfService("https://nav.no") - .contact(new Contact() - .url("https://nav-it.slack.com/archives/CA3P9NGA2") - .email("dolly@nav.no") - .name("Team Dolly") - ) - .license(new License() - .name("MIT License") - .url("https://opensource.org/licenses/MIT") - ) - ); - } - - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/swagger").setViewName("redirect:/swagger-ui.html"); - } - -} \ No newline at end of file diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/OpenSearchConfig.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/OpenSearchConfig.java deleted file mode 100644 index 5b23d339530..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/OpenSearchConfig.java +++ /dev/null @@ -1,39 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.config; - -import org.opensearch.client.RestHighLevelClient; -import org.opensearch.data.client.orhlc.AbstractOpenSearchConfiguration; -import org.opensearch.data.client.orhlc.ClientConfiguration; -import org.opensearch.data.client.orhlc.RestClients; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Profile; - -import java.time.Duration; - -@Profile("prod") -@Configuration -public class OpenSearchConfig extends AbstractOpenSearchConfiguration { - - @Value("${open.search.username}") - private String username; - - @Value("${open.search.password}") - private String password; - - @Value("${open.search.uri}") - private String uri; - - @Override - @SuppressWarnings("java:S2095") - public RestHighLevelClient opensearchClient() { - - return RestClients.create(ClientConfiguration.builder() - .connectedTo(uri.replace("https://", "")) - .usingSsl() - .withBasicAuth(username, password) - .withConnectTimeout(Duration.ofSeconds(10)) - .withSocketTimeout(Duration.ofSeconds(5)) - .build()) - .rest(); - } -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/OpenSearchLocalConfig.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/OpenSearchLocalConfig.java deleted file mode 100644 index b83369e9649..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/OpenSearchLocalConfig.java +++ /dev/null @@ -1,33 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.config; - -import lombok.extern.slf4j.Slf4j; -import org.opensearch.client.RestHighLevelClient; -import org.opensearch.data.client.orhlc.AbstractOpenSearchConfiguration; -import org.opensearch.data.client.orhlc.ClientConfiguration; -import org.opensearch.data.client.orhlc.RestClients; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Profile; - -import java.time.Duration; - -@Slf4j -@Configuration -@Profile("local") -public class OpenSearchLocalConfig extends AbstractOpenSearchConfiguration { - - @Value("${open.search.uri}") - private String uri; - - @Override - @SuppressWarnings("java:S2095") - public RestHighLevelClient opensearchClient() { - - return RestClients.create(ClientConfiguration.builder() - .connectedTo(uri.replace("http://", "")) - .withConnectTimeout(Duration.ofSeconds(10)) - .withSocketTimeout(Duration.ofSeconds(5)) - .build()) - .rest(); - } -} \ No newline at end of file diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/SecurityConfig.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/SecurityConfig.java deleted file mode 100644 index 5b8b81454ff..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/SecurityConfig.java +++ /dev/null @@ -1,26 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.config; - -import no.nav.dolly.libs.security.config.DollyHttpSecurity; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Profile; -import org.springframework.security.config.Customizer; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.web.SecurityFilterChain; - -@Configuration -@Profile({"prod", "local"}) -class SecurityConfig { - - @Bean - SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { - return httpSecurity.sessionManagement(sessionConfig -> sessionConfig.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) - .csrf(AbstractHttpConfigurer::disable) - .authorizeHttpRequests(DollyHttpSecurity.withDefaultHttpRequests()) - .oauth2ResourceServer(oauth2RSConfig -> oauth2RSConfig.jwt(Customizer.withDefaults())) - .build(); - } - -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/credentials/ElasticSearchCredentials.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/credentials/ElasticSearchCredentials.java deleted file mode 100644 index 58c68fb913a..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/config/credentials/ElasticSearchCredentials.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.config.credentials; - - -import lombok.Getter; -import lombok.Setter; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -@Getter -@Setter -@Configuration -@ConfigurationProperties(prefix = "spring.data.elasticsearch.client.reactive") -public class ElasticSearchCredentials { - private String endpoints; - private String username; - private String password; -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/consumer/AaregSyntConsumer.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/consumer/AaregSyntConsumer.java deleted file mode 100644 index 0116efe3d81..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/consumer/AaregSyntConsumer.java +++ /dev/null @@ -1,51 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.consumer; - -import io.swagger.v3.core.util.Json; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.oppsummeringsdokumentservice.config.Consumers; -import no.nav.testnav.apps.oppsummeringsdokumentservice.consumer.command.SaveOpplysningspliktigCommand; -import no.nav.testnav.apps.oppsummeringsdokumentservice.domain.Oppsummeringsdokument; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; - -import static java.util.Objects.isNull; - -@Slf4j -@Component -public class AaregSyntConsumer { - private final WebClient webClient; - private final TokenExchange tokenExchange; - private final ServerProperties serverProperties; - - public AaregSyntConsumer( - TokenExchange tokenExchange, - Consumers consumers, - WebClient.Builder webClientBuilder) { - - this.tokenExchange = tokenExchange; - serverProperties = consumers.getAaregSyntServices(); - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public void saveOpplysningspliktig(Oppsummeringsdokument oppsummeringsdokument, String miljo) { - log.info("Oppsummeringsdokument {} sendt til miljø: {}.", Json.pretty(oppsummeringsdokument), miljo); - new SaveOpplysningspliktigCommand( - webClient, - oppsummeringsdokument.toXml(), - getAccessToken(), - miljo.equals("t4") ? "u5" : miljo //TODO fix redirect from t4 to u5 - ).run(); - } - - private String getAccessToken() { - var token = tokenExchange.exchange(serverProperties).block(); - if (isNull(token)) { - throw new IllegalArgumentException("Klarte ikke å generere AccessToken for AaregSyntService"); - } - return "Bearer " + token.getTokenValue(); - } -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/consumer/command/SaveOpplysningspliktigCommand.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/consumer/command/SaveOpplysningspliktigCommand.java deleted file mode 100644 index a50fa9895da..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/consumer/command/SaveOpplysningspliktigCommand.java +++ /dev/null @@ -1,47 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.oppsummeringsdokumentservice.util.WebClientFilter; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; - -@Slf4j -@RequiredArgsConstructor -public class SaveOpplysningspliktigCommand implements Runnable { - private final WebClient webClient; - private final String xml; - private final String token; - private final String miljo; - - @SneakyThrows - @Override - public void run() { - try { - webClient - .post() - .uri(builder -> builder.path("/oppsummeringsdokument").queryParam("targetEnvironment", miljo).build()) - .body(BodyInserters.fromPublisher(Mono.just(xml), String.class)) - .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_XML_VALUE) - .header(HttpHeaders.AUTHORIZATION, token) - .retrieve() - .bodyToMono(Void.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .block(); - } catch ( - WebClientResponseException e) { - log.error("Feil ved lagring av oppsummeringsdokument: {}.", e.getResponseBodyAsString()); - log.error(xml); - throw e; - } - } -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/controller/OppsummeringsdokumentController.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/controller/OppsummeringsdokumentController.java deleted file mode 100644 index 6d5fd8e9bdf..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/controller/OppsummeringsdokumentController.java +++ /dev/null @@ -1,119 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.controller; - -import lombok.RequiredArgsConstructor; -import no.nav.testnav.apps.oppsummeringsdokumentservice.service.OppsummeringsdokumentService; -import no.nav.testnav.apps.oppsummeringsdokumentservice.domain.Oppsummeringsdokument; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.Populasjon; -import org.springframework.format.annotation.DateTimeFormat; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.servlet.support.ServletUriComponentsBuilder; - -import java.net.URI; -import java.time.LocalDate; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/v1/oppsummeringsdokumenter") -public class OppsummeringsdokumentController { - - private final OppsummeringsdokumentService adapter; - - @GetMapping - public List getAll( - @RequestHeader("miljo") String miljo, - @RequestParam("page") Integer page) { - - var documents = adapter.getAllCurrentDocumentsBy(miljo, page); - return documents.stream() - .map(Oppsummeringsdokument::toDTO) - .toList(); - } - - @GetMapping("/{id}") - public ResponseEntity get(@PathVariable("id") String id) { - - var oppsummeringsdokument = adapter.getCurrentDocumentsBy(id); - return oppsummeringsdokument.map(value -> ResponseEntity.ok(value.toDTO())) - .orElseGet(() -> ResponseEntity.notFound().build()); - } - - @GetMapping("/{orgnummer}/{kalendermaaned}") - public ResponseEntity getOpplysningspliktigFromKalendermaaned( - @PathVariable("orgnummer") String orgnummer, - @PathVariable("kalendermaaned") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate kalendermaaned, - @RequestHeader("miljo") String miljo) { - - var oppsummeringsdokument = adapter.getCurrentDocumentBy(kalendermaaned, orgnummer, miljo); - return oppsummeringsdokument.map(value -> ResponseEntity.ok().body(value.toDTO())) - .orElseGet(() -> ResponseEntity.notFound().build()); - } - - @PutMapping - public ResponseEntity save( - @RequestBody OppsummeringsdokumentDTO dto, - @RequestHeader("miljo") String miljo, - @RequestHeader("origin") String origin, - @RequestHeader(required = false) Populasjon populasjon - ) { - var previous = adapter.getCurrentDocumentBy(dto.getKalendermaaned(), dto.getOpplysningspliktigOrganisajonsnummer(), miljo); - - if (previous.isPresent() && previous.get().getVersion().equals(dto.getVersion())) { - - return ResponseEntity - .badRequest() - .body(String.format( - "Oppsummeringsdokument for %s den %s med version %s i %s finnes allerde. Bump versjonen.", - dto.getOpplysningspliktigOrganisajonsnummer(), - dto.getKalendermaaned(), - dto.getVersion(), - miljo - )); - } - - var opplysningspliktig = new Oppsummeringsdokument(dto, populasjon); - - var id = adapter.save(opplysningspliktig, miljo, origin); - URI uri = ServletUriComponentsBuilder - .fromCurrentRequest() - .path("/{id}") - .buildAndExpand(id) - .toUri(); - - return ResponseEntity.created(uri).header("ID", id).build(); - } - - @GetMapping("/identer/{ident}") - public List getIdent(@RequestHeader("miljo") String miljo, - @PathVariable("ident") String ident) { - - var documents = adapter.getAllCurrentDocumentsBy(miljo, ident); - return documents.stream() - .map(Oppsummeringsdokument::toDTO) - .toList(); - } - - @GetMapping("/identer") - public Set getIdenter( - @RequestHeader("miljo") String miljo, - @RequestHeader(required = false) Populasjon populasjon) { - - return adapter.getAllCurrentDocumentsBy(miljo) - .stream() - .flatMap(document -> document.getIdenter().stream()) - .collect(Collectors.toSet()); - } -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/controller/OppsummeringsdokumentetRawController.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/controller/OppsummeringsdokumentetRawController.java deleted file mode 100644 index b15caa1ecb7..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/controller/OppsummeringsdokumentetRawController.java +++ /dev/null @@ -1,68 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.controller; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.oppsummeringsdokumentservice.domain.QueryRequest; -import no.nav.testnav.apps.oppsummeringsdokumentservice.service.OppsummeringsdokumentService; -import org.springframework.format.annotation.DateTimeFormat; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.time.LocalDate; - -@Slf4j -@RestController -@RequestMapping("/api/v1/oppsummeringsdokumenter/raw/items") -@RequiredArgsConstructor -public class OppsummeringsdokumentetRawController { - private static final String NUMBER_OF_ELEMENTS_HEADER = "Number-Of-Elements"; - private static final String ELEMENT_ID_HEADER = "Element-Id"; - private final OppsummeringsdokumentService oppsummeringsdokumentService - ; - - @GetMapping(produces = MediaType.APPLICATION_XML_VALUE) - public ResponseEntity getAllOpplysningspliktig( - @RequestHeader("miljo") String miljo, - @RequestParam("page") Integer page, - @RequestParam(value = "ident", required = false) String ident, - @RequestParam(value = "typeArbeidsforhold", required = false) String typeArbeidsforhold, - @RequestParam(value = "fom", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate fom, - @RequestParam(value = "tom", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate tom) { - - var response = oppsummeringsdokumentService.getAllCurrentDocumentsBy(QueryRequest.builder() - .miljo(miljo) - .fom(fom) - .tom(tom) - .ident(ident) - .typeArbeidsforhold(typeArbeidsforhold) - .page(page) - .pageSize(1) - .build()); - - return response.getDokumenter().isEmpty() ? - ResponseEntity - .noContent() - .header(NUMBER_OF_ELEMENTS_HEADER, "0") - .build() : - - ResponseEntity.ok() - .header(NUMBER_OF_ELEMENTS_HEADER, String.valueOf(response.getResponse().getHits().getTotalHits())) - .header(ELEMENT_ID_HEADER, response.getDokumenter().getFirst().getId()) - .body(response.getDokumenter().getFirst().toXml()); - } - - @GetMapping(value = "/{id}", produces = MediaType.APPLICATION_XML_VALUE) - public ResponseEntity getItem(@PathVariable("id") String id) { - - var document = oppsummeringsdokumentService.getCurrentDocumentsBy(id); - - return document.map(value -> ResponseEntity.ok().body(value.toXml())) - .orElseGet(() -> ResponseEntity.notFound().build()); - } -} \ No newline at end of file diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/domain/Oppsummeringsdokument.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/domain/Oppsummeringsdokument.java deleted file mode 100644 index 643136a278d..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/domain/Oppsummeringsdokument.java +++ /dev/null @@ -1,431 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.domain; - -import jakarta.xml.bind.JAXBContext; -import jakarta.xml.bind.JAXBElement; -import jakarta.xml.bind.Marshaller; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Alvorlighetsgrad; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Arbeidsforhold; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Avvik; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.EDAGM; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Fartoey; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Inntekt; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Inntektsmottaker; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.JuridiskEntitet; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Kilde; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Leveranse; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Leveranseinformasjon; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Loennsinntekt; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.ObjectFactory; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Permisjon; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Spesifikasjon; -import no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Virksomhet; -import no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model.ArbeidsforholdModel; -import no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model.AvvikModel; -import no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model.FartoeyModel; -import no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model.InntektModel; -import no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model.OppsummeringsdokumentModel; -import no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model.PermisjonModel; -import no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model.PersonModel; -import no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model.VirksomhetModel; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.AvvikDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.FartoeyDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.InntektDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PermisjonDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PersonDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.Populasjon; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.VirksomhetDTO; - -import javax.xml.datatype.DatatypeFactory; -import javax.xml.datatype.XMLGregorianCalendar; -import java.io.StringWriter; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; -import java.util.Collection; -import java.util.Collections; -import java.util.GregorianCalendar; -import java.util.List; -import java.util.Optional; -import java.util.Set; -import java.util.UUID; -import java.util.function.Function; -import java.util.stream.Collectors; - -@Slf4j -public class Oppsummeringsdokument { - private final OppsummeringsdokumentDTO dto; - private final Populasjon populasjon; - private String id; - - public Oppsummeringsdokument(OppsummeringsdokumentDTO dto, Populasjon populasjon) { - this.dto = dto; - this.populasjon = populasjon; - } - - public Oppsummeringsdokument(OppsummeringsdokumentModel model) { - this.id = model.getId(); - this.populasjon = model.getPopulasjon(); - this.dto = OppsummeringsdokumentDTO - .builder() - .kalendermaaned(model.getKalendermaaned()) - .opplysningspliktigOrganisajonsnummer(model.getOpplysningspliktigOrganisajonsnummer()) - .version(model.getVersion()) - .virksomheter(model.getVirksomheter().stream().map(mapVirksomhetDTO()).collect(Collectors.toList())) - .build(); - } - - public String getId() { - return id; - } - - public String getOpplysningspliktigOrganisajonsnummer() { - return dto.getOpplysningspliktigOrganisajonsnummer(); - } - - public Long getVersion() { - return dto.getVersion(); - } - - public Set getIdenter() { - return dto.getVirksomheter() - .stream() - .flatMap(virksomhet -> virksomhet.getPersoner().stream().map(PersonDTO::getIdent)) - .collect(Collectors.toSet()); - } - - public OppsummeringsdokumentModel toModel(String miljo, String origin) { - var model = new OppsummeringsdokumentModel(); - model.setKalendermaaned(dto.getKalendermaaned()); - model.setMiljo(miljo); - model.setOpplysningspliktigOrganisajonsnummer(dto.getOpplysningspliktigOrganisajonsnummer()); - model.setVersion(dto.getVersion()); - model.setOrigin(origin); - model.setPopulasjon(populasjon); - model.setVirksomheter(dto.getVirksomheter().stream().map(mapVirksomhetModel()).collect(Collectors.toList())); - return model; - } - - public OppsummeringsdokumentDTO toDTO() { - return dto; - } - - @SneakyThrows - public String toXml() { - JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class); - ObjectFactory objectFactory = new ObjectFactory(); - JAXBElement melding = objectFactory.createMelding(toEDAGM()); - Marshaller jaxbMarshaller = jaxbContext.createMarshaller(); - jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); - StringWriter sw = new StringWriter(); - jaxbMarshaller.marshal(melding, sw); - return sw.toString(); - } - - @SneakyThrows - public EDAGM toEDAGM() { - List virksomheter = dto - .getVirksomheter() - .stream() - .map(value -> create(value, dto.getVersion())) - .toList(); - - - var opplysningspliktig = new no.nav.registre.testnorge.xsd.arbeidsforhold.v2_1.Opplysningspliktig(); - - opplysningspliktig.setNorskIdentifikator(dto.getOpplysningspliktigOrganisajonsnummer()); - - JuridiskEntitet juridiskEntitet = new JuridiskEntitet(); - juridiskEntitet.getVirksomhet().addAll(virksomheter); - - Leveranse leveranse = new Leveranse(); - leveranse.setKalendermaaned(toXMLGregorianCalendar(dto.getKalendermaaned())); - leveranse.setOpplysningspliktig(opplysningspliktig); - - Leveranseinformasjon leveranseinformasjon = new Leveranseinformasjon(); - leveranseinformasjon.setAltinnreferanse("Dummy"); - - ZonedDateTime zoneDateTime = ZonedDateTime.of(LocalDateTime.now(), ZoneId.systemDefault()); - GregorianCalendar gregorianCalendar = GregorianCalendar.from(zoneDateTime); - XMLGregorianCalendar xmlGregorianCalendar = DatatypeFactory - .newInstance() - .newXMLGregorianCalendar(gregorianCalendar); - - leveranseinformasjon.setInnleveringstidspunkt(xmlGregorianCalendar); - leveranseinformasjon.setMeldingsId(UUID.randomUUID().toString()); - leveranseinformasjon.setKildesystem("testnav-oppsummeringsdokument-service"); - leveranseinformasjon.setMeldingsId(UUID.randomUUID().toString()); - - leveranse.getLeveranseinformasjon().add(leveranseinformasjon); - Kilde value = new Kilde(); - value.setKildenavn("Team Dolly"); - value.setKildereferanse(UUID.randomUUID().toString()); - value.setKildeversjon(BigInteger.valueOf(dto.getVersion())); - leveranse.setKilde(value); - leveranse.setOppgave(juridiskEntitet); - - EDAGM edagm = new EDAGM(); - edagm.setLeveranse(leveranse); - - return edagm; - } - - private Function mapVirksomhetDTO() { - return value -> VirksomhetDTO - .builder() - .organisajonsnummer(value.getOrganisajonsnummer()) - .personer(value.getPersoner().stream().map(mapPersonDTO()).collect(Collectors.toList())) - .build(); - } - - private Function mapPersonDTO() { - return value -> PersonDTO - .builder() - .ident(value.getIdent()) - .arbeidsforhold(value.getArbeidsforhold().stream().map(mapArbeidsforholdDTO()).collect(Collectors.toList())) - .build(); - } - - private Function mapArbeidsforholdDTO() { - return value -> ArbeidsforholdDTO - .builder() - .arbeidsforholdId(value.getArbeidsforholdId()) - .typeArbeidsforhold(value.getTypeArbeidsforhold()) - .arbeidstidsordning(value.getArbeidstidsordning()) - .antallTimerPerUke(value.getAntallTimerPerUke()) - .sluttdato(value.getSluttdato()) - .startdato(value.getStartdato()) - .sisteLoennsendringsdato(value.getSisteLoennsendringsdato()) - .stillingsprosent(value.getStillingsprosent()) - .yrke(value.getYrke()) - .permisjoner(value.getPermisjoner().stream().map(mapPermisjonDTO()).collect(Collectors.toList())) - .historikk(value.getHistorikk()) - .fartoey(value.getFartoey() != null ? FartoeyDTO - .builder() - .skipstype(value.getFartoey().getSkipstype()) - .fartsomraade(value.getFartoey().getFartsomraade()) - .skipsregister(value.getFartoey().getSkipsregister()) - .build() : null - ) - .inntekter(value.getInntekter().stream().map(mapInntektDTO()).collect(Collectors.toList())) - .build(); - } - - private Function mapInntektDTO() { - return value -> InntektDTO - .builder() - .antall(value.getAntall()) - .opptjeningsland(value.getOpptjeningsland()) - .sluttdatoOpptjeningsperiode(value.getSluttdatoOpptjeningsperiode()) - .startdatoOpptjeningsperiode(value.getStartdatoOpptjeningsperiode()) - .build(); - } - - private Function mapPermisjonDTO() { - return value -> PermisjonDTO - .builder() - .permisjonId(value.getPermisjonId()) - .beskrivelse(value.getBeskrivelse()) - .permisjonsprosent(value.getPermisjonsprosent()) - .sluttdato(value.getSluttdato()) - .startdato(value.getStartdato()) - .build(); - } - - private Function mapVirksomhetModel() { - return value -> { - var model = new VirksomhetModel(); - model.setOrganisajonsnummer(value.getOrganisajonsnummer()); - model.setPersoner(value.getPersoner().stream().map(mapPersonModel()).collect(Collectors.toList())); - return model; - }; - } - - private Function mapPersonModel() { - return value -> { - var model = new PersonModel(); - model.setIdent(value.getIdent()); - model.setArbeidsforhold(value.getArbeidsforhold().stream().map(mapArbeidsforholdModel()).collect(Collectors.toList())); - return model; - }; - } - - private Function mapArbeidsforholdModel() { - return value -> { - var model = new ArbeidsforholdModel(); - model.setArbeidsforholdId(value.getArbeidsforholdId()); - model.setArbeidstidsordning(value.getArbeidstidsordning()); - model.setTypeArbeidsforhold(value.getTypeArbeidsforhold()); - model.setSluttdato(value.getSluttdato()); - model.setStartdato(value.getStartdato()); - model.setAntallTimerPerUke(value.getAntallTimerPerUke()); - model.setSisteLoennsendringsdato(value.getSisteLoennsendringsdato()); - model.setStillingsprosent(value.getStillingsprosent()); - model.setYrke(value.getYrke()); - model.setHistorikk(value.getHistorikk()); - if (value.getFartoey() != null) { - FartoeyModel fartoey = new FartoeyModel(); - fartoey.setFartsomraade(value.getFartoey().getFartsomraade()); - fartoey.setSkipsregister(value.getFartoey().getSkipsregister()); - fartoey.setSkipstype(value.getFartoey().getSkipstype()); - model.setFartoey(fartoey); - } - model.setInntekter(value.getInntekter().stream().map(mapInntektModel()).collect(Collectors.toList())); - model.setPermisjoner(value.getPermisjoner().stream().map(mapPermisjonModel()).collect(Collectors.toList())); - model.setAvvik(value.getAvvik().stream().map(mapAvvikDTOToModel()).collect(Collectors.toList())); - return model; - }; - } - - private Function mapInntektModel() { - return value -> { - var model = new InntektModel(); - model.setAntall(value.getAntall()); - model.setOpptjeningsland(value.getOpptjeningsland()); - model.setSluttdatoOpptjeningsperiode(value.getSluttdatoOpptjeningsperiode()); - model.setStartdatoOpptjeningsperiode(value.getStartdatoOpptjeningsperiode()); - model.setAvvik(value.getAvvik().stream().map(mapAvvikDTOToModel()).collect(Collectors.toList())); - return model; - }; - } - - private Function mapPermisjonModel() { - return value -> { - var model = new PermisjonModel(); - model.setPermisjonId(value.getPermisjonId()); - model.setPermisjonsprosent(value.getPermisjonsprosent()); - model.setBeskrivelse(value.getBeskrivelse()); - model.setStartdato(value.getStartdato()); - model.setSluttdato(value.getSluttdato()); - model.setAvvik(value.getAvvik().stream().map(mapAvvikDTOToModel()).collect(Collectors.toList())); - return model; - }; - } - - private Function mapAvvikDTOToModel() { - return dto -> { - var model = new AvvikModel(); - model.setNavn(dto.getNavn()); - model.setId(dto.getId()); - model.setAlvorlighetsgrad(dto.getAlvorlighetsgrad()); - return model; - }; - } - - private static Virksomhet create(VirksomhetDTO dto, Long version) { - Virksomhet virksomhet = new Virksomhet(); - virksomhet.setNorskIdentifikator(dto.getOrganisajonsnummer()); - virksomhet.getInntektsmottaker().addAll( - dto.getPersoner().stream().map(personDTO -> { - Inntektsmottaker inntektsmottaker = new Inntektsmottaker(); - Kilde value = new Kilde(); - value.setKildenavn("Team Dolly"); - value.setKildereferanse(UUID.randomUUID().toString()); - value.setKildeversjon(BigInteger.valueOf(version)); - inntektsmottaker.setKilde(value); - inntektsmottaker.setNorskIdentifikator(personDTO.getIdent()); - inntektsmottaker.getArbeidsforhold().addAll( - personDTO.getArbeidsforhold() - .stream() - .map(Oppsummeringsdokument::create) - .toList() - ); - inntektsmottaker.getInntekt().addAll( - personDTO.getArbeidsforhold() - .stream() - .map(Oppsummeringsdokument::createInntekter) - .flatMap(Collection::stream) - .toList() - ); - return inntektsmottaker; - }).toList() - ); - - return virksomhet; - } - - private static List createInntekter(ArbeidsforholdDTO dto) { - if (dto.getInntekter() == null) { - return Collections.emptyList(); - } - - return dto.getInntekter().stream().map(value -> { - var inntekt = new Inntekt(); - inntekt.setArbeidsforholdId(dto.getArbeidsforholdId()); - var loennsinntekt = new Loennsinntekt(); - Optional.ofNullable(value.getAntall()).ifPresent(antall -> loennsinntekt.setAntall(BigDecimal.valueOf(antall))); - Optional.ofNullable(value.getOpptjeningsland()).ifPresent(opptjeningsland -> { - var spesifikasjon = new Spesifikasjon(); - spesifikasjon.setOpptjeningsland(opptjeningsland); - loennsinntekt.setSpesifikasjon(spesifikasjon); - }); - inntekt.setLoennsinntekt(loennsinntekt); - inntekt.setSluttdatoOpptjeningsperiode(toXMLGregorianCalendar(value.getSluttdatoOpptjeningsperiode())); - inntekt.setStartdatoOpptjeningsperiode(toXMLGregorianCalendar(value.getStartdatoOpptjeningsperiode())); - inntekt.getAvvik().addAll(value.getAvvik().stream().map(mapDTOToAvvik()).toList()); - return inntekt; - }).toList(); - } - - private static Function mapDTOToAvvik() { - return value -> { - var avvik = new Avvik(); - avvik.setAlvorlighetsgrad(Alvorlighetsgrad.fromValue(value.getAlvorlighetsgrad())); - avvik.setId(value.getId()); - avvik.setNavn(value.getNavn()); - return avvik; - }; - } - - private static Arbeidsforhold create(ArbeidsforholdDTO dto) { - Arbeidsforhold arbeidsforhold = new Arbeidsforhold(); - arbeidsforhold.setStartdato(toXMLGregorianCalendar(dto.getStartdato())); - arbeidsforhold.setSluttdato(toXMLGregorianCalendar(dto.getSluttdato())); - arbeidsforhold.setTypeArbeidsforhold(dto.getTypeArbeidsforhold()); - arbeidsforhold.setArbeidsforholdId(dto.getArbeidsforholdId()); - arbeidsforhold.setAntallTimerPerUkeSomEnFullStillingTilsvarer(dto.getAntallTimerPerUke() != null ? BigDecimal.valueOf(dto.getAntallTimerPerUke()) : null); - arbeidsforhold.setYrke(dto.getYrke()); - arbeidsforhold.setArbeidstidsordning(dto.getArbeidstidsordning()); - arbeidsforhold.setStillingsprosent(dto.getStillingsprosent() != null ? BigDecimal.valueOf(dto.getStillingsprosent()) : null); - arbeidsforhold.setSisteLoennsendringsdato(toXMLGregorianCalendar(dto.getSisteLoennsendringsdato())); - arbeidsforhold.getAvvik().addAll(dto.getAvvik().stream().map(mapDTOToAvvik()).toList()); - if (dto.getPermisjoner() != null) { - var permisjoner = dto.getPermisjoner().stream().map(permisjonDTO -> { - Permisjon permisjon = new Permisjon(); - permisjon.setBeskrivelse(permisjonDTO.getBeskrivelse()); - permisjon.setPermisjonId(permisjonDTO.getPermisjonId()); - permisjon.setPermisjonsprosent(permisjonDTO.getPermisjonsprosent() != null ? BigDecimal.valueOf(permisjonDTO.getPermisjonsprosent()) : null); - permisjon.setSluttdato(toXMLGregorianCalendar(permisjonDTO.getSluttdato())); - permisjon.setStartdato(toXMLGregorianCalendar(permisjonDTO.getStartdato())); - permisjon.getAvvik().addAll(permisjonDTO.getAvvik().stream().map(mapDTOToAvvik()).toList()); - return permisjon; - }).toList(); - arbeidsforhold.getPermisjon().addAll(permisjoner); - } - - if (dto.getFartoey() != null) { - Fartoey fartoey = new Fartoey(); - fartoey.setFartsomraade(dto.getFartoey().getFartsomraade()); - fartoey.setSkipsregister(dto.getFartoey().getSkipsregister()); - fartoey.setSkipstype(dto.getFartoey().getSkipstype()); - arbeidsforhold.setFartoey(fartoey); - } - return arbeidsforhold; - } - - @SneakyThrows - private static XMLGregorianCalendar toXMLGregorianCalendar(LocalDate localDate) { - if (localDate == null) { - return null; - } - return DatatypeFactory.newInstance().newXMLGregorianCalendar(localDate.toString()); - } - - -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/domain/QueryRequest.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/domain/QueryRequest.java deleted file mode 100644 index 8693554427a..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/domain/QueryRequest.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.domain; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class QueryRequest { - - private String id; - private String miljo; - private LocalDate fom; - private LocalDate tom; - private String ident; - private String orgnummer; - private String typeArbeidsforhold; - private Integer page; - private Integer pageSize; -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/domain/QueryResponse.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/domain/QueryResponse.java deleted file mode 100644 index 7d52d31218f..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/domain/QueryResponse.java +++ /dev/null @@ -1,19 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.domain; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.opensearch.action.search.SearchResponse; - -import java.util.List; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class QueryResponse { - - private SearchResponse response; - private List dokumenter; -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/OppsummeringsdokumentRepository.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/OppsummeringsdokumentRepository.java deleted file mode 100644 index a744f3ab626..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/OppsummeringsdokumentRepository.java +++ /dev/null @@ -1,9 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.repository; - -import no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model.OppsummeringsdokumentModel; -import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; - - -public interface OppsummeringsdokumentRepository extends ElasticsearchRepository { - -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/ArbeidsforholdModel.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/ArbeidsforholdModel.java deleted file mode 100644 index 9f4623c7ca2..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/ArbeidsforholdModel.java +++ /dev/null @@ -1,35 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.data.elasticsearch.annotations.DateFormat; -import org.springframework.data.elasticsearch.annotations.Field; -import org.springframework.data.elasticsearch.annotations.FieldType; - -import java.time.LocalDate; -import java.util.List; - -@Getter -@Setter -public class ArbeidsforholdModel { - private String arbeidsforholdId; - private String typeArbeidsforhold; - @Field(type = FieldType.Date, format = DateFormat.basic_date) - private LocalDate startdato; - @Field(type = FieldType.Date, format = DateFormat.basic_date) - private LocalDate sluttdato; - private Float antallTimerPerUke; - private String yrke; - private String arbeidstidsordning; - private Float stillingsprosent; - @Field(type = FieldType.Date, format = DateFormat.basic_date) - private LocalDate sisteLoennsendringsdato; - @Field(type = FieldType.Nested, includeInParent = true) - private List permisjoner; - private FartoeyModel fartoey; - @Field(type = FieldType.Nested, includeInParent = true) - private List inntekter; - @Field(type = FieldType.Nested, includeInParent = true) - private List avvik; - private String historikk; -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/AvvikModel.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/AvvikModel.java deleted file mode 100644 index 0dc8965ce3a..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/AvvikModel.java +++ /dev/null @@ -1,12 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model; - -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class AvvikModel { - private String id; - private String navn; - private String alvorlighetsgrad; -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/FartoeyModel.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/FartoeyModel.java deleted file mode 100644 index ac0af651df2..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/FartoeyModel.java +++ /dev/null @@ -1,12 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model; - -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class FartoeyModel { - String skipsregister; - String skipstype; - String fartsomraade; -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/InntektModel.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/InntektModel.java deleted file mode 100644 index a9bd68ea415..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/InntektModel.java +++ /dev/null @@ -1,23 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.data.elasticsearch.annotations.DateFormat; -import org.springframework.data.elasticsearch.annotations.Field; -import org.springframework.data.elasticsearch.annotations.FieldType; - -import java.time.LocalDate; -import java.util.List; - -@Getter -@Setter -public class InntektModel { - @Field(type = FieldType.Date, format = DateFormat.year_month_day) - private LocalDate startdatoOpptjeningsperiode; - @Field(type = FieldType.Date, format = DateFormat.year_month_day) - private LocalDate sluttdatoOpptjeningsperiode; - private Integer antall; - private String opptjeningsland; - @Field(type = FieldType.Nested, includeInParent = true) - private List avvik; -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/OppsummeringsdokumentModel.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/OppsummeringsdokumentModel.java deleted file mode 100644 index 85340381100..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/OppsummeringsdokumentModel.java +++ /dev/null @@ -1,54 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.data.annotation.CreatedDate; -import org.springframework.data.annotation.Id; -import org.springframework.data.annotation.LastModifiedDate; -import org.springframework.data.domain.Persistable; -import org.springframework.data.elasticsearch.annotations.DateFormat; -import org.springframework.data.elasticsearch.annotations.Document; -import org.springframework.data.elasticsearch.annotations.Field; -import org.springframework.data.elasticsearch.annotations.FieldType; - -import java.time.Instant; -import java.time.LocalDate; -import java.util.List; - -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.Populasjon; - -@Setter -@Getter -@Document(indexName = "#{@environment.getProperty('open.search.index')}") -public class OppsummeringsdokumentModel implements Persistable { - - @Id - private String id; - @Field(type = FieldType.Date, format = DateFormat.year_month_day) - private LocalDate kalendermaaned; - private String opplysningspliktigOrganisajonsnummer; - private Long version; - @Field(type = FieldType.Nested, includeInParent = true) - private List virksomheter; - private String miljo; - private String origin; - private Populasjon populasjon; - - @CreatedDate - @Field(type = FieldType.Date, format = DateFormat.basic_date_time) - private Instant created; - - @LastModifiedDate - @Field(type = FieldType.Date, format = DateFormat.basic_date_time) - private Instant lastModified; - - @Override - public String getId() { - return id; - } - - @Override - public boolean isNew() { - return id == null || created == null; - } -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/PermisjonModel.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/PermisjonModel.java deleted file mode 100644 index 268466a001a..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/PermisjonModel.java +++ /dev/null @@ -1,24 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.data.elasticsearch.annotations.DateFormat; -import org.springframework.data.elasticsearch.annotations.Field; -import org.springframework.data.elasticsearch.annotations.FieldType; - -import java.time.LocalDate; -import java.util.List; - -@Getter -@Setter -public class PermisjonModel { - private String permisjonId; - private String beskrivelse; - @Field(type = FieldType.Date, format = DateFormat.year_month_day) - private LocalDate startdato; - @Field(type = FieldType.Date, format = DateFormat.year_month_day) - private LocalDate sluttdato; - private Float permisjonsprosent; - @Field(type = FieldType.Nested, includeInParent = true) - private List avvik; -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/PersonModel.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/PersonModel.java deleted file mode 100644 index e7b0ed3356a..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/PersonModel.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.data.elasticsearch.annotations.Field; -import org.springframework.data.elasticsearch.annotations.FieldType; - -import java.util.List; - -@Getter -@Setter -public class PersonModel { - private String ident; - @Field(type = FieldType.Nested, includeInParent = true) - private List arbeidsforhold; -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/VirksomhetModel.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/VirksomhetModel.java deleted file mode 100644 index 6c9686c65ca..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/repository/model/VirksomhetModel.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.data.elasticsearch.annotations.Field; -import org.springframework.data.elasticsearch.annotations.FieldType; - -import java.util.List; - -@Getter -@Setter -public class VirksomhetModel { - private String organisajonsnummer; - @Field(type = FieldType.Nested, includeInParent = true) - private List personer; -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/service/OppsummeringsdokumentService.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/service/OppsummeringsdokumentService.java deleted file mode 100644 index 182fe14585e..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/service/OppsummeringsdokumentService.java +++ /dev/null @@ -1,183 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.service; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.oppsummeringsdokumentservice.consumer.AaregSyntConsumer; -import no.nav.testnav.apps.oppsummeringsdokumentservice.domain.Oppsummeringsdokument; -import no.nav.testnav.apps.oppsummeringsdokumentservice.domain.QueryRequest; -import no.nav.testnav.apps.oppsummeringsdokumentservice.domain.QueryResponse; -import no.nav.testnav.apps.oppsummeringsdokumentservice.repository.OppsummeringsdokumentRepository; -import no.nav.testnav.apps.oppsummeringsdokumentservice.repository.model.OppsummeringsdokumentModel; -import org.opensearch.action.search.SearchRequest; -import org.opensearch.action.search.SearchResponse; -import org.opensearch.client.RequestOptions; -import org.opensearch.client.RestHighLevelClient; -import org.opensearch.index.query.QueryBuilder; -import org.opensearch.search.SearchHit; -import org.opensearch.search.builder.SearchSourceBuilder; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.data.elasticsearch.UncategorizedElasticsearchException; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Service; -import org.springframework.web.server.ResponseStatusException; - -import java.io.IOException; -import java.time.LocalDate; -import java.util.Arrays; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.stream.Collectors; - -import static java.util.Objects.nonNull; -import static no.nav.testnav.apps.oppsummeringsdokumentservice.service.SearchQueryUtility.prepareQuery; - -@Slf4j -@Service -@RequiredArgsConstructor -public class OppsummeringsdokumentService { - - private static final int PAGE_SIZE = 50; - private final ObjectMapper objectMapper; - private final OppsummeringsdokumentRepository repository; - private final AaregSyntConsumer aaregSyntConsumer; - private final RestHighLevelClient restHighLevelClient; - - @Value("${open.search.index}") - private String DOCUMENT_INDEX; - - @SneakyThrows - public String save(Oppsummeringsdokument oppsummeringsdokument, String miljo, String origin) { - - log.info("Oppretter oppsummeringsdokument for opplysningspliktig {} i {}...", - oppsummeringsdokument.getOpplysningspliktigOrganisajonsnummer(), miljo); - aaregSyntConsumer.saveOpplysningspliktig(oppsummeringsdokument, miljo); - - try { - var id = repository.save(oppsummeringsdokument.toModel(miljo, origin)).getId(); - log.info("Oppsummeringsdokument (id: {}) opprett for opplysningsplikitg {} i {}.", id, oppsummeringsdokument.getOpplysningspliktigOrganisajonsnummer(), miljo); - return id; - - } catch (UncategorizedElasticsearchException ex) { - log.error("Feil ved innsending av \n{}", objectMapper.writeValueAsString(oppsummeringsdokument.toDTO()), ex); - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "ElasticSearch feil ved innlegging"); - } - } - - public Optional getCurrentDocumentsBy(String id) { - - var resultat = getAllCurrentDocumentsBy(QueryRequest.builder() - .id(id) - .build()) - .getDokumenter(); - - return resultat.isEmpty() ? - Optional.empty() : - Optional.of(resultat.getFirst()); - } - - public Optional getCurrentDocumentBy(LocalDate kalendermaaned, String orgnummer, String miljo) { - - var resultat = getAllCurrentDocumentsBy(QueryRequest.builder() - .fom(kalendermaaned) - .tom(kalendermaaned) - .orgnummer(orgnummer) - .miljo(miljo) - .build()) - .getDokumenter(); - - return resultat.isEmpty() ? - Optional.empty() : - Optional.of(resultat.getFirst()); - } - - public List getAllCurrentDocumentsBy(String miljo) { - - return getAllCurrentDocumentsBy(QueryRequest.builder() - .miljo(miljo) - .build()) - .getDokumenter(); - } - - public List getAllCurrentDocumentsBy(String miljo, Integer page) { - - return getAllCurrentDocumentsBy(QueryRequest.builder() - .miljo(miljo) - .page(page) - .build()) - .getDokumenter(); - } - - public List getAllCurrentDocumentsBy(String miljo, String ident) { - - return getAllCurrentDocumentsBy(QueryRequest.builder() - .miljo(miljo) - .ident(ident) - .build()) - .getDokumenter(); - } - - public QueryResponse getAllCurrentDocumentsBy(QueryRequest request) { - - var query = prepareQuery(request); - var response = execQuery(query, request.getPage(), request.getPageSize()); - return QueryResponse.builder() - .response(response) - .dokumenter(getDocuments(response)) - .build(); - } - - private SearchResponse execQuery(QueryBuilder query, Integer page, Integer pageSize) { - - var searchRequest = new SearchRequest(DOCUMENT_INDEX); - searchRequest.source(new SearchSourceBuilder().query(query) - .size(nonNull(pageSize) ? pageSize : PAGE_SIZE) - .from(nonNull(page) ? page : 0)); - - try { - return restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT); - - } catch (IOException e) { - - log.error("OpenSearch feil ved utføring av søk: {}", e.getMessage(), e); - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "OpenSearch feil ved utføring av søk"); - } - } - - private List getDocuments(SearchResponse response) { - - var documents = Arrays.stream(response.getHits().getHits()) - .map(SearchHit::getSourceAsString) - .filter(Objects::nonNull) - .map(source -> { - try { - return objectMapper.readValue(source, OppsummeringsdokumentModel.class); - } catch (JsonProcessingException e) { - log.error("Json feilet konvertering: {}", e.getMessage(), e); - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "JSON feilet konvertering"); - } - }) - .toList(); - - return filterOnVersion(documents); - } - - private List filterOnVersion(List list) { - return list - .stream() - .collect(Collectors.groupingBy(item -> item.getKalendermaaned().withDayOfMonth(1) + item.getOpplysningspliktigOrganisajonsnummer())) - .values() - .stream() - .map(items -> items.stream().reduce(null, (total, value) -> { - if (total == null || total.getVersion() < value.getVersion()) { - total = value; - } - return total; - })).filter(Objects::nonNull) - .map(Oppsummeringsdokument::new) - .toList(); - } -} \ No newline at end of file diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/service/SearchQueryUtility.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/service/SearchQueryUtility.java deleted file mode 100644 index 4331755b721..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/service/SearchQueryUtility.java +++ /dev/null @@ -1,47 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.service; - -import lombok.experimental.UtilityClass; -import no.nav.testnav.apps.oppsummeringsdokumentservice.domain.QueryRequest; -import org.opensearch.index.query.BoolQueryBuilder; -import org.opensearch.index.query.QueryBuilder; -import org.opensearch.index.query.QueryBuilders; - -import static java.util.Objects.isNull; -import static java.util.Objects.nonNull; -import static org.apache.commons.lang3.StringUtils.isNotBlank; - -@UtilityClass -public class SearchQueryUtility { - - public static QueryBuilder prepareQuery(QueryRequest request) { - - if (isNull(request)) { - return QueryBuilders.matchAllQuery(); - } - - BoolQueryBuilder query = QueryBuilders.boolQuery(); - - matchString(query, "_id", request.getId()); - matchString(query, "miljo", request.getMiljo()); - matchString(query, "opplysningspliktigOrganisajonsnummer", request.getOrgnummer()); - matchString(query, "virksomheter.personer.ident", request.getIdent()); - matchString(query, "virksomheter.personer.arbeidsforhold.typeArbeidsforhold", request.getTypeArbeidsforhold()); - - if (nonNull(request.getFom())) { - query.must(QueryBuilders.rangeQuery("kalendermaaned").gte(request.getFom().withDayOfMonth(1))); - } - - if (nonNull(request.getTom())) { - query.must(QueryBuilders.rangeQuery("kalendermaaned").lte(request.getTom().withDayOfMonth(request.getTom().lengthOfMonth()))); - } - - return query; - } - - private static void matchString(BoolQueryBuilder builder, String field, String value) { - - if (isNotBlank(value)) { - builder.must(QueryBuilders.matchQuery(field, value)); - } - } -} diff --git a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/util/WebClientFilter.java b/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/util/WebClientFilter.java deleted file mode 100644 index 7446a2a0ee1..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/java/no/nav/testnav/apps/oppsummeringsdokumentservice/util/WebClientFilter.java +++ /dev/null @@ -1,14 +0,0 @@ -package no.nav.testnav.apps.oppsummeringsdokumentservice.util; - -import lombok.experimental.UtilityClass; -import org.springframework.web.reactive.function.client.WebClientResponseException; - -@UtilityClass -public class WebClientFilter { - - public static boolean is5xxException(Throwable throwable) { - - return throwable instanceof WebClientResponseException wce && - wce.getStatusCode().is5xxServerError(); - } -} diff --git a/apps/oppsummeringsdokument-service/src/main/resources/application-local.yml b/apps/oppsummeringsdokument-service/src/main/resources/application-local.yml deleted file mode 100644 index bbb81ae3499..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/resources/application-local.yml +++ /dev/null @@ -1,8 +0,0 @@ -spring: - config: - import: "sm://" - -open: - search: - index: local - uri: http://localhost:9200 \ No newline at end of file diff --git a/apps/oppsummeringsdokument-service/src/main/resources/application-prod.yml b/apps/oppsummeringsdokument-service/src/main/resources/application-prod.yml deleted file mode 100644 index ec43a1bd21f..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/resources/application-prod.yml +++ /dev/null @@ -1,11 +0,0 @@ -spring: - security: - oauth2: - resourceserver: - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - accepted-audience: ${TOKEN_X_CLIENT_ID} - -open: - search: - index: oppsummeringsdokument-8 \ No newline at end of file diff --git a/apps/oppsummeringsdokument-service/src/main/resources/application.yml b/apps/oppsummeringsdokument-service/src/main/resources/application.yml deleted file mode 100644 index 6b2f6302c79..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/resources/application.yml +++ /dev/null @@ -1,19 +0,0 @@ -spring: - config: - import: "classpath:dolly-application.yml" - security: - oauth2: - resourceserver: - aad: - issuer-uri: ${AZURE_OPENID_CONFIG_ISSUER} - accepted-audience: ${AZURE_APP_CLIENT_ID}, api:// ${AZURE_APP_CLIENT_ID} - application: - name: oppsummeringsdokument-service - description: Tjeneste for å sende inn oppsummeringsdokument til aareg og søke i innsendte oppsummeringsdokumenter. - -consumers: - aareg-synt-services: - url: https://aareg-synt-services-proxy.dev-fss-pub.nais.io - cluster: dev-fss - namespace: dolly - name: aareg-synt-services-proxy diff --git a/apps/oppsummeringsdokument-service/src/main/resources/logback-spring.xml b/apps/oppsummeringsdokument-service/src/main/resources/logback-spring.xml deleted file mode 100644 index 2388e84a184..00000000000 --- a/apps/oppsummeringsdokument-service/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - true - - 10280 - 20 - ^sun\.reflect\..*\.invoke - ^net\.sf\.cglib\.proxy\.MethodProxy\.invoke - java\.util\.concurrent\..* - org\.apache\.catalina\..* - org\.apache\.coyote\..* - org\.apache\.tomcat\..* - - - - - - - - - - - - - %d{HH:mm:ss.SSS} | %5p | %logger{25} | %m%n - - utf8 - - - - - - - - \ No newline at end of file diff --git a/apps/organisasjon-service/config.yml b/apps/organisasjon-service/config.yml index c60ed18f38e..ec6646c96b4 100644 --- a/apps/organisasjon-service/config.yml +++ b/apps/organisasjon-service/config.yml @@ -26,12 +26,9 @@ spec: - application: dolly-idporten - application: team-dolly-lokal-app - application: testnav-faste-data-frontend - - application: testnav-generer-arbeidsforhold-populasjon-service - application: testnav-organisasjon-forvalter - application: testnav-orgnummer-service - application: testnav-oversikt-frontend - - application: testnav-synt-sykemelding-api - - application: testnav-synt-sykemelding-api-dev - application: testnorge-statisk-data-forvalter cluster: dev-fss outbound: diff --git a/apps/synt-sykemelding-api/Dockerfile b/apps/synt-sykemelding-api/Dockerfile deleted file mode 100644 index 8fcd643d0ff..00000000000 --- a/apps/synt-sykemelding-api/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM ghcr.io/navikt/baseimages/temurin:21 -LABEL maintainer="Team Dolly" - -COPY /build/libs/app.jar /app/app.jar - -EXPOSE 8080 diff --git a/apps/synt-sykemelding-api/README.md b/apps/synt-sykemelding-api/README.md deleted file mode 100644 index da58a614ad2..00000000000 --- a/apps/synt-sykemelding-api/README.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: default -title: Synt Sykemelding API -parent: Applikasjoner ---- - -## Synt-Sykemelding-api -API for syntetisering av sykemeldinger - -## Lokal kjøring -* [Generelt.](../../docs/local_general.md) -* [Secret Manager.](../../docs/local_secretmanager.md) - diff --git a/apps/synt-sykemelding-api/build.gradle b/apps/synt-sykemelding-api/build.gradle deleted file mode 100644 index d0822af1c9e..00000000000 --- a/apps/synt-sykemelding-api/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id "dolly-apps" -} - -sonarqube { - properties { - property "sonar.projectKey", "testnorge-synt-sykemelding-api" - property "sonar.projectName", "testnorge-synt-sykemelding-api" - } -} - -dependencies { - implementation "no.nav.testnav.libs:commands" - implementation "no.nav.testnav.libs:data-transfer-objects" - implementation "no.nav.testnav.libs:reactive-core" - implementation "no.nav.testnav.libs:security-core" - implementation "no.nav.testnav.libs:servlet-core" - implementation "no.nav.testnav.libs:servlet-security" - - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-oauth2-client" - implementation "org.springframework.boot:spring-boot-starter-security" - - implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:$versions.springdoc" - - testImplementation "org.springframework.cloud:spring-cloud-contract-wiremock" -} diff --git a/apps/synt-sykemelding-api/config.test.yml b/apps/synt-sykemelding-api/config.test.yml deleted file mode 100644 index 1edc1abdd4f..00000000000 --- a/apps/synt-sykemelding-api/config.test.yml +++ /dev/null @@ -1,73 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: testnav-synt-sykemelding-api-dev - namespace: dolly - annotations: - nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" - nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - webproxy: true - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - liveness: - path: /internal/health/liveness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/health/readiness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - prometheus: - enabled: true - path: /internal/metrics - replicas: - min: 1 - max: 1 - vault: - enabled: true - resources: - requests: - cpu: 200m - memory: 4000Mi - limits: - memory: 5000Mi - accessPolicy: - inbound: - rules: - - application: dolly-backend - - application: dolly-backend-dev - - application: team-dolly-lokal-app - - application: testnav-oversikt-frontend - outbound: - rules: - - application: synthdata-elsam-gcp - - application: testnav-organisasjon-service - - application: testnav-arbeidsforhold-service - - application: testnav-helsepersonell-service - - application: testnav-sykemelding-api-dev - external: - - host: testnav-pdl-proxy.dev-fss-pub.nais.io - ingresses: - - "https://testnav-synt-sykemelding-api-dev.intern.dev.nav.no" - env: - - name: SPRING_PROFILES_ACTIVE - value: dev \ No newline at end of file diff --git a/apps/synt-sykemelding-api/config.yml b/apps/synt-sykemelding-api/config.yml deleted file mode 100644 index 9e6c7e06798..00000000000 --- a/apps/synt-sykemelding-api/config.yml +++ /dev/null @@ -1,71 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: testnav-synt-sykemelding-api - namespace: dolly - annotations: - nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" - nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - webproxy: true - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - liveness: - path: /internal/health/liveness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/health/readiness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - prometheus: - enabled: true - path: /internal/metrics - replicas: - min: 1 - max: 1 - resources: - requests: - cpu: 200m - memory: 4000Mi - limits: - memory: 5000Mi - accessPolicy: - inbound: - rules: - - application: dolly-backend - - application: dolly-backend-dev - - application: team-dolly-lokal-app - - application: testnav-oversikt-frontend - outbound: - rules: - - application: synthdata-elsam-gcp - - application: testnav-organisasjon-service - - application: testnav-arbeidsforhold-service - - application: testnav-helsepersonell-service - - application: testnav-sykemelding-api - external: - - host: testnav-pdl-proxy.dev-fss-pub.nais.io - ingresses: - - "https://testnav-synt-sykemelding-api.intern.dev.nav.no" - env: - - name: SPRING_PROFILES_ACTIVE - value: prod \ No newline at end of file diff --git a/apps/synt-sykemelding-api/gradle/wrapper/gradle-wrapper.jar b/apps/synt-sykemelding-api/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL diff --git a/apps/synt-sykemelding-api/gradle/wrapper/gradle-wrapper.properties b/apps/synt-sykemelding-api/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 48c0a02ca41..00000000000 --- a/apps/synt-sykemelding-api/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/apps/synt-sykemelding-api/gradlew b/apps/synt-sykemelding-api/gradlew deleted file mode 100755 index 3da45c161b0..00000000000 --- a/apps/synt-sykemelding-api/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright ? 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions ?$var?, ?${var}?, ?${var:-default}?, ?${var+SET}?, -# ?${var#prefix}?, ?${var%suffix}?, and ?$( cmd )?; -# * compound commands having a testable exit status, especially ?case?; -# * various built-in commands including ?command?, ?set?, and ?ulimit?. -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/apps/synt-sykemelding-api/gradlew.bat b/apps/synt-sykemelding-api/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/apps/synt-sykemelding-api/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/apps/synt-sykemelding-api/gradlewUpdate.sh b/apps/synt-sykemelding-api/gradlewUpdate.sh deleted file mode 100755 index e5ee6361152..00000000000 --- a/apps/synt-sykemelding-api/gradlewUpdate.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -gradle wrapper \ No newline at end of file diff --git a/apps/synt-sykemelding-api/settings.gradle b/apps/synt-sykemelding-api/settings.gradle deleted file mode 100644 index 99dbd417dbd..00000000000 --- a/apps/synt-sykemelding-api/settings.gradle +++ /dev/null @@ -1,21 +0,0 @@ -plugins { - id "com.gradle.develocity" version "3.19" -} - -rootProject.name = "synt-sykemelding-api" - -includeBuild "../../plugins/java" - -includeBuild "../../libs/commands" -includeBuild "../../libs/data-transfer-objects" -includeBuild "../../libs/reactive-core" -includeBuild "../../libs/servlet-core" -includeBuild "../../libs/servlet-security" -includeBuild "../../libs/testing" - -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/terms-of-service" - termsOfUseAgree = "yes" - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/SyntSykemeldingApiApplicationStarter.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/SyntSykemeldingApiApplicationStarter.java deleted file mode 100644 index 9a5f00a4569..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/SyntSykemeldingApiApplicationStarter.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi; - -import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; - -@EnableWebSecurity -@SpringBootApplication -public class SyntSykemeldingApiApplicationStarter { - public static void main(String[] args) { - new SpringApplicationBuilder(SyntSykemeldingApiApplicationStarter.class) - .initializers(new NaisEnvironmentApplicationContextInitializer()) - .run(args); - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/adapter/ArbeidsforholdAdapter.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/adapter/ArbeidsforholdAdapter.java deleted file mode 100644 index 546910440b8..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/adapter/ArbeidsforholdAdapter.java +++ /dev/null @@ -1,23 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.adapter; - -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Component; - -import no.nav.testnav.apps.syntsykemeldingapi.consumer.ArbeidsforholdConsumer; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.OrganisasjonConsumer; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Arbeidsforhold; - -@Component -@RequiredArgsConstructor -public class ArbeidsforholdAdapter { - private final ArbeidsforholdConsumer arbeidsforholdConsumer; - private final OrganisasjonConsumer organisasjonConsumer; - - public Arbeidsforhold getArbeidsforhold(String ident, String orgnummer, String arbeidsforholdId) { - return new Arbeidsforhold( - arbeidsforholdConsumer.getArbeidsforhold(ident, orgnummer, arbeidsforholdId), - organisasjonConsumer.getOrganisasjon(orgnummer) - ); - } - -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/AppConfig.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/AppConfig.java deleted file mode 100644 index 96c8924e99b..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/AppConfig.java +++ /dev/null @@ -1,11 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.config; - -import no.nav.testnav.libs.servletcore.config.ApplicationCoreConfig; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -@Configuration -@Import({ApplicationCoreConfig.class}) -public class AppConfig { - -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/Consumers.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/Consumers.java deleted file mode 100644 index a66743fa4f9..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/Consumers.java +++ /dev/null @@ -1,34 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.config; - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import static lombok.AccessLevel.PACKAGE; - -/** - * Samler alle placeholders for ulike {@code consumers.*}-konfigurasjon her, dvs. subklasser av {@code ServerProperties}. - *

- * Husk at Spring Boot bruker
relaxed binding - * mellom configuration properties og field names. - * - * @see ServerProperties - */ -@Configuration -@ConfigurationProperties(prefix = "consumers") -@NoArgsConstructor(access = PACKAGE) -@Getter -@Setter(PACKAGE) -public class Consumers { - - private ServerProperties testnavArbeidsforholdService; - private ServerProperties testnavHelsepersonellService; - private ServerProperties testnavOrganisasjonService; - private ServerProperties testnavPdlProxy; - private ServerProperties sykemeldingApi; - private ServerProperties syntSykemelding; - -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/OpenApiConfig.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/OpenApiConfig.java deleted file mode 100644 index f2fe837d913..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/OpenApiConfig.java +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.config; - -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Contact; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.info.License; -import io.swagger.v3.oas.models.security.SecurityRequirement; -import io.swagger.v3.oas.models.security.SecurityScheme; -import no.nav.testnav.libs.securitycore.config.UserConstant; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import java.util.Arrays; - -import no.nav.testnav.libs.servletcore.config.ApplicationProperties; - - -@Configuration -public class OpenApiConfig implements WebMvcConfigurer { - - @Bean - public OpenAPI openApi(ApplicationProperties applicationProperties) { - return new OpenAPI() - .components(new Components() - .addSecuritySchemes("bearer-jwt", new SecurityScheme() - .type(SecurityScheme.Type.HTTP) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name("Authorization") - .description("Trenger ikke \"Bearer \" foran") - ) - .addSecuritySchemes("user-jwt", new SecurityScheme() - .type(SecurityScheme.Type.APIKEY) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name(UserConstant.USER_HEADER_JWT) - )) - .addSecurityItem( - new SecurityRequirement() - .addList("bearer-jwt", Arrays.asList("read", "write")) - .addList("user-jwt", Arrays.asList("read", "write")) - ) - .info(new Info() - .title(applicationProperties.getName()) - .version(applicationProperties.getVersion()) - .description(applicationProperties.getDescription()) - .termsOfService("https://nav.no") - .contact(new Contact() - .url("https://nav-it.slack.com/archives/CA3P9NGA2") - .email("dolly@nav.no") - .name("Team Dolly") - ) - .license(new License() - .name("MIT License") - .url("https://opensource.org/licenses/MIT") - ) - ); - } - - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/swagger").setViewName("redirect:/swagger-ui.html"); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/SecurityConfig.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/SecurityConfig.java deleted file mode 100644 index 79260ad23e9..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/SecurityConfig.java +++ /dev/null @@ -1,28 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.config; - -import no.nav.dolly.libs.security.config.DollyHttpSecurity; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Profile; -import org.springframework.security.config.Customizer; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.web.SecurityFilterChain; - -@Configuration -@Profile({ "prod", "dev" }) -class SecurityConfig { - - @Bean - SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { - return httpSecurity - .sessionManagement(sessionConfig -> sessionConfig.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) - .csrf(AbstractHttpConfigurer::disable) - .authorizeHttpRequests(DollyHttpSecurity.withDefaultHttpRequests()) - .oauth2ResourceServer(oauth2RSConfig -> oauth2RSConfig.jwt(Customizer.withDefaults())) - .build(); - } - -} - diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumer.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumer.java deleted file mode 100644 index 0c51f4388dc..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumer.java +++ /dev/null @@ -1,47 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.config.Consumers; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.command.GetArbeidsforholdCommand; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; - -@Component -@Slf4j -public class ArbeidsforholdConsumer { - private final TokenExchange tokenExchange; - private final WebClient webClient; - private final ServerProperties serverProperties; - - public ArbeidsforholdConsumer( - TokenExchange tokenExchange, - Consumers consumers, - WebClient.Builder webClientBuilder) { - - this.tokenExchange = tokenExchange; - serverProperties = consumers.getTestnavArbeidsforholdService(); - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - @SneakyThrows - public ArbeidsforholdDTO getArbeidsforhold(String ident, String orgnummer, String arbeidsforholdId) { - log.info("Henter arbeidsforhold for {} i org {} med id {}", ident, orgnummer, arbeidsforholdId); - var response = tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new GetArbeidsforholdCommand( - webClient, - accessToken.getTokenValue(), - ident, - orgnummer, - arbeidsforholdId - ).call()).block(); - - log.info("Arbeidsforhold for ident {} hentet.", response.getIdent()); - return response; - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumer.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumer.java deleted file mode 100644 index 814acafdccf..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumer.java +++ /dev/null @@ -1,51 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.config.Consumers; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.command.GetHelsepersonellCommand; -import no.nav.testnav.apps.syntsykemeldingapi.domain.HelsepersonellListe; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.server.ResponseStatusException; - -import static java.util.Objects.nonNull; - -@Slf4j -@Component -public class HelsepersonellConsumer { - private final TokenExchange tokenExchange; - private final WebClient webClient; - private final ServerProperties serverProperties; - - public HelsepersonellConsumer( - TokenExchange tokenExchange, - Consumers consumers, - WebClient.Builder webClientBuilder) { - - this.tokenExchange = tokenExchange; - serverProperties = consumers.getTestnavHelsepersonellService(); - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - @SneakyThrows - public HelsepersonellListe hentHelsepersonell() { - log.info("Henter helsepersonell..."); - var response = tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new GetHelsepersonellCommand(webClient, accessToken.getTokenValue()).call()) - .block(); - - if (nonNull(response)) { - log.info("{} helsepersonell hentet", response.getHelsepersonell().size()); - return new HelsepersonellListe(response); - } else { - log.warn("Feil oppsto i henting av helsepersonell"); - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Feil i henting av helsepersonell"); - } - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumer.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumer.java deleted file mode 100644 index b00df816bf5..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumer.java +++ /dev/null @@ -1,36 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import no.nav.testnav.apps.syntsykemeldingapi.config.Consumers; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.command.GetOrganisasjonCommand; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; - -@Component -public class OrganisasjonConsumer { - private final ServerProperties serverProperties; - private final TokenExchange tokenExchange; - private final WebClient webClient; - - private static final String MILJOE = "q1"; - - public OrganisasjonConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getTestnavOrganisasjonService(); - this.tokenExchange = tokenExchange; - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public OrganisasjonDTO getOrganisasjon(String orgnummer) { - return tokenExchange.exchange(serverProperties).flatMap(accessToken -> - new GetOrganisasjonCommand(webClient, accessToken.getTokenValue(), orgnummer, MILJOE).call()) - .block(); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumer.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumer.java deleted file mode 100644 index 0e916558c72..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumer.java +++ /dev/null @@ -1,84 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.config.Consumers; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.command.GetPdlPersonCommand; -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.PdlPerson; -import no.nav.testnav.apps.syntsykemeldingapi.util.FilLaster; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.ExchangeStrategies; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.server.ResponseStatusException; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; -import java.util.stream.Collectors; - -import static java.util.Objects.isNull; -import static java.util.Objects.nonNull; - -@Slf4j -@Component -public class PdlProxyConsumer { - private final TokenExchange tokenExchange; - private final ServerProperties serverProperties; - private final WebClient webClient; - - private static final String SINGLE_PERSON_QUERY = "pdlperson/pdlquery.graphql"; - - public PdlProxyConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getTestnavPdlProxy(); - this.tokenExchange = tokenExchange; - this.webClient = webClientBuilder - .exchangeStrategies(ExchangeStrategies - .builder() - .codecs(configurer -> configurer - .defaultCodecs() - .maxInMemorySize(16 * 1024 * 1024)) - .build()) - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public PdlPerson getPdlPerson(String ident) { - if (isNull(ident) || ident.equals("")) { - return null; - } - try { - var query = getQueryFromFile(SINGLE_PERSON_QUERY); - var response = tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new GetPdlPersonCommand(ident, query, accessToken.getTokenValue(), webClient).call()) - .block(); - if (nonNull(response) && !response.getErrors().isEmpty()) { - var melding = response.getErrors().get(0).getMessage(); - log.error("Klarte ikke hente pdlperson: " + melding); - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Feil i henting av person fra pdl" + melding); - } - return response; - } catch (Exception e) { - log.error("Klarte ikke hente pdlperson.", e); - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Feil i henting av person fra pdl"); - } - - } - - private static String getQueryFromFile(String file) { - try (var reader = new BufferedReader(new InputStreamReader(FilLaster.instans().lastRessurs(file), StandardCharsets.UTF_8))) { - return reader.lines().collect(Collectors.joining("\n")); - - } catch (IOException e) { - log.error("Lesing av query ressurs {} feilet", SINGLE_PERSON_QUERY, e); - return null; - } - } - -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumer.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumer.java deleted file mode 100644 index 87b327b5899..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumer.java +++ /dev/null @@ -1,40 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.config.Consumers; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.command.PostSykemeldingCommand; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingResponseDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; - -@Slf4j -@Component -public class SykemeldingConsumer { - - private final TokenExchange tokenExchange; - private final ServerProperties serverProperties; - private final WebClient webClient; - - public SykemeldingConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getSykemeldingApi(); - this.tokenExchange = tokenExchange; - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public SykemeldingResponseDTO opprettSykemelding(SykemeldingDTO sykemelding) { - - return tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> - new PostSykemeldingCommand(webClient, accessToken.getTokenValue(), sykemelding).call()) - .block(); - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumer.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumer.java deleted file mode 100644 index 85e1b91820f..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumer.java +++ /dev/null @@ -1,63 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.config.Consumers; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.command.PostSyntSykemeldingCommand; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingHistorikkDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.ExchangeStrategies; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.server.ResponseStatusException; - -import java.time.LocalDate; -import java.util.Map; - -import static java.util.Objects.isNull; - -@Slf4j -@Component -public class SyntElsamConsumer { - - private final TokenExchange tokenExchange; - private final ServerProperties serverProperties; - private final WebClient webClient; - - public SyntElsamConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getSyntSykemelding(); - this.tokenExchange = tokenExchange; - this.webClient = webClientBuilder - .exchangeStrategies(ExchangeStrategies - .builder() - .codecs(configurer -> configurer - .defaultCodecs() - .maxInMemorySize(16 * 1024 * 1024)) - .build()) - .baseUrl(serverProperties.getUrl()) - .build(); - } - - @SneakyThrows - public SyntSykemeldingHistorikkDTO genererSykemeldinger(String ident, LocalDate startDato) { - log.info("Genererer sykemelding for {} fom {}", ident, startDato.toString()); - - var request = Map.of(ident, startDato.toString()); - - var response = tokenExchange.exchange(serverProperties).flatMap(accessToken -> - new PostSyntSykemeldingCommand(request, accessToken.getTokenValue(), webClient).call()) - .block(); - - if (isNull(response)) { - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Klarte ikke å generere sykemeldinger."); - } - log.info("Sykemelding generert."); - return response.get(ident); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetArbeidsforholdCommand.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetArbeidsforholdCommand.java deleted file mode 100644 index d4f5532fa46..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetArbeidsforholdCommand.java +++ /dev/null @@ -1,47 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import org.springframework.http.HttpStatus; -import org.springframework.http.HttpStatusCode; -import org.springframework.web.client.HttpClientErrorException; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -import static no.nav.testnav.apps.syntsykemeldingapi.util.Headers.AUTHORIZATION; - -@Slf4j -@RequiredArgsConstructor -public class GetArbeidsforholdCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final String ident; - private final String orgnummer; - private final String arbeidsforholdId; - - @SneakyThrows - @Override - public Mono call() { - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/arbeidsforhold/{ident}/{orgnummer}/{arbeidsforholdId}") - .build(ident, orgnummer, arbeidsforholdId) - ) - .header(AUTHORIZATION, "Bearer " + accessToken) - .header("miljo", "q1") - .retrieve() - .onStatus(HttpStatusCode::is4xxClientError, response -> Mono.error( - new HttpClientErrorException(HttpStatus.NOT_FOUND, "Fant ikke arbeidsforhold"))) - .bodyToMono(ArbeidsforholdDTO.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetHelsepersonellCommand.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetHelsepersonellCommand.java deleted file mode 100644 index 6466532b29e..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetHelsepersonellCommand.java +++ /dev/null @@ -1,33 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellListeDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@RequiredArgsConstructor -public class GetHelsepersonellCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - - @SneakyThrows - @Override - public Mono call() { - return webClient - .get() - .uri("/api/v1/helsepersonell") - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .retrieve() - .bodyToMono(HelsepersonellListeDTO.class) - .retryWhen(Retry.fixedDelay(3, Duration.ofSeconds(3))) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetOrganisasjonCommand.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetOrganisasjonCommand.java deleted file mode 100644 index d36ff52b42a..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetOrganisasjonCommand.java +++ /dev/null @@ -1,45 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOrganisasjonCommand implements Callable> { - private final WebClient webClient; - private final String token; - private final String orgnummer; - private final String miljo; - - @Override - public Mono call() { - log.info("Henter organisasjon med orgnummer {} fra {}...", orgnummer, miljo); - try { - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/organisasjoner/{orgnummer}") - .build(orgnummer) - ) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .header("miljo", this.miljo) - .retrieve() - .bodyToMono(OrganisasjonDTO.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)); - } catch (WebClientResponseException.NotFound e) { - log.trace("Organisasjon med orgnummer {} ikke funnet i {}", orgnummer, miljo); - throw e; - } - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetPdlPersonCommand.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetPdlPersonCommand.java deleted file mode 100644 index bd00b71b09b..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetPdlPersonCommand.java +++ /dev/null @@ -1,52 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.command; - -import lombok.RequiredArgsConstructor; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.request.GraphQLRequest; -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.PdlPerson; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.Map; -import java.util.UUID; -import java.util.concurrent.Callable; - -import static java.lang.String.format; -import static no.nav.testnav.apps.syntsykemeldingapi.util.Headers.CONSUMER_ID; -import static no.nav.testnav.apps.syntsykemeldingapi.util.Headers.CALL_ID; -import static no.nav.testnav.apps.syntsykemeldingapi.util.Headers.NAV_CONSUMER_ID; -import static no.nav.testnav.apps.syntsykemeldingapi.util.Headers.AUTHORIZATION; - -@RequiredArgsConstructor -public class GetPdlPersonCommand implements Callable> { - - private static final String TEMA = "Tema"; - private static final String TEMA_GENERELL = "GEN"; - private static final String GRAPHQL_URL = "/pdl-api/graphql"; - - private final String ident; - private final String query; - private final String token; - private final WebClient webClient; - - @Override - public Mono call() { - return webClient - .post() - .uri(uriBuilder -> uriBuilder.path(GRAPHQL_URL).build()) - .header(AUTHORIZATION, "Bearer " + token) - .header(CONSUMER_ID, NAV_CONSUMER_ID) - .header(CALL_ID, format("%s %s", NAV_CONSUMER_ID, UUID.randomUUID())) - .header(TEMA, TEMA_GENERELL) - .body(BodyInserters - .fromValue(new GraphQLRequest(query, Map.of("ident", ident, "historikk", true)))) - .retrieve() - .bodyToMono(PdlPerson.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)); - - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSykemeldingCommand.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSykemeldingCommand.java deleted file mode 100644 index 3570ec16745..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSykemeldingCommand.java +++ /dev/null @@ -1,41 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingResponseDTO; -import no.nav.testnav.libs.reactivecore.utils.WebClientFilter; -import org.springframework.http.HttpStatus; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.server.ResponseStatusException; -import reactor.core.publisher.Mono; - -import java.util.concurrent.Callable; - -import static no.nav.testnav.apps.syntsykemeldingapi.util.Headers.AUTHORIZATION; - -@Slf4j -@RequiredArgsConstructor -public class PostSykemeldingCommand implements Callable> { - - private final WebClient webClient; - private final String token; - private final SykemeldingDTO sykemelding; - - @SneakyThrows - @Override - public Mono call() { - return webClient.post() - .uri(builder -> - builder.path("/api/v1/sykemeldinger").build() - ) - .header(AUTHORIZATION, "Bearer " + token) - .bodyValue(sykemelding) - .retrieve() - .bodyToMono(SykemeldingResponseDTO.class) - .doOnError(WebClientFilter::logErrorMessage) - .onErrorResume(throwable -> - Mono.error(new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Feil oppsto i innsending av sykemelding"))); - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSyntSykemeldingCommand.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSyntSykemeldingCommand.java deleted file mode 100644 index 0a6c70719e0..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSyntSykemeldingCommand.java +++ /dev/null @@ -1,46 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.command; - -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingHistorikkDTO; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpStatus; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.server.ResponseStatusException; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.Callable; - -@Slf4j -@AllArgsConstructor -public class PostSyntSykemeldingCommand implements Callable>> { - - private static final ParameterizedTypeReference> RESPONSE_TYPE = new ParameterizedTypeReference<>() { - }; - private final Map request; - private final String token; - private final WebClient webClient; - - @Override - public Mono> call() { - return webClient.post() - .uri(builder -> - builder.path("/api/v1/generate_sykmeldings_history_json").build() - ) - .header("Authorization", "Bearer " + token) - .bodyValue(request) - .retrieve() - .bodyToMono(RESPONSE_TYPE) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .onErrorResume(throwable -> { - log.error("Klarte ikke å hente data fra synthdata-elsam", throwable); - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Klarte ikke å generere sykemeldinger."); - }); - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntDiagnoserDTO.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntDiagnoserDTO.java deleted file mode 100644 index f97691743dc..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntDiagnoserDTO.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.dto; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class SyntDiagnoserDTO { - @JsonProperty("dn") - String diagnose; - @JsonProperty("s") - String system; - @JsonProperty("v") - String diagnosekode; -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingDTO.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingDTO.java deleted file mode 100644 index 5af3857d634..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingDTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDate; -import java.util.List; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class SyntSykemeldingDTO { - Boolean arbeidsforEtterEndtPeriode; - List biDiagnoser; - SyntDiagnoserDTO hovedDiagnose; - LocalDate kontaktMedPasient; - Boolean meldingTilNav; - Boolean reisetilskudd; - LocalDate sluttPeriode; - LocalDate startPeriode; - Double sykmeldingsprosent; -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingHistorikkDTO.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingHistorikkDTO.java deleted file mode 100644 index e24cd76f35c..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingHistorikkDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.util.List; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class SyntSykemeldingHistorikkDTO { - String endringshistorikk; - List sykmeldinger; -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/request/GraphQLRequest.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/request/GraphQLRequest.java deleted file mode 100644 index 3c6120d3b30..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/request/GraphQLRequest.java +++ /dev/null @@ -1,9 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.request; - -import lombok.Builder; - -import java.util.Map; - -@Builder -public record GraphQLRequest(String query, Map variables) { -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Arbeidsforhold.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Arbeidsforhold.java deleted file mode 100644 index 0158a46dbfd..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Arbeidsforhold.java +++ /dev/null @@ -1,30 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain; - -import lombok.Getter; - -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; - -@Getter -public class Arbeidsforhold { - private final String navn; - private final Float stillingsprosent; - private final String yrkesbetegnelse; - private final String gatenavn; - private final String postnummer; - private final String orgnr; - private final String by; - private final String land; - - public Arbeidsforhold(ArbeidsforholdDTO arbeidsforholdDTO, OrganisasjonDTO organisasjonDTO) { - navn = organisasjonDTO.getNavn(); - stillingsprosent = arbeidsforholdDTO.getStillingsprosent(); - yrkesbetegnelse = arbeidsforholdDTO.getYrke(); - orgnr = organisasjonDTO.getOrgnummer(); - var adresse = organisasjonDTO.getForretningsadresser(); - gatenavn = adresse != null ? adresse.getAdresselinje1() : null; - postnummer = adresse != null ? adresse.getPostnummer() : null; - by = adresse != null ? adresse.getPoststed() : null; - land = adresse != null ? adresse.getLandkode() : null; - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Helsepersonell.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Helsepersonell.java deleted file mode 100644 index 46363d55325..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Helsepersonell.java +++ /dev/null @@ -1,28 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain; - - -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellDTO; - -public class Helsepersonell { - private HelsepersonellDTO dto; - - public Helsepersonell(HelsepersonellDTO dto) { - this.dto = dto; - } - - public String getIdent() { - return dto.getFnr(); - } - - public no.nav.testnav.libs.dto.sykemelding.v1.HelsepersonellDTO toDTO() { - return no.nav.testnav.libs.dto.sykemelding.v1.HelsepersonellDTO - .builder() - .ident(getIdent()) - .fornavn(dto.getFornavn()) - .mellomnavn(dto.getMellomnavn()) - .etternavn(dto.getEtternavn()) - .hprId(dto.getHprId()) - .samhandlerType(dto.getSamhandlerType()) - .build(); - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/HelsepersonellListe.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/HelsepersonellListe.java deleted file mode 100644 index f5f40ee2057..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/HelsepersonellListe.java +++ /dev/null @@ -1,31 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain; - -import lombok.extern.slf4j.Slf4j; - -import java.util.List; -import java.util.Random; - -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellListeDTO; - -@Slf4j -public class HelsepersonellListe { - private final List list; - private final Random random = new Random(); - - public HelsepersonellListe(HelsepersonellListeDTO dto) { - list = dto.getHelsepersonell() - .stream() - .map(Helsepersonell::new) - .toList(); - } - - public Helsepersonell getRandomLege() { - var helsepersonell = list.get(random.nextInt(list.size())); - log.info("Valgt tilfeldig helsepersonell {}", helsepersonell.getIdent()); - return helsepersonell; - } - - public List getList() { - return this.list; - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Person.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Person.java deleted file mode 100644 index 216d7c53799..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Person.java +++ /dev/null @@ -1,55 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain; - -import lombok.Builder; -import lombok.RequiredArgsConstructor; - -import java.time.LocalDate; -import java.util.List; -import java.util.Optional; - -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.PdlPerson; -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.WithMetadata; - -@Builder -@RequiredArgsConstructor -public class Person { - private final PdlPerson pdlPerson; - - public String getIdent() { - return pdlPerson.getData().getHentIdenter().getIdenter().stream() - .filter(value -> value.getGruppe() == PdlPerson.Gruppe.FOLKEREGISTERIDENT && !value.isHistorisk()) - .findFirst() - .map(PdlPerson.Identer::getIdent) - .orElse(null); - } - - private Optional getNavn() { - return getCurrent(pdlPerson.getData().getHentPerson().getNavn()); - } - - public String getFornavn() { - return getNavn().map(PdlPerson.Navn::getFornavn).orElse(null); - } - - public String getMellomnavn() { - return getNavn().map(PdlPerson.Navn::getMellomnavn).orElse(null); - } - - public String getEtternavn() { - return getNavn().map(PdlPerson.Navn::getEtternavn).orElse(null); - } - - public LocalDate getFoedselsdato() { - return getCurrent(pdlPerson.getData().getHentPerson().getFoedsel()) - .map(PdlPerson.Foedsel::getFoedselsdato).orElse(null); - } - - private static Optional getCurrent(List list) { - if (list == null) { - return Optional.empty(); - } - return list.stream() - .filter(value -> !value.getMetadata().getHistorisk()) - .findFirst(); - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Sykemelding.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Sykemelding.java deleted file mode 100644 index fe9b506f888..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Sykemelding.java +++ /dev/null @@ -1,141 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain; - -import lombok.RequiredArgsConstructor; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntDiagnoserDTO; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingHistorikkDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.AdresseDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.Aktivitet; -import no.nav.testnav.libs.dto.sykemelding.v1.AktivitetDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.ArbeidsgiverDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.DetaljerDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.DiagnoseDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.OrganisasjonDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.PasientDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.PeriodeDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingDTO; -import no.nav.testnav.libs.dto.synt.sykemelding.v1.SyntSykemeldingDTO; - -import java.util.Collections; -import java.util.List; - -import static java.util.Objects.nonNull; - -@RequiredArgsConstructor -public class Sykemelding { - private final Person pasient; - private final SyntSykemeldingHistorikkDTO historikk; - private final SyntSykemeldingDTO syntSykemelding; - private final Helsepersonell helsepersonell; - private final Arbeidsforhold arbeidsforhold; - - - public String getIdent() { - return pasient.getIdent(); - } - - public SykemeldingDTO toDTO() { - var arbeidsgiverDTO = nonNull(arbeidsforhold) ? - ArbeidsgiverDTO - .builder() - .navn(arbeidsforhold.getNavn()) - .stillingsprosent(arbeidsforhold.getStillingsprosent()) - .yrkesbetegnelse(arbeidsforhold.getYrkesbetegnelse()) - .build() : - null; - - var sykemeldinger = historikk.getSykmeldinger(); - var firstSykemelding = sykemeldinger.get(0); - - List syntBiDiagnoser = firstSykemelding.getBiDiagnoser() != null - ? firstSykemelding.getBiDiagnoser() - : Collections.emptyList(); - - var biDiagnoser = syntBiDiagnoser.stream() - .map(value -> DiagnoseDTO - .builder() - .diagnose(value.getDiagnose()) - .system(value.getSystem()) - .diagnosekode(value.getDiagnosekode()) - .build() - ) - .toList(); - - var hovedDiagnose = DiagnoseDTO - .builder() - .diagnose(firstSykemelding.getHovedDiagnose().getDiagnose()) - .system(firstSykemelding.getHovedDiagnose().getSystem()) - .diagnosekode(firstSykemelding.getHovedDiagnose().getDiagnosekode()) - .build(); - - var mottaker = nonNull(arbeidsforhold) ? - OrganisasjonDTO - .builder() - .navn(arbeidsforhold.getNavn()) - .orgNr(arbeidsforhold.getOrgnr()) - .adresse(AdresseDTO - .builder() - .by(arbeidsforhold.getBy()) - .gate(arbeidsforhold.getGatenavn()) - .land(arbeidsforhold.getLand()) - .postnummer(arbeidsforhold.getPostnummer()) - .build() - ) - .build() : - null; - - var pasient = PasientDTO - .builder() - .ident(this.pasient.getIdent()) - .fornavn(this.pasient.getFornavn()) - .mellomnavn(this.pasient.getMellomnavn()) - .etternavn(this.pasient.getEtternavn()) - .foedselsdato(this.pasient.getFoedselsdato()) - .navKontor("ST.HANSHAUGEN") - .build(); - var perioder = sykemeldinger - .stream() - .map(value -> new PeriodeDTO( - value.getStartPeriode(), - value.getSluttPeriode().minusDays(1), - AktivitetDTO - .builder() - .aktivitet(value.getSykmeldingsprosent() == 100.0 ? Aktivitet.INGEN : null) - .grad(value.getSykmeldingsprosent().intValue()) - .reisetilskudd(value.getReisetilskudd()) - .build() - )) - .toList(); - - - var sender = OrganisasjonDTO - .builder() - .navn("Mini-Norge Legekontor") - .orgNr("992741090") - .adresse(AdresseDTO - .builder() - .gate("Sannergata 2") - .postnummer("0557") - .by("Oslo") - .build() - ).build(); - - return SykemeldingDTO - .builder() - .startDato(syntSykemelding.getStartDato()) - .arbeidsgiver(arbeidsgiverDTO) - .biDiagnoser(biDiagnoser) - .hovedDiagnose(hovedDiagnose) - .helsepersonell(helsepersonell.toDTO()) - .mottaker(mottaker) - .pasient(pasient) - .perioder(perioder) - .umiddelbarBistand(true) - .sender(sender) - .detaljer(DetaljerDTO - .builder() - .arbeidsforEtterEndtPeriode(firstSykemelding.getArbeidsforEtterEndtPeriode()) - .build() - ).build(); - } - -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/Metadata.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/Metadata.java deleted file mode 100644 index 82e87756cd0..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/Metadata.java +++ /dev/null @@ -1,12 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain.pdl; - -import lombok.AllArgsConstructor; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class Metadata { - Boolean historisk; -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/PdlPerson.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/PdlPerson.java deleted file mode 100644 index ee66051afc3..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/PdlPerson.java +++ /dev/null @@ -1,155 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain.pdl; - -import lombok.*; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -import static java.util.Objects.isNull; - -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class PdlPerson { - - private Data data; - private List errors; - - public Data getData() { - if (isNull(data)){ - data = new Data(); - } - return data; - } - - public List getErrors() { - if (isNull(errors)) { - errors = new ArrayList<>(); - } - return errors; - } - - public enum Gruppe {AKTORID, FOLKEREGISTERIDENT, NPID} - - @Getter - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class Data { - - private HentIdenter hentIdenter; - private HentPerson hentPerson; - } - - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class HentIdenter { - - private List identer; - - public List getIdenter() { - if (isNull(identer)) { - identer = new ArrayList<>(); - } - return identer; - } - } - - @Getter - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class Identer { - - private String ident; - private boolean historisk; - private Gruppe gruppe; - } - - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class HentPerson { - - private List navn; - private List foedsel; - - public List getNavn() { - if (isNull(navn)) { - navn = new ArrayList<>(); - } - return navn; - } - - public List getFoedsel() { - if (isNull(foedsel)) { - foedsel = new ArrayList<>(); - } - return foedsel; - } - - } - - @Getter - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class Navn implements WithMetadata { - - private String fornavn; - private String mellomnavn; - private String etternavn; - private String forkortetNavn; - private String originaltNavn; - private LocalDate gyldigFraOgMed; - private Folkeregistermetadata folkeregistermetadata; - private Metadata metadata; - } - - @Getter - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class Foedsel implements WithMetadata{ - - private String foedselsaar; - private LocalDate foedselsdato; - private String foedeland; - private String foedested; - private String foedekommune; - private Folkeregistermetadata folkeregistermetadata; - private Metadata metadata; - } - - @Getter - @NoArgsConstructor - @AllArgsConstructor - public static class Folkeregistermetadata { - - private String aarsak; - private String kilde; - private LocalDate ajourholdstidspunkt; - private LocalDate gyldighetstidspunkt; - private LocalDate opphoerstidspunkt; - } - - @Getter - @NoArgsConstructor - @AllArgsConstructor - public static class Error { - - private String message; - private Extensions extensions; - } - - @Getter - @NoArgsConstructor - @AllArgsConstructor - public static class Extensions { - - private String code; - private String classification; - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/WithMetadata.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/WithMetadata.java deleted file mode 100644 index c45db4e7fac..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/WithMetadata.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain.pdl; - -public interface WithMetadata { - Metadata getMetadata(); -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingController.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingController.java deleted file mode 100644 index 7659c7d3723..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingController.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.provider; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.service.SykemeldingService; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingResponseDTO; -import no.nav.testnav.libs.dto.synt.sykemelding.v1.SyntSykemeldingDTO; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@Slf4j -@RequestMapping("/api/v1/synt-sykemelding") -@RequiredArgsConstructor -public class SyntSykemeldingController { - private final SykemeldingService sykemeldingService; - - @PostMapping - public SykemeldingResponseDTO opprett(@RequestBody SyntSykemeldingDTO sykemelding) { - - return sykemeldingService.opprettSykemelding(sykemelding); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/service/SykemeldingService.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/service/SykemeldingService.java deleted file mode 100644 index dea8c92f9a8..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/service/SykemeldingService.java +++ /dev/null @@ -1,50 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.service; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.adapter.ArbeidsforholdAdapter; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.HelsepersonellConsumer; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.PdlProxyConsumer; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.SykemeldingConsumer; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.SyntElsamConsumer; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Person; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Sykemelding; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingResponseDTO; -import no.nav.testnav.libs.dto.synt.sykemelding.v1.SyntSykemeldingDTO; -import org.springframework.stereotype.Service; - -import static java.util.Objects.nonNull; - -@Slf4j -@Service -@RequiredArgsConstructor -public class SykemeldingService { - private final SyntElsamConsumer syntElsamConsumer; - private final HelsepersonellConsumer helsepersonellConsumer; - private final SykemeldingConsumer sykemeldingConsumer; - private final ArbeidsforholdAdapter arbeidsforholdAdapter; - private final PdlProxyConsumer pdlProxyConsumer; - - public SykemeldingResponseDTO opprettSykemelding(SyntSykemeldingDTO syntSykemelding) { - - var pdlData = pdlProxyConsumer.getPdlPerson(syntSykemelding.getIdent()); - var pasient = new Person(pdlData); - - var arbeidsforhold = nonNull(syntSykemelding.getOrgnummer()) ? - arbeidsforholdAdapter.getArbeidsforhold( - syntSykemelding.getIdent(), - syntSykemelding.getOrgnummer(), - syntSykemelding.getArbeidsforholdId()) : - null; - - var historikk = syntElsamConsumer.genererSykemeldinger( - syntSykemelding.getIdent(), - syntSykemelding.getStartDato() - ); - var helsepersonellListe = helsepersonellConsumer.hentHelsepersonell(); - - return sykemeldingConsumer.opprettSykemelding( - new Sykemelding(pasient, historikk, syntSykemelding, helsepersonellListe.getRandomLege(), arbeidsforhold).toDTO() - ); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/FilLaster.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/FilLaster.java deleted file mode 100644 index 9482c265f41..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/FilLaster.java +++ /dev/null @@ -1,22 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.util; - -import lombok.extern.slf4j.Slf4j; - -import java.io.InputStream; - -@Slf4j -public class FilLaster { - - private static FilLaster instans; - - public static FilLaster instans() { - if (instans == null) { - instans = new FilLaster(); - } - return instans; - } - - public InputStream lastRessurs(String path) { - return FilLaster.class.getClassLoader().getResourceAsStream(path); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/Headers.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/Headers.java deleted file mode 100644 index 6d926b2e0b9..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/Headers.java +++ /dev/null @@ -1,12 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.util; - -public class Headers { - - private Headers() { - } - - public static final String CALL_ID = "Nav-Call-Id"; - public static final String CONSUMER_ID = "Nav-Consumer-Id"; - public static final String AUTHORIZATION = "Authorization"; - public static final String NAV_CONSUMER_ID = "testnav-synt-sykemelding-api"; -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/IdentUtil.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/IdentUtil.java deleted file mode 100644 index cc6885f16e8..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/IdentUtil.java +++ /dev/null @@ -1,65 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.util; - -import static java.lang.Integer.parseInt; - -import java.time.LocalDate; - -/** - * @deprecated Fjernes når vi går over til PDL som har fødselsdato - */ -@Deprecated -public final class IdentUtil { - private IdentUtil() { - } - - public static LocalDate toBirthdate(String ident) { - int year = getFullYear(ident); - int month = parseInt(ident.substring(2, 4)); - int day = parseInt(ident.substring(0, 2)); - - if ("DNR".equals(getIdentType(ident))) { - day = day - 40; - } - if ("BOST".equals(getIdentType(ident))) { - month = month - 20; - } - - return LocalDate.of(year, month, day); - } - - private static String getIdentType(String ident) { - if (parseInt(ident.substring(0, 1)) > 3) { - return "DNR"; - } else if (parseInt(ident.substring(2, 3)) > 1) { - return "BOST"; - } else if ("0000".equals(ident.substring(6, 10))) { - return "FDAT"; - } - return "FNR"; - } - - - /** - * INDIVID(POS 7-9) 500-749 OG ÅR > 54 => ÅRHUNDRE = 1800 - * INDIVID(POS 7-9) 000-499 => ÅRHUNDRE = 1900 - * INDIVID(POS 7-9) 900-999 OG ÅR > 39 => ÅRHUNDRE = 1900 - * INDIVID(POS 7-9) 500-999 OG ÅR < 40 => ÅRHUNDRE = 2000 - */ - private static int getFullYear(String ident) { - int year = parseInt(ident.substring(4, 6)); - int individ = parseInt(ident.substring(6, 9)); - - // Find century - int century; - if (individ < 500 || (individ >= 900 && year > 39)) { - century = 1900; - } else if (year < 40) { - century = 2000; - } else if (individ < 750 && year > 54) { - century = 1800; - } else { - century = 2000; - } - return LocalDate.of(century + year, 1, 1).getYear(); - } -} diff --git a/apps/synt-sykemelding-api/src/main/resources/application-dev.yml b/apps/synt-sykemelding-api/src/main/resources/application-dev.yml deleted file mode 100644 index af43c132df4..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/application-dev.yml +++ /dev/null @@ -1,12 +0,0 @@ -consumers: - synt-sykemelding: - url: http://synthdata-elsam-gcp.intern.dolly.svc.cluster.local - testnav-organisasjon-service: - url: http://testnav-organisasjon-service.dolly.svc.cluster.local - testnav-arbeidsforhold-service: - url: http://testnav-arbeidsforhold-service.dolly.svc.cluster.local - testnav-helsepersonell-service: - url: http://testnav-helsepersonell-service.dolly.svc.cluster.local - sykemelding-api: - url: http://testnav-sykemelding-api-dev.dolly.svc.cluster.local - name: testnav-sykemelding-api-dev diff --git a/apps/synt-sykemelding-api/src/main/resources/application-local.yml b/apps/synt-sykemelding-api/src/main/resources/application-local.yml deleted file mode 100644 index c2c871f2fa2..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/application-local.yml +++ /dev/null @@ -1,16 +0,0 @@ -spring: - config: - import: "sm://" - -consumers: - synt-sykemelding: - url: https://synthdata-elsam-gcp.intern.dev.nav.no - testnav-organisasjon-service: - url: https://testnav-organisasjon-service.intern.dev.nav.no - testnav-arbeidsforhold-service: - url: https://testnav-arbeidsforhold-service.intern.dev.nav.no - testnav-helsepersonell-service: - url: https://testnav-helsepersonell-service.intern.dev.nav.no - sykemelding-api: - url: https://testnav-sykemelding-api-dev.intern.dev.nav.no - name: testnav-sykemelding-api-dev diff --git a/apps/synt-sykemelding-api/src/main/resources/application-prod.yml b/apps/synt-sykemelding-api/src/main/resources/application-prod.yml deleted file mode 100644 index db46c2d97de..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/application-prod.yml +++ /dev/null @@ -1,7 +0,0 @@ -spring: - security: - oauth2: - resourceserver: - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - accepted-audience: ${TOKEN_X_CLIENT_ID} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/resources/application.yml b/apps/synt-sykemelding-api/src/main/resources/application.yml deleted file mode 100644 index d0f1b324511..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/application.yml +++ /dev/null @@ -1,48 +0,0 @@ -spring: - application: - version: application.version.todo - name: testnav-synt-sykemelding-api - description: Api for opprettelse av syntetiske sykemeldinger - config: - import: "classpath:dolly-application.yml" - security: - oauth2: - resourceserver: - aad: - issuer-uri: ${AZURE_OPENID_CONFIG_ISSUER} - accepted-audience: ${AZURE_APP_CLIENT_ID}, api:// ${AZURE_APP_CLIENT_ID} - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - accepted-audience: ${TOKEN_X_CLIENT_ID} - -consumers: - synt-sykemelding: - url: http://synthdata-elsam-gcp.dolly.svc.cluster.local - name: synthdata-elsam-gcp - cluster: dev-gcp - namespace: dolly - sykemelding-api: - url: http://testnav-sykemelding-api.dolly.svc.cluster.local - name: testnav-sykemelding-api - cluster: dev-gcp - namespace: dolly - testnav-organisasjon-service: - url: http://testnav-organisasjon-service.dolly.svc.cluster.local - name: testnav-organisasjon-service - cluster: dev-gcp - namespace: dolly - testnav-arbeidsforhold-service: - url: http://testnav-arbeidsforhold-service.dolly.svc.cluster.local - cluster: dev-gcp - namespace: dolly - name: testnav-arbeidsforhold-service - testnav-helsepersonell-service: - url: http://testnav-helsepersonell-service.dolly.svc.cluster.local - cluster: dev-gcp - namespace: dolly - name: testnav-helsepersonell-service - testnav-pdl-proxy: - name: testnav-pdl-proxy - namespace: dolly - url: https://testnav-pdl-proxy.dev-fss-pub.nais.io - cluster: dev-fss \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/resources/logback-spring.xml b/apps/synt-sykemelding-api/src/main/resources/logback-spring.xml deleted file mode 100644 index 75c5be52d1c..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - true - - 10280 - 20 - ^sun\.reflect\..*\.invoke - ^net\.sf\.cglib\.proxy\.MethodProxy\.invoke - java\.util\.concurrent\..* - org\.apache\.catalina\..* - org\.apache\.coyote\..* - org\.apache\.tomcat\..* - - - - - - - - - - - - - %d{HH:mm:ss.SSS} | %5p | %logger{25} | %m%n - - utf8 - - - - - - - - - \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/resources/pdlperson/graphql.config.yml b/apps/synt-sykemelding-api/src/main/resources/pdlperson/graphql.config.yml deleted file mode 100644 index 1f9a7cdf2a6..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/pdlperson/graphql.config.yml +++ /dev/null @@ -1,8 +0,0 @@ -schema: pdl-api-schema.graphql -extensions: - endpoints: - PDL GraphQL Endpoint: - url: https://pdl-api.dev.intern.nav.no/graphql - headers: - user-agent: '' - introspect: false diff --git a/apps/synt-sykemelding-api/src/main/resources/pdlperson/pdl-api-schema.graphql b/apps/synt-sykemelding-api/src/main/resources/pdlperson/pdl-api-schema.graphql deleted file mode 100644 index cc4a8c90344..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/pdlperson/pdl-api-schema.graphql +++ /dev/null @@ -1,949 +0,0 @@ -# This file was generated. Do not edit manually. - -schema { - query: Query -} - -"Indicates an Input Object is a OneOf Input Object." -directive @oneOf on INPUT_OBJECT - -type AdresseCompletionResult { - addressFound: CompletionAdresse - suggestions: [String!]! -} - -type AdresseSearchHit { - matrikkeladresse: MatrikkeladresseResult - score: Float - vegadresse: VegadresseResult -} - -type AdresseSearchResult { - hits: [AdresseSearchHit!]! - pageNumber: Int - totalHits: Int - totalPages: Int -} - -type Adressebeskyttelse { - folkeregistermetadata: Folkeregistermetadata - gradering: AdressebeskyttelseGradering! - metadata: Metadata! -} - -type Bostedsadresse { - angittFlyttedato: Date - coAdressenavn: String - folkeregistermetadata: Folkeregistermetadata - gyldigFraOgMed: DateTime - gyldigTilOgMed: DateTime - matrikkeladresse: Matrikkeladresse - metadata: Metadata! - ukjentBosted: UkjentBosted - utenlandskAdresse: UtenlandskAdresse - vegadresse: Vegadresse -} - -type CompletionAdresse { - matrikkeladresse: MatrikkeladresseResult - vegadresse: VegadresseResult -} - -type DeltBosted { - coAdressenavn: String - folkeregistermetadata: Folkeregistermetadata! - matrikkeladresse: Matrikkeladresse - metadata: Metadata! - sluttdatoForKontrakt: Date - startdatoForKontrakt: Date! - ukjentBosted: UkjentBosted - utenlandskAdresse: UtenlandskAdresse - vegadresse: Vegadresse -} - -type DoedfoedtBarn { - dato: Date - folkeregistermetadata: Folkeregistermetadata! - metadata: Metadata! -} - -type Doedsfall { - doedsdato: Date - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! -} - -" Endring som har blitt utført på opplysningen. F.eks: Opprett -> Korriger -> Korriger" -type Endring { - hendelseId: String! - """ - - Opphavet til informasjonen. I NAV blir dette satt i forbindelse med registrering (f.eks: Sykehuskassan). - Fra Folkeregisteret får vi opphaven til dems opplysning, altså NAV, UDI, Politiet, Skatteetaten o.l.. Fra Folkeregisteret kan det også være tekniske navn som: DSF_MIGRERING, m.m.. - """ - kilde: String! - " Tidspunktet for registrering." - registrert: DateTime! - " Hvem endringen har blitt utført av, ofte saksbehandler (f.eks Z990200), men kan også være system (f.eks srvXXXX). Denne blir satt til \"Folkeregisteret\" for det vi får fra dem." - registrertAv: String! - " Hvilke system endringen har kommet fra (f.eks srvXXX). Denne blir satt til \"FREG\" for det vi får fra Folkeregisteret." - systemkilde: String! - " Hvilke type endring som har blitt utført." - type: Endringstype! -} - -type FalskIdentitet { - erFalsk: Boolean! - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! - rettIdentitetErUkjent: Boolean - rettIdentitetVedIdentifikasjonsnummer: String - rettIdentitetVedOpplysninger: FalskIdentitetIdentifiserendeInformasjon -} - -type FalskIdentitetIdentifiserendeInformasjon { - foedselsdato: Date - kjoenn: KjoennType - personnavn: Personnavn! - statsborgerskap: [String!]! -} - -type Foedested { - foedekommune: String - foedeland: String - foedested: String - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! -} - -type Foedsel { - foedekommune: String - foedeland: String - foedested: String - foedselsaar: Int - foedselsdato: Date - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! -} - -type Foedselsdato { - foedselsaar: Int - foedselsdato: Date - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! -} - -type Folkeregisteridentifikator { - folkeregistermetadata: Folkeregistermetadata! - identifikasjonsnummer: String! - metadata: Metadata! - status: String! - type: String! -} - -type Folkeregistermetadata { - aarsak: String - ajourholdstidspunkt: DateTime - gyldighetstidspunkt: DateTime - kilde: String - opphoerstidspunkt: DateTime - sekvens: Int -} - -type Folkeregisterpersonstatus { - folkeregistermetadata: Folkeregistermetadata! - forenkletStatus: String! - metadata: Metadata! - status: String! -} - -type ForelderBarnRelasjon { - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! - minRolleForPerson: ForelderBarnRelasjonRolle - relatertPersonUtenFolkeregisteridentifikator: RelatertBiPerson - relatertPersonsIdent: String - relatertPersonsRolle: ForelderBarnRelasjonRolle! -} - -type Foreldreansvar { - ansvar: String - ansvarlig: String - ansvarligUtenIdentifikator: RelatertBiPerson - ansvarssubjekt: String - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! -} - -type Fullmakt { - gyldigFraOgMed: Date! - gyldigTilOgMed: Date! - metadata: Metadata! - motpartsPersonident: String! - motpartsRolle: FullmaktsRolle! - omraader: [String!]! -} - -type GeografiskTilknytning { - gtBydel: String - gtKommune: String - gtLand: String - gtType: GtType! - regel: String! -} - -type HentIdenterBolkResult { - code: String! - ident: String! - identer: [IdentInformasjon!] -} - -type HentPersonBolkResult { - code: String! - ident: String! - person: Person -} - -type IdentInformasjon { - gruppe: IdentGruppe! - historisk: Boolean! - ident: String! -} - -type IdentifiserendeInformasjon { - foedselsdato: Date - kjoenn: String - navn: Personnavn - statsborgerskap: [String!] -} - -type Identitetsgrunnlag { - folkeregistermetadata: Folkeregistermetadata! - metadata: Metadata! - status: Identitetsgrunnlagsstatus! -} - -type Identliste { - identer: [IdentInformasjon!]! -} - -type InnflyttingTilNorge { - folkeregistermetadata: Folkeregistermetadata - fraflyttingsland: String - fraflyttingsstedIUtlandet: String - metadata: Metadata! -} - -type KartverketAdresse { - id: Long! - matrikkeladresse: KartverketMatrikkeladresse - vegadresse: KartverketVegadresse -} - -type KartverketBydel { - bydelsnavn: String - bydelsnummer: String -} - -type KartverketFylke { - navn: String - nummer: String -} - -type KartverketGrunnkrets { - grunnkretsnavn: String - grunnkretsnummer: String -} - -type KartverketKommune { - fylke: KartverketFylke - navn: String - nummer: String -} - -type KartverketMatrikkeladresse { - adressetilleggsnavn: String - bydel: KartverketBydel - grunnkrets: KartverketGrunnkrets - kortnavn: String - matrikkelnummer: KartverketMatrikkelnummer - postnummeromraade: KartverketPostnummeromraade - representasjonspunkt: KartverketRepresentasjonspunkt - undernummer: Int -} - -type KartverketMatrikkelnummer { - bruksnummer: Int - festenummer: Int - gaardsnummer: Int - kommunenummer: String - seksjonsnummer: Int -} - -type KartverketPostnummeromraade { - postnummer: String - poststed: String -} - -type KartverketRepresentasjonspunkt { - posisjonskvalitet: Int - x: Float - y: Float - z: Float -} - -type KartverketVeg { - adressekode: Int - adressenavn: String - kommune: KartverketKommune - kortnavn: String - stedsnummer: String -} - -type KartverketVegadresse { - adressetilleggsnavn: String - bokstav: String - bydel: KartverketBydel - grunnkrets: KartverketGrunnkrets - kortnavn: String - nummer: Int - postnummeromraade: KartverketPostnummeromraade - representasjonspunkt: KartverketRepresentasjonspunkt - veg: KartverketVeg -} - -type Kjoenn { - folkeregistermetadata: Folkeregistermetadata - kjoenn: KjoennType - metadata: Metadata! -} - -type Kontaktadresse { - coAdressenavn: String - folkeregistermetadata: Folkeregistermetadata - gyldigFraOgMed: DateTime - gyldigTilOgMed: DateTime - metadata: Metadata! - postadresseIFrittFormat: PostadresseIFrittFormat - postboksadresse: Postboksadresse - type: KontaktadresseType! - utenlandskAdresse: UtenlandskAdresse - utenlandskAdresseIFrittFormat: UtenlandskAdresseIFrittFormat - vegadresse: Vegadresse -} - -type KontaktinformasjonForDoedsbo { - adresse: KontaktinformasjonForDoedsboAdresse! - advokatSomKontakt: KontaktinformasjonForDoedsboAdvokatSomKontakt - attestutstedelsesdato: Date! - folkeregistermetadata: Folkeregistermetadata! - metadata: Metadata! - organisasjonSomKontakt: KontaktinformasjonForDoedsboOrganisasjonSomKontakt - personSomKontakt: KontaktinformasjonForDoedsboPersonSomKontakt - skifteform: KontaktinformasjonForDoedsboSkifteform! -} - -type KontaktinformasjonForDoedsboAdresse { - adresselinje1: String! - adresselinje2: String - landkode: String - postnummer: String! - poststedsnavn: String! -} - -type KontaktinformasjonForDoedsboAdvokatSomKontakt { - organisasjonsnavn: String - organisasjonsnummer: String - personnavn: Personnavn! -} - -type KontaktinformasjonForDoedsboOrganisasjonSomKontakt { - kontaktperson: Personnavn - organisasjonsnavn: String! - organisasjonsnummer: String -} - -type KontaktinformasjonForDoedsboPersonSomKontakt { - foedselsdato: Date - identifikasjonsnummer: String - personnavn: Personnavn -} - -type Koordinater { - kvalitet: Int - x: Float - y: Float - z: Float -} - -type Matrikkeladresse { - bruksenhetsnummer: String - kommunenummer: String - koordinater: Koordinater - matrikkelId: Long - postnummer: String - tilleggsnavn: String -} - -type MatrikkeladresseResult { - bruksnummer: String - gaardsnummer: String - kommunenummer: String - matrikkelId: String - postnummer: String - poststed: String - tilleggsnavn: String -} - -type Metadata { - """ - - En liste over alle endringer som har blitt utført over tid. - Vær obs på at denne kan endre seg og man burde takle at det finnes flere korrigeringer i listen, så dersom man ønsker å kun vise den siste, så må man selv filtrere ut dette. - Det kan også ved svært få tilfeller skje at opprett blir fjernet. F.eks ved splitt tilfeller av identer. Dette skal skje i svært få tilfeller. Dersom man ønsker å presentere opprettet tidspunktet, så blir det tidspunktet på den første endringen. - """ - endringer: [Endring!]! - """ - - Feltet betegner hvorvidt dette er en funksjonelt historisk opplysning, for eksempel en tidligere fraflyttet adresse eller et foreldreansvar som er utløpt fordi barnet har fylt 18 år. - I de fleste tilfeller kan dette utledes ved å se på de andre feltene i opplysningen. Dette er imidlertid ikke alltid tilfellet, blant annet for foreldreansvar. - Feltet bør brukes av konsumenter som henter informasjon fra GraphQL med historikk, men som også trenger å utlede gjeldende informasjon. - """ - historisk: Boolean! - " Master refererer til hvem som eier opplysningen, f.eks så har PDL en kopi av Folkeregisteret, da vil master være FREG og eventuelle endringer på dette må gå via Folkeregisteret (API mot dem eller andre rutiner)." - master: String! - """ - - I PDL så får alle forekomster av en opplysning en ID som representerer dens unike forekomst. - F.eks, så vil en Opprett ha ID X, korriger ID Y (der hvor den spesifiserer at den korrigerer X). - Dersom en opplysning ikke er lagret i PDL, så vil denne verdien ikke være utfylt. - """ - opplysningsId: String -} - -type Navn { - etternavn: String! - folkeregistermetadata: Folkeregistermetadata - forkortetNavn: String @deprecated(reason: "No longer supported") - fornavn: String! - gyldigFraOgMed: Date - mellomnavn: String - metadata: Metadata! - originaltNavn: OriginaltNavn -} - -type Navspersonidentifikator { - identifikasjonsnummer: String! - metadata: Metadata! -} - -type Opphold { - folkeregistermetadata: Folkeregistermetadata! - metadata: Metadata! - oppholdFra: Date - oppholdTil: Date - type: Oppholdstillatelse! -} - -type Oppholdsadresse { - coAdressenavn: String - folkeregistermetadata: Folkeregistermetadata - gyldigFraOgMed: DateTime - gyldigTilOgMed: DateTime - matrikkeladresse: Matrikkeladresse - metadata: Metadata! - oppholdAnnetSted: String - utenlandskAdresse: UtenlandskAdresse - vegadresse: Vegadresse -} - -type OriginaltNavn { - etternavn: String - fornavn: String - mellomnavn: String -} - -type Person { - adressebeskyttelse(historikk: Boolean = false): [Adressebeskyttelse!]! - bostedsadresse(historikk: Boolean = false): [Bostedsadresse!]! - deltBosted(historikk: Boolean = false): [DeltBosted!]! - doedfoedtBarn: [DoedfoedtBarn!]! - doedsfall: [Doedsfall!]! - falskIdentitet: FalskIdentitet - foedested: [Foedested!]! - foedsel: [Foedsel!]! @deprecated(reason: "Erstattet av foedselsdato & foedested") - foedselsdato: [Foedselsdato!]! - folkeregisteridentifikator(historikk: Boolean = false): [Folkeregisteridentifikator!]! - folkeregisterpersonstatus(historikk: Boolean = false): [Folkeregisterpersonstatus!]! - forelderBarnRelasjon: [ForelderBarnRelasjon!]! - foreldreansvar(historikk: Boolean = false): [Foreldreansvar!]! - fullmakt(historikk: Boolean = false): [Fullmakt!]! - identitetsgrunnlag(historikk: Boolean = false): [Identitetsgrunnlag!]! - innflyttingTilNorge: [InnflyttingTilNorge!]! - kjoenn(historikk: Boolean = false): [Kjoenn!]! - kontaktadresse(historikk: Boolean = false): [Kontaktadresse!]! - kontaktinformasjonForDoedsbo(historikk: Boolean = false): [KontaktinformasjonForDoedsbo!]! - navn(historikk: Boolean = false): [Navn!]! - navspersonidentifikator(historikk: Boolean = false): [Navspersonidentifikator!]! - opphold(historikk: Boolean = false): [Opphold!]! - oppholdsadresse(historikk: Boolean = false): [Oppholdsadresse!]! - rettsligHandleevne(historikk: Boolean = false): [RettsligHandleevne!]! - sikkerhetstiltak: [Sikkerhetstiltak!]! - sivilstand(historikk: Boolean = false): [Sivilstand!]! - statsborgerskap(historikk: Boolean = false): [Statsborgerskap!]! - telefonnummer(historikk: Boolean = false): [Telefonnummer!]! - tilrettelagtKommunikasjon: [TilrettelagtKommunikasjon!]! - utenlandskIdentifikasjonsnummer(historikk: Boolean = false): [UtenlandskIdentifikasjonsnummer!]! - utflyttingFraNorge: [UtflyttingFraNorge!]! - vergemaalEllerFremtidsfullmakt(historikk: Boolean = false): [VergemaalEllerFremtidsfullmakt!]! -} - -type PersonSearchHighlight { - " Forteller hvorvidt opplysningen som ga treff er markert som historisk." - historisk: Boolean - """ - - liste med feltene og verdiene som ga treff. - Merk at for fritekst søk så vil disse kunne referere til hjelpe felter som ikke er synelig i resultatene. - """ - matches: [SearchMatch] - """ - - Navn/Sti til opplysningen som ga treff. Merk at dette ikke er feltet som ga treff men opplysningen. - F.eks. hvis du søker på person.navn.fornavn så vil opplysingen være person.navn. - """ - opplysning: String - """ - - Gitt att opplysningen som ga treff har en opplysningsId så vil den returneres her. - alle søk under person skal ha opplysningsId, men søk i identer vil kunne returnere treff uten opplysningsId. - """ - opplysningsId: String -} - -type PersonSearchHit { - " Infromasjon om hva som ga treff i søke resultatet." - highlights: [PersonSearchHighlight] - " forespurte data" - identer(historikk: Boolean = false): [IdentInformasjon!]! - " forespurte data" - person: Person - " Poengsummen elasticsearch har gitt dette resultatet (brukt til feilsøking, og tuning av søk)" - score: Float -} - -type PersonSearchResult { - " treff liste" - hits: [PersonSearchHit!]! - " Side nummer for siden som vises" - pageNumber: Int - " Totalt antall treff (øvre grense er satt til 10 000)" - totalHits: Int - " Totalt antall sider" - totalPages: Int -} - -type Personnavn { - etternavn: String! - fornavn: String! - mellomnavn: String -} - -type PostadresseIFrittFormat { - adresselinje1: String - adresselinje2: String - adresselinje3: String - postnummer: String -} - -type Postboksadresse { - postboks: String! - postbokseier: String - postnummer: String -} - -type Query { - forslagAdresse(parameters: CompletionParameters): AdresseCompletionResult - hentAdresse(matrikkelId: ID!): KartverketAdresse - hentGeografiskTilknytning(ident: ID!): GeografiskTilknytning - hentGeografiskTilknytningBolk(identer: [ID!]!): [hentGeografiskTilknytningBolkResult!]! - hentIdenter(grupper: [IdentGruppe!], historikk: Boolean = false, ident: ID!): Identliste - hentIdenterBolk(grupper: [IdentGruppe!], historikk: Boolean = false, identer: [ID!]!): [HentIdenterBolkResult!]! - hentPerson(ident: ID!): Person - hentPersonBolk(identer: [ID!]!): [HentPersonBolkResult!]! - sokAdresse(criteria: [Criterion], paging: Paging): AdresseSearchResult - sokPerson(criteria: [Criterion], paging: Paging): PersonSearchResult -} - -type RelatertBiPerson { - foedselsdato: Date - kjoenn: KjoennType - navn: Personnavn - statsborgerskap: String -} - -type RettsligHandleevne { - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! - rettsligHandleevneomfang: String -} - -type SearchMatch { - " feltnavn med sti til feltet so ga treff." - field: String! - " Verdien som ga treff" - fragments: [String] - type: String -} - -type Sikkerhetstiltak { - beskrivelse: String! - gyldigFraOgMed: Date! - gyldigTilOgMed: Date! - kontaktperson: SikkerhetstiltakKontaktperson - metadata: Metadata! - tiltakstype: String! -} - -type SikkerhetstiltakKontaktperson { - enhet: String! - personident: String! -} - -type Sivilstand { - bekreftelsesdato: Date - folkeregistermetadata: Folkeregistermetadata - gyldigFraOgMed: Date - metadata: Metadata! - relatertVedSivilstand: String - type: Sivilstandstype! -} - -type Statsborgerskap { - bekreftelsesdato: Date - folkeregistermetadata: Folkeregistermetadata - gyldigFraOgMed: Date - gyldigTilOgMed: Date - land: String! - metadata: Metadata! -} - -type Telefonnummer { - landskode: String! - metadata: Metadata! - nummer: String! - prioritet: Int! -} - -type TilrettelagtKommunikasjon { - metadata: Metadata! - talespraaktolk: Tolk - tegnspraaktolk: Tolk -} - -type Tjenesteomraade { - tjenesteoppgave: String - tjenestevirksomhet: String -} - -type Tolk { - spraak: String -} - -type UkjentBosted { - bostedskommune: String -} - -type UtenlandskAdresse { - adressenavnNummer: String - bySted: String - bygningEtasjeLeilighet: String - landkode: String! - postboksNummerNavn: String - postkode: String - regionDistriktOmraade: String -} - -type UtenlandskAdresseIFrittFormat { - adresselinje1: String - adresselinje2: String - adresselinje3: String - byEllerStedsnavn: String - landkode: String! - postkode: String -} - -type UtenlandskIdentifikasjonsnummer { - folkeregistermetadata: Folkeregistermetadata - identifikasjonsnummer: String! - metadata: Metadata! - opphoert: Boolean! - utstederland: String! -} - -type UtflyttingFraNorge { - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! - tilflyttingsland: String - tilflyttingsstedIUtlandet: String - utflyttingsdato: Date -} - -type Vegadresse { - adressenavn: String - bruksenhetsnummer: String - bydelsnummer: String - husbokstav: String - husnummer: String - kommunenummer: String - koordinater: Koordinater - matrikkelId: Long - postnummer: String - tilleggsnavn: String -} - -type VegadresseResult { - adressekode: String - adressenavn: String - bydelsnavn: String - bydelsnummer: String - fylkesnavn: String - fylkesnummer: String - husbokstav: String - husnummer: Int - kommunenavn: String - kommunenummer: String - matrikkelId: String - postnummer: String - poststed: String - tilleggsnavn: String -} - -type VergeEllerFullmektig { - identifiserendeInformasjon: IdentifiserendeInformasjon - motpartsPersonident: String - navn: Personnavn @deprecated(reason: "Erstattes av navn iidentifiserendeInformasjon") - omfang: String - omfangetErInnenPersonligOmraade: Boolean - tjenesteomraade: [Tjenesteomraade!] -} - -type VergemaalEllerFremtidsfullmakt { - embete: String - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! - type: String - vergeEllerFullmektig: VergeEllerFullmektig! -} - -type hentGeografiskTilknytningBolkResult { - code: String! - geografiskTilknytning: GeografiskTilknytning - ident: String! -} - -enum AdressebeskyttelseGradering { - FORTROLIG - STRENGT_FORTROLIG - STRENGT_FORTROLIG_UTLAND - UGRADERT -} - -enum Direction { - ASC - DESC -} - -enum Endringstype { - KORRIGER - OPPHOER - OPPRETT -} - -enum Familierelasjonsrolle { - BARN - FAR - MEDMOR - MOR -} - -enum ForelderBarnRelasjonRolle { - BARN - FAR - MEDMOR - MOR -} - -enum FullmaktsRolle { - FULLMAKTSGIVER - FULLMEKTIG -} - -enum GtType { - BYDEL - KOMMUNE - UDEFINERT - UTLAND -} - -enum IdentGruppe { - AKTORID - FOLKEREGISTERIDENT - NPID -} - -enum Identitetsgrunnlagsstatus { - IKKE_KONTROLLERT - INGEN_STATUS - KONTROLLERT -} - -enum KjoennType { - KVINNE - MANN - UKJENT -} - -enum KontaktadresseType { - Innland - Utland -} - -enum KontaktinformasjonForDoedsboSkifteform { - ANNET - OFFENTLIG -} - -enum Oppholdstillatelse { - MIDLERTIDIG - OPPLYSNING_MANGLER - PERMANENT -} - -enum Sivilstandstype { - ENKE_ELLER_ENKEMANN - GIFT - GJENLEVENDE_PARTNER - REGISTRERT_PARTNER - SEPARERT - SEPARERT_PARTNER - SKILT - SKILT_PARTNER - UGIFT - UOPPGITT -} - -"Format: YYYY-MM-DD (ISO-8601), example: 2017-11-24" -scalar Date - -"Format: YYYY-MM-DDTHH:mm:SS (ISO-8601), example: 2011-12-03T10:15:30" -scalar DateTime - -"A 64-bit signed integer" -scalar Long - -input CompletionFieldValue { - fieldName: String! - fieldValue: String -} - -input CompletionParameters { - completionField: String! - fieldValues: [CompletionFieldValue]! - maxSuggestions: Int -} - -input Criterion { - and: [Criterion] - " Feltnavn inkludert sti til ønsket felt (Eksempel: person.navn.fornavn)" - fieldName: String - not: [Criterion] - or: [Criterion] - """ - - Søk i historiske data - true = søker kun i historiske data. - false = søker kun i gjeldende data. - null = søke i både historiske og gjeldende data. - """ - searchHistorical: Boolean - searchRule: SearchRule -} - -input Paging { - " Hvilken side i resultatsettet man ønsker vist." - pageNumber: Int = 1 - " antall treff per side (maks 100)" - resultsPerPage: Int = 10 - """ - - Liste over felter man ønsker resultatene sortert etter - Standard er "score". Score er poengsummen Elasticsearch tildeler hvert resultat. - """ - sortBy: [SearchSorting] -} - -input SearchRule { - " Brukes til søke etter datoer som kommer etter opgitt dato." - after: String - " Brukes til søke etter datoer som kommer før opgitt dato." - before: String - " Boost brukes til å gi ett søkekriterie høyere eller lavere vektlegging en de andre søke kriteriene." - boost: Float - " [Flag] Kan brukes til å overstyre standard oppførsellen for søk i felter (standard er case insensitive)" - caseSensitive: Boolean - " Gir treff når opgitt felt inneholder en eller flere ord fra input verdien." - contains: String - " [Flag] Brukes til å deaktivere fonetisk søk feltene som har dette som standard (Navn)" - disablePhonetic: Boolean - " Begrenser treff til kun de hvor felt har input verdi" - equals: String - " Sjekker om feltet finnes / at det ikke har en null verdi." - exists: String - """ - - Søk fra og med (se fromExcluding for bare fra men ikke med) - kan benyttes på tall og dato - """ - from: String - """ - - Søk fra men ikke med oppgitt verdi - kan benyttes på tall og dato - """ - fromExcluding: String - " Søk som gir treff også for små variasjoner i skrivemåte" - fuzzy: String - " Brukes til å søke i tall og finner verdier som er størren en input verdi." - greaterThan: String - " Brukes til å søke i tall og finner verdier som er mindre en input verdi." - lessThan: String - " Filtrerer bort treff hvor felt inneholder input verdi" - notEquals: String - " Søk som gir tilfeldig poengsum til hvert treff (kun ment til generering av testdata)" - random: String - " Regex søk for spesielle situasjoner (Dette er en treg opprasjon og bør ikke brukes)" - regex: String - " Gir treff når opgitt feltstarter med opgitt verdi." - startsWith: String - """ - - Søk til og med (se toExcluding for bare til men ikke med) - kan benyttes på tall og dato - """ - to: String - """ - - Søk til men ikke med oppgitt verdi - kan benyttes på tall og dato - """ - toExcluding: String - " Bruk \"?\" som wildcard for enkelt tegn, og \"*\" som wildcard for 0 eller flere tegn." - wildcard: String -} - -input SearchSorting { - direction: Direction! - " Feltnavn ikludert sti til ønsket felt (eksepmel: person.navn.fornavn)" - fieldName: String! -} diff --git a/apps/synt-sykemelding-api/src/main/resources/pdlperson/pdlquery.graphql b/apps/synt-sykemelding-api/src/main/resources/pdlperson/pdlquery.graphql deleted file mode 100644 index c7234709128..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/pdlperson/pdlquery.graphql +++ /dev/null @@ -1,118 +0,0 @@ -fragment folkeregistermetadataDetails on Folkeregistermetadata { - aarsak - ajourholdstidspunkt - gyldighetstidspunkt - kilde - opphoerstidspunkt - sekvens -} - -fragment metadataDetails on Metadata { - endringer { - kilde - registrert - registrertAv - systemkilde - type - } - historisk - master - opplysningsId -} - -query($ident: ID!, $historikk: Boolean!) { - hentIdenter(ident: $ident, historikk: true) { - identer { - ident, - historisk, - gruppe - } - } - hentGeografiskTilknytning(ident: $ident) { - gtType, - gtLand, - gtKommune, - gtBydel, - regel - } - hentPerson(ident: $ident) { - foedselsdato { - foedselsaar, - foedselsdato, - metadata { - ...metadataDetails - } - }, - bostedsadresse(historikk: $historikk) { - angittFlyttedato, - coAdressenavn, - gyldigFraOgMed, - gyldigTilOgMed, - vegadresse { - matrikkelId, - husbokstav, - husnummer, - adressenavn, - bruksenhetsnummer, - tilleggsnavn, - postnummer, - kommunenummer, - koordinater { - x, - y, - z - kvalitet - } - }, - matrikkeladresse { - matrikkelId, - bruksenhetsnummer, - tilleggsnavn, - postnummer, - kommunenummer, - koordinater { - x, - y, - z - kvalitet - } - }, - ukjentBosted { - bostedskommune - }, - utenlandskAdresse { - adressenavnNummer, - bygningEtasjeLeilighet, - postboksNummerNavn, - postkode, - bySted, - regionDistriktOmraade, - landkode - } - folkeregistermetadata { - ...folkeregistermetadataDetails - } - metadata { - ...metadataDetails - } - }, - navn(historikk: $historikk) { - fornavn, - mellomnavn, - etternavn, - forkortetNavn, - originaltNavn { - fornavn, - mellomnavn, - etternavn - }, - gyldigFraOgMed, - folkeregistermetadata { - ...folkeregistermetadataDetails - } - metadata { - ...metadataDetails - } - }, - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumerTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumerTest.java deleted file mode 100644 index 0c9e34e1f26..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumerTest.java +++ /dev/null @@ -1,68 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.github.tomakehurst.wiremock.client.WireMock; -import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import reactor.core.publisher.Mono; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.getTestArbeidsforholdDTO; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class ArbeidsforholdConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenService; - - @Autowired - private ObjectMapper objectMapper; - - @Autowired - private ArbeidsforholdConsumer arbeidsforholdConsumer; - - private static final String IDENT = "01019049945"; - private static final String ORGNR = "123456789"; - private static final String ARBEIDSFORHOLD_ID = "1"; - private static final String ARBEIDSFORHOLD_URL = "(.*)/arbeidsforhold/api/v1/arbeidsforhold/" + IDENT + "/" + ORGNR + "/" + ARBEIDSFORHOLD_ID; - - private ArbeidsforholdDTO arbeidsforholdResponse; - - @BeforeEach - void before() { - WireMock.reset(); - when(tokenService.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - arbeidsforholdResponse = getTestArbeidsforholdDTO(ARBEIDSFORHOLD_ID, ORGNR); - } - - @Test - void shouldGetArbeidsforhold() throws JsonProcessingException { - stubArbeidsforhold(); - - var response = arbeidsforholdConsumer.getArbeidsforhold(IDENT, ORGNR, ARBEIDSFORHOLD_ID); - - assertThat(response).isNotNull().isEqualTo(arbeidsforholdResponse); - } - - private void stubArbeidsforhold() throws JsonProcessingException { - stubFor(get(urlPathMatching(ARBEIDSFORHOLD_URL)) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(objectMapper.writeValueAsString(arbeidsforholdResponse)))); - } - -} diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumerTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumerTest.java deleted file mode 100644 index 0bc660d4047..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumerTest.java +++ /dev/null @@ -1,67 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.github.tomakehurst.wiremock.client.WireMock; -import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellListeDTO; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import reactor.core.publisher.Mono; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.getTestLegeListeDTO; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class HelsepersonellConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenService; - - @Autowired - private ObjectMapper objectMapper; - - @Autowired - private HelsepersonellConsumer helsepersonellConsumer; - - private static final String HELSEPERSONELL_URL = "(.*)/testnav-helsepersonell/api/v1/helsepersonell"; - - private HelsepersonellListeDTO helsepersonellResponse; - - @BeforeEach - void before() { - WireMock.reset(); - when(tokenService.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - helsepersonellResponse = getTestLegeListeDTO(); - } - - @Test - void shouldGetHelsepersonell() throws JsonProcessingException { - stubHelsepersonell(); - - var response = helsepersonellConsumer.hentHelsepersonell(); - - assertThat(response).isNotNull(); - assertThat(response.getList()).isNotNull().hasSize(1); - assertThat(response.getList().get(0).getIdent()).isNotNull().isEqualTo(helsepersonellResponse.getHelsepersonell().get(0).getFnr()); - } - - private void stubHelsepersonell() throws JsonProcessingException { - stubFor(get(urlPathMatching(HELSEPERSONELL_URL)) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(objectMapper.writeValueAsString(helsepersonellResponse)))); - } - -} diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumerTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumerTest.java deleted file mode 100644 index 109e38ff9f9..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumerTest.java +++ /dev/null @@ -1,65 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.github.tomakehurst.wiremock.client.WireMock; -import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import reactor.core.publisher.Mono; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.getTestOrganisasjonDTO; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class OrganisasjonConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenService; - - @Autowired - private ObjectMapper objectMapper; - - @Autowired - private OrganisasjonConsumer organisasjonConsumer; - - private static final String ORGNR = "123456789"; - private static final String ORGANISASJON_URL = "(.*)/organisasjon/api/v1/organisasjoner/" + ORGNR; - private OrganisasjonDTO organisasjonResponse; - - @BeforeEach - void before() { - WireMock.reset(); - when(tokenService.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - organisasjonResponse = getTestOrganisasjonDTO(ORGNR); - } - - @Test - void shouldGetOrgansiasjon() throws JsonProcessingException { - stubOrgansisasjon(); - - var response = organisasjonConsumer.getOrganisasjon(ORGNR); - - assertThat(response).isNotNull().isEqualTo(organisasjonResponse); - } - - private void stubOrgansisasjon() throws JsonProcessingException { - stubFor(get(urlPathMatching(ORGANISASJON_URL)) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(objectMapper.writeValueAsString(organisasjonResponse)))); - } - -} diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumerTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumerTest.java deleted file mode 100644 index 4c18a62cd9f..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumerTest.java +++ /dev/null @@ -1,72 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.github.tomakehurst.wiremock.client.WireMock; -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.PdlPerson; -import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import reactor.core.publisher.Mono; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.getTestPdlPerson; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class PdlProxyConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenService; - - @Autowired - private ObjectMapper objectMapper; - - @Autowired - private PdlProxyConsumer pdlProxyConsumer; - - private static final String IDENT = "01019049945"; - private static final String PDL_PROXY_URL = "(.*)/pdl/pdl-api/graphql"; - private PdlPerson pdlResponse; - - @BeforeEach - void before() { - WireMock.reset(); - when(tokenService.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - pdlResponse = getTestPdlPerson(IDENT); - } - - @Test - void shouldGetArbeidsforhold() throws JsonProcessingException { - stubPdlProxy(); - - var response = pdlProxyConsumer.getPdlPerson(IDENT); - - assertThat(response).isNotNull(); - assertThat(response.getErrors()).isEmpty(); - assertThat(response.getData()).isNotNull(); - assertThat(response.getData().getHentPerson().getFoedsel()).isEmpty(); - assertThat(response.getData().getHentPerson().getNavn()).hasSize(1); - assertThat(response.getData().getHentIdenter().getIdenter()).hasSize(1); - assertThat(response.getData().getHentIdenter().getIdenter().get(0).getIdent()).isEqualTo(IDENT); - } - - private void stubPdlProxy() throws JsonProcessingException { - stubFor(post(urlPathMatching(PDL_PROXY_URL)) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(objectMapper.writeValueAsString(pdlResponse)))); - } - -} - diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumerTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumerTest.java deleted file mode 100644 index cac5b67841a..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumerTest.java +++ /dev/null @@ -1,121 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import com.github.tomakehurst.wiremock.client.WireMock; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingHistorikkDTO; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Arbeidsforhold; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Helsepersonell; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Person; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Sykemelding; -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.PdlPerson; -import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellListeDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingDTO; -import no.nav.testnav.libs.dto.synt.sykemelding.v1.SyntSykemeldingDTO; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import org.springframework.web.server.ResponseStatusException; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.Map; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.*; -import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class SykemeldingConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenService; - - @Autowired - private SykemeldingConsumer sykemeldingConsumer; - - private static final String IDENT = "12345678910"; - private static final String ORGNR = "123456789"; - private static final String ARBEIDSFORHOLD_ID = "1"; - private static final String SYKEMELDING_URL = "(.*)/sykemelding/sykemelding/api/v1/sykemeldinger"; - - private SyntSykemeldingDTO dto; - private PdlPerson pdlResponse; - private ArbeidsforholdDTO arbeidsforholdResponse; - private OrganisasjonDTO organisasjonResponse; - private Map syntResponse; - private HelsepersonellListeDTO helsepersonellResponse; - private SykemeldingDTO sykemeldingRequest; - - @BeforeEach - void setUp() { - when(tokenService.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - - dto = SyntSykemeldingDTO.builder() - .arbeidsforholdId(ARBEIDSFORHOLD_ID) - .ident(IDENT) - .orgnummer(ORGNR) - .startDato(LocalDate.now()) - .build(); - - pdlResponse = getTestPdlPerson(IDENT); - arbeidsforholdResponse = getTestArbeidsforholdDTO(ARBEIDSFORHOLD_ID, ORGNR); - organisasjonResponse = getTestOrganisasjonDTO(ORGNR); - - var arbeidsforhold = new Arbeidsforhold( - arbeidsforholdResponse, - organisasjonResponse - ); - - syntResponse = getTestHistorikk(IDENT); - helsepersonellResponse = getTestLegeListeDTO(); - - sykemeldingRequest = new Sykemelding( - new Person(pdlResponse), - syntResponse.get(IDENT), - dto, - new Helsepersonell(helsepersonellResponse.getHelsepersonell().get(0)), - arbeidsforhold).toDTO(); - } - - @AfterEach - void reset() { - WireMock.reset(); - } - - @Test - @Disabled("Investigate failure and reenable (should apparently reply OK due to stubSykemelding)") - void shouldPostSykemeldingUtenFeil() { - stubSykemelding(); - assertDoesNotThrow(() -> sykemeldingConsumer.opprettSykemelding(sykemeldingRequest)); - } - - @Test - void shouldGetFeil() { - stubSykemeldingError(); - assertThrows(ResponseStatusException.class, () -> sykemeldingConsumer.opprettSykemelding(sykemeldingRequest)); - } - - private void stubSykemelding() { - stubFor(post(urlPathMatching(SYKEMELDING_URL)).willReturn(ok())); - } - - private void stubSykemeldingError() { - stubFor(post(urlPathMatching(SYKEMELDING_URL)).willReturn(aResponse().withStatus(500))); - } - -} - diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumerTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumerTest.java deleted file mode 100644 index becb879c551..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumerTest.java +++ /dev/null @@ -1,68 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.github.tomakehurst.wiremock.client.WireMock; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingHistorikkDTO; -import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.Map; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.getTestHistorikk; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class SyntElsamConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenService; - - @Autowired - private ObjectMapper objectMapper; - - @Autowired - private SyntElsamConsumer syntElsamConsumer; - - private static final String IDENT = "01019049945"; - private static final String SYNT_URL = "(.*)/synt/api/v1/generate_sykmeldings_history_json"; - private Map syntResponse; - - @BeforeEach - void before() { - WireMock.reset(); - when(tokenService.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - syntResponse = getTestHistorikk(IDENT); - } - - @Test - void shouldGetSyntSykemelding() throws JsonProcessingException { - stubSynt(); - - var response = syntElsamConsumer.genererSykemeldinger(IDENT, LocalDate.now()); - - assertThat(response).isNotNull().isEqualTo(syntResponse.get(IDENT)); - } - - private void stubSynt() throws JsonProcessingException { - stubFor(post(urlPathMatching(SYNT_URL)) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(objectMapper.writeValueAsString(syntResponse)))); - } - -} diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingControllerIntegrationTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingControllerIntegrationTest.java deleted file mode 100644 index c49cf9579b4..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingControllerIntegrationTest.java +++ /dev/null @@ -1,124 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.provider; - -import com.fasterxml.jackson.databind.ObjectMapper; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.*; -import no.nav.testnav.apps.syntsykemeldingapi.domain.HelsepersonellListe; -import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingDTO; -import no.nav.testnav.libs.dto.synt.sykemelding.v1.SyntSykemeldingDTO; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import no.nav.testnav.libs.testing.JsonWiremockHelper; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import org.springframework.test.web.servlet.MockMvc; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.Map; - -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.*; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - -@DollySpringBootTest -@AutoConfigureMockMvc(addFilters = false) -@AutoConfigureWireMock(port = 0) -class SyntSykemeldingControllerIntegrationTest { - - @Autowired - private MockMvc mockMvc; - - @Autowired - private ObjectMapper objectMapper; - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenExchange; - - @MockitoBean - @SuppressWarnings("unused") - private PdlProxyConsumer pdlProxyConsumer; - - @MockitoBean - @SuppressWarnings("unused") - private ArbeidsforholdConsumer arbeidsforholdConsumer; - - @MockitoBean - @SuppressWarnings("unused") - private OrganisasjonConsumer organisasjonConsumer; - - @MockitoBean - @SuppressWarnings("unused") - private HelsepersonellConsumer helsepersonellConsumer; - - @MockitoBean - @SuppressWarnings("unused") - private SykemeldingConsumer sykemeldingConsumer; - - @BeforeEach - void beforeEach() { - when(tokenExchange.exchange(any(ServerProperties.class))) - .thenReturn(Mono.just(new AccessToken())); - } - - @Test - void shouldOpprettSyntSykemelding() throws Exception { - - var arbeidsforholdId = "1"; - var ident = "12345678910"; - var orgnummer = "123456789"; - - JsonWiremockHelper - .builder(objectMapper) - .withUrlPathMatching("(.*)/synt/api/v1/generate_sykmeldings_history_json") - .withRequestBody(Map.of(ident, LocalDate.now().toString())) - .withResponseBody(getTestHistorikk(ident)) - .stubPost(HttpStatus.OK); - - var request = SyntSykemeldingDTO - .builder() - .arbeidsforholdId(arbeidsforholdId) - .ident(ident) - .orgnummer(orgnummer) - .startDato(LocalDate.now()) - .build(); - - when(pdlProxyConsumer.getPdlPerson(anyString())) - .thenReturn(getTestPdlPerson(ident)); - - when(arbeidsforholdConsumer.getArbeidsforhold(anyString(), anyString(), anyString())) - .thenReturn(getTestArbeidsforholdDTO(arbeidsforholdId, orgnummer)); - - when(organisasjonConsumer.getOrganisasjon(anyString())) - .thenReturn(getTestOrganisasjonDTO(orgnummer)); - - when(helsepersonellConsumer.hentHelsepersonell()) - .thenReturn(new HelsepersonellListe(getTestLegeListeDTO())); - - mockMvc - .perform( - post("/api/v1/synt-sykemelding") - .content(objectMapper.writeValueAsString(request)) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()); - - verify(pdlProxyConsumer).getPdlPerson(anyString()); - verify(arbeidsforholdConsumer).getArbeidsforhold(anyString(), anyString(), anyString()); - verify(organisasjonConsumer).getOrganisasjon(anyString()); - verify(sykemeldingConsumer).opprettSykemelding(any(SykemeldingDTO.class)); - - } - -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/util/TestUtil.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/util/TestUtil.java deleted file mode 100644 index d339f01c8f0..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/util/TestUtil.java +++ /dev/null @@ -1,104 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.util; - -import java.time.LocalDate; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.Metadata; -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.PdlPerson; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellDTO; -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellListeDTO; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntDiagnoserDTO; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingDTO; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingHistorikkDTO; - -public class TestUtil { - - public static PdlPerson getTestPdlPerson(String ident) { - var metadata = new Metadata(false); - - var identer = PdlPerson.HentIdenter.builder() - .identer(Collections.singletonList(PdlPerson.Identer.builder() - .gruppe(PdlPerson.Gruppe.FOLKEREGISTERIDENT) - .historisk(false) - .ident(ident) - .build() - )) - .build(); - var hentPersoner = PdlPerson.HentPerson.builder() - .navn(Collections.singletonList(PdlPerson.Navn.builder() - .fornavn("Hans") - .mellomnavn("Hans") - .etternavn("Hansen") - .metadata(metadata) - .build())) - .build(); - - return PdlPerson.builder() - .data(PdlPerson.Data.builder() - .hentPerson(hentPersoner) - .hentIdenter(identer) - .build()) - .build(); - } - - public static ArbeidsforholdDTO getTestArbeidsforholdDTO(String arbeidsforholdId, String orgnr) { - return ArbeidsforholdDTO.builder() - .arbeidsforholdId(arbeidsforholdId) - .orgnummer(orgnr) - .stillingsprosent(100.00F) - .yrke("Test yrke") - .build(); - } - - public static OrganisasjonDTO getTestOrganisasjonDTO(String orgnr) { - return OrganisasjonDTO.builder() - .enhetType("Type") - .orgnummer(orgnr) - .juridiskEnhet("Enhet") - .navn("Test bedrift") - .build(); - } - - public static Map getTestHistorikk(String ident) { - var resultat = new HashMap(); - resultat.put(ident, getTestSyntSykemeldingHistorikkDTO()); - - return resultat; - } - - - public static SyntSykemeldingHistorikkDTO getTestSyntSykemeldingHistorikkDTO() { - var diagnose = SyntDiagnoserDTO.builder() - .diagnose("Diagnose") - .diagnosekode("Kode") - .system("System") - .build(); - - return SyntSykemeldingHistorikkDTO.builder() - .sykmeldinger(Collections.singletonList(SyntSykemeldingDTO.builder() - .arbeidsforEtterEndtPeriode(Boolean.FALSE) - .biDiagnoser(Collections.singletonList(diagnose)) - .hovedDiagnose(diagnose) - .kontaktMedPasient(LocalDate.now()) - .meldingTilNav(Boolean.FALSE) - .reisetilskudd(Boolean.FALSE) - .sluttPeriode(LocalDate.now().plusMonths(1)) - .startPeriode(LocalDate.now()) - .sykmeldingsprosent(50.0) - .build())) - .build(); - } - - public static HelsepersonellListeDTO getTestLegeListeDTO() { - return new HelsepersonellListeDTO(Collections.singletonList(HelsepersonellDTO.builder().fornavn("Lege") - .mellomnavn("L.") - .etternavn("Legesen") - .fnr("123") - .hprId("123").build())); - } - -} diff --git a/apps/synt-sykemelding-api/src/test/resources/application-test.yml b/apps/synt-sykemelding-api/src/test/resources/application-test.yml deleted file mode 100644 index 60a87993bcb..00000000000 --- a/apps/synt-sykemelding-api/src/test/resources/application-test.yml +++ /dev/null @@ -1,35 +0,0 @@ -wiremock: - server: - port: 0 - -consumers: - synt-sykemelding: - url: http://localhost:${wiremock.server.port}/synt - name: synthdata-elsam-gcp - cluster: dummy - namespace: dummy - sykemelding-api: - url: http://localhost:${wiremock.server.port}/sykemelding - name: testnav-sykemelding-api - cluster: dummy - namespace: dummy - testnav-organisasjon-service: - url: http://localhost:${wiremock.server.port}/organisasjon - name: testnav-organisasjon-service - cluster: dummy - namespace: dummy - testnav-arbeidsforhold-service: - url: http://localhost:${wiremock.server.port}/arbeidsforhold - cluster: dummy - namespace: dummy - name: testnav-arbeidsforhold-service - testnav-helsepersonell-service: - url: http://localhost:${wiremock.server.port}/testnav-helsepersonell - cluster: dummy - namespace: dummy - name: testnav-helsepersonell-service - testnav-pdl-proxy: - name: testnav-pdl-proxy - namespace: dummy - url: http://localhost:${wiremock.server.port}/pdl - cluster: dummy \ No newline at end of file diff --git a/apps/synt-vedtakshistorikk-service/build.gradle b/apps/synt-vedtakshistorikk-service/build.gradle index 93b257d3563..66e7c7d9801 100644 --- a/apps/synt-vedtakshistorikk-service/build.gradle +++ b/apps/synt-vedtakshistorikk-service/build.gradle @@ -11,7 +11,6 @@ sonarqube { dependencies { implementation "no.nav.testnav.libs:data-transfer-objects" - implementation "no.nav.testnav.libs:domain" implementation "no.nav.testnav.libs:security-core" implementation "no.nav.testnav.libs:servlet-core" implementation "no.nav.testnav.libs:servlet-insecure-security" diff --git a/apps/synt-vedtakshistorikk-service/settings.gradle b/apps/synt-vedtakshistorikk-service/settings.gradle index 91a5bef64b6..817166f8a5a 100644 --- a/apps/synt-vedtakshistorikk-service/settings.gradle +++ b/apps/synt-vedtakshistorikk-service/settings.gradle @@ -7,7 +7,6 @@ rootProject.name = "synt-vedtakshistorikk-service" includeBuild "../../plugins/java" includeBuild "../../libs/data-transfer-objects" -includeBuild "../../libs/domain" includeBuild "../../libs/security-core" includeBuild "../../libs/servlet-core" includeBuild "../../libs/servlet-insecure-security" diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/ArenaForvalterConsumer.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/ArenaForvalterConsumer.java index 2818e64a80e..d7452d4207d 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/ArenaForvalterConsumer.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/ArenaForvalterConsumer.java @@ -13,10 +13,10 @@ import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.FinnTiltakRequest; import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.RettighetRequest; import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.response.arena.EndreInnsatsbehovResponse; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.Arbeidsoeker; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.NyBruker; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyeBrukereResponse; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakResponse; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.Arbeidsoeker; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.NyBruker; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyeBrukereResponse; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakResponse; import no.nav.testnav.libs.dto.syntvedtakshistorikkservice.v1.DagpengerRequestDTO; import no.nav.testnav.libs.dto.syntvedtakshistorikkservice.v1.DagpengerResponseDTO; import no.nav.testnav.libs.securitycore.domain.ServerProperties; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/SyntVedtakshistorikkConsumer.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/SyntVedtakshistorikkConsumer.java index dd54ea2a46c..fb45d916870 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/SyntVedtakshistorikkConsumer.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/SyntVedtakshistorikkConsumer.java @@ -3,7 +3,7 @@ import lombok.extern.slf4j.Slf4j; import no.nav.testnav.apps.syntvedtakshistorikkservice.config.Consumers; import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.command.synt.HentVedtakshistorikkCommand; -import no.nav.testnav.libs.domain.dto.arena.testnorge.historikk.Vedtakshistorikk; +import no.nav.testnav.libs.dto.arena.testnorge.historikk.Vedtakshistorikk; import no.nav.testnav.libs.securitycore.domain.ServerProperties; import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange; import org.springframework.stereotype.Component; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/GetArenaBrukereCommand.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/GetArenaBrukereCommand.java index a56b173c0f2..da1908ea44c 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/GetArenaBrukereCommand.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/GetArenaBrukereCommand.java @@ -1,7 +1,7 @@ package no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.command.arena; import lombok.AllArgsConstructor; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyeBrukereResponse; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyeBrukereResponse; import org.springframework.util.MultiValueMap; import org.springframework.web.reactive.function.client.WebClient; import reactor.core.publisher.Mono; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/PostArenaBrukerCommand.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/PostArenaBrukerCommand.java index 80935a9b047..24466d9fb48 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/PostArenaBrukerCommand.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/PostArenaBrukerCommand.java @@ -1,8 +1,8 @@ package no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.command.arena; import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.NyBruker; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyeBrukereResponse; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.NyBruker; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyeBrukereResponse; import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/PostFinnTiltakCommand.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/PostFinnTiltakCommand.java index fdd75dddcc8..26b71456bea 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/PostFinnTiltakCommand.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/PostFinnTiltakCommand.java @@ -2,7 +2,7 @@ import lombok.extern.slf4j.Slf4j; import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.FinnTiltakRequest; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakResponse; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakResponse; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.web.reactive.function.BodyInserters; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/PostRettighetCommand.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/PostRettighetCommand.java index a6cc0185c14..1635ae42c90 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/PostRettighetCommand.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/arena/PostRettighetCommand.java @@ -2,7 +2,7 @@ import lombok.AllArgsConstructor; import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.RettighetRequest; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakResponse; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakResponse; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.web.reactive.function.BodyInserters; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/synt/HentVedtakshistorikkCommand.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/synt/HentVedtakshistorikkCommand.java index 23e9e18bc8c..ab360018e23 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/synt/HentVedtakshistorikkCommand.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/command/synt/HentVedtakshistorikkCommand.java @@ -3,7 +3,7 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.util.WebClientFilter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.historikk.Vedtakshistorikk; +import no.nav.testnav.libs.dto.arena.testnorge.historikk.Vedtakshistorikk; import org.springframework.core.ParameterizedTypeReference; import org.springframework.web.reactive.function.BodyInserters; import org.springframework.web.reactive.function.client.WebClient; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/EndreInnsatsbehovRequest.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/EndreInnsatsbehovRequest.java index 5ebb002c775..7eaef9f1702 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/EndreInnsatsbehovRequest.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/EndreInnsatsbehovRequest.java @@ -1,7 +1,6 @@ package no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena; import com.fasterxml.jackson.annotation.JsonInclude; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.NyEndreInnsatsbehov; import java.util.List; @@ -10,6 +9,7 @@ import lombok.Setter; import lombok.AllArgsConstructor; import lombok.NoArgsConstructor; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.NyEndreInnsatsbehov; @Getter diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/FinnTiltakRequest.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/FinnTiltakRequest.java index eedd9995499..b3b66a92919 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/FinnTiltakRequest.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/FinnTiltakRequest.java @@ -4,7 +4,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetAap115Request.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetAap115Request.java index 4215bcaa62f..38a64af9943 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetAap115Request.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetAap115Request.java @@ -5,9 +5,9 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.util.Collections; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetAapRequest.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetAapRequest.java index adcc7785537..34c19b224d3 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetAapRequest.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetAapRequest.java @@ -5,9 +5,9 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.util.Collections; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetEndreDeltakerstatusRequest.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetEndreDeltakerstatusRequest.java index e7e413f4ec9..1113c863eb9 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetEndreDeltakerstatusRequest.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetEndreDeltakerstatusRequest.java @@ -5,9 +5,9 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.util.Collections; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetFritakMeldekortRequest.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetFritakMeldekortRequest.java index 90d0516ca96..00b96bc9b4a 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetFritakMeldekortRequest.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetFritakMeldekortRequest.java @@ -5,9 +5,9 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.util.Collections; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetRequest.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetRequest.java index b374b3cec4b..7efb79027d1 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetRequest.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetRequest.java @@ -7,9 +7,9 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.io.Serializable; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTilleggRequest.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTilleggRequest.java index 33334235094..90a8d41bdbf 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTilleggRequest.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTilleggRequest.java @@ -5,9 +5,9 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.util.Collections; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTilleggsytelseRequest.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTilleggsytelseRequest.java index 29e50720bc7..a9880086a8a 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTilleggsytelseRequest.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTilleggsytelseRequest.java @@ -5,9 +5,9 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.util.Collections; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTiltaksaktivitetRequest.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTiltaksaktivitetRequest.java index 6bf2fafdd42..f1634bbcb9a 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTiltaksaktivitetRequest.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTiltaksaktivitetRequest.java @@ -5,9 +5,9 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.util.Collections; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTiltaksdeltakelseRequest.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTiltaksdeltakelseRequest.java index 3a60ec5c814..576a1920026 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTiltaksdeltakelseRequest.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTiltaksdeltakelseRequest.java @@ -5,9 +5,9 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.util.Collections; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTiltakspengerRequest.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTiltakspengerRequest.java index b58fededc42..b480e52b88f 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTiltakspengerRequest.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTiltakspengerRequest.java @@ -5,9 +5,9 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.util.Collections; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTvungenForvaltningRequest.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTvungenForvaltningRequest.java index 9a0661f3f35..d10572a961b 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTvungenForvaltningRequest.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetTvungenForvaltningRequest.java @@ -5,9 +5,9 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.util.Collections; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetUngUfoerRequest.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetUngUfoerRequest.java index d40f9997c5b..75170ddb890 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetUngUfoerRequest.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/request/arena/rettighet/RettighetUngUfoerRequest.java @@ -5,9 +5,9 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.util.Collections; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/response/arena/EndreInnsatsbehovResponse.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/response/arena/EndreInnsatsbehovResponse.java index a2d6d7c9ffe..55e101c893b 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/response/arena/EndreInnsatsbehovResponse.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/response/arena/EndreInnsatsbehovResponse.java @@ -1,9 +1,13 @@ package no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.response.arena; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.*; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.NyEndreInnsatsbehov; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.NyEndreInnsatsbehovFeil; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.NyEndreInnsatsbehov; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.NyEndreInnsatsbehovFeil; import java.util.List; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/provider/BrukerController.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/provider/BrukerController.java index 45b275e09b9..b46de3b0db8 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/provider/BrukerController.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/provider/BrukerController.java @@ -6,10 +6,10 @@ import no.nav.testnav.apps.syntvedtakshistorikkservice.service.TagsService; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.ArenaForvalterService; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.ArenaDagpengerService; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyeBrukereResponse; import no.nav.testnav.libs.dto.personsearchservice.v1.PersonDTO; import no.nav.testnav.libs.dto.syntvedtakshistorikkservice.v1.DagpengerResponseDTO; import no.nav.testnav.apps.syntvedtakshistorikkservice.provider.request.SyntetiserArenaRequest; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyeBrukereResponse; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/provider/VedtakshistorikkController.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/provider/VedtakshistorikkController.java index 5c74f3fb6bc..42bde10deee 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/provider/VedtakshistorikkController.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/provider/VedtakshistorikkController.java @@ -3,13 +3,12 @@ import lombok.RequiredArgsConstructor; import no.nav.testnav.apps.syntvedtakshistorikkservice.provider.request.SyntetiserArenaRequest; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.VedtakshistorikkService; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakResponse; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakResponse; - import java.util.List; import java.util.Map; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaAapService.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaAapService.java index aa169eaffd9..0adb91c8261 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaAapService.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaAapService.java @@ -2,8 +2,8 @@ import lombok.RequiredArgsConstructor; import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.RettighetRequest; -import no.nav.testnav.libs.domain.dto.arena.testnorge.historikk.Vedtakshistorikk; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.historikk.Vedtakshistorikk; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; import no.nav.testnav.libs.dto.personsearchservice.v1.PersonDTO; import org.springframework.stereotype.Service; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaForvalterService.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaForvalterService.java index c9850575592..e0a8145f385 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaForvalterService.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaForvalterService.java @@ -8,10 +8,15 @@ import no.nav.testnav.apps.syntvedtakshistorikkservice.service.exception.ArbeidssoekerException; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.exception.VedtakshistorikkException; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.ArenaBrukerUtils; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.Kvalifiseringsgrupper; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.NyBruker; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.NyEndreInnsatsbehov; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.*; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.Kvalifiseringsgrupper; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.NyBruker; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.NyEndreInnsatsbehov; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyeBrukereResponse; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakResponse; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.RettighetType; import no.nav.testnav.libs.dto.personsearchservice.v1.PersonDTO; import no.nav.testnav.libs.dto.syntvedtakshistorikkservice.v1.DagpengerRequestDTO; import no.nav.testnav.libs.dto.syntvedtakshistorikkservice.v1.DagpengerResponseDTO; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTilleggService.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTilleggService.java index c97773e634e..95cb708735c 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTilleggService.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTilleggService.java @@ -4,11 +4,11 @@ import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.RettighetRequest; import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.RettighetTiltaksaktivitetRequest; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.RequestUtils; -import no.nav.testnav.libs.domain.dto.arena.testnorge.historikk.Vedtakshistorikk; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtak; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.historikk.Vedtakshistorikk; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import org.springframework.stereotype.Service; import java.time.LocalDate; @@ -16,12 +16,11 @@ import java.util.List; import java.util.Objects; -import static no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.RequestUtils.getRettighetTilleggRequest; -import static no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.VedtakUtils.getTilleggSekvenser; -import static no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.DatoUtils.datoErInnenforPeriode; - import static java.util.Objects.isNull; import static java.util.Objects.nonNull; +import static no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.DatoUtils.datoErInnenforPeriode; +import static no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.RequestUtils.getRettighetTilleggRequest; +import static no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.VedtakUtils.getTilleggSekvenser; @Service @RequiredArgsConstructor diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTiltakService.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTiltakService.java index 7ad64bfe136..ab143df09e8 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTiltakService.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTiltakService.java @@ -11,14 +11,14 @@ import no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.KodeMedSannsynlighet; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.RequestUtils; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.ServiceUtils; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.Deltakerstatuser; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.Kvalifiseringsgrupper; -import no.nav.testnav.libs.domain.dto.arena.testnorge.historikk.Vedtakshistorikk; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtak; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.Deltakerstatuser; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.Kvalifiseringsgrupper; +import no.nav.testnav.libs.dto.arena.testnorge.historikk.Vedtakshistorikk; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import no.nav.testnav.libs.dto.personsearchservice.v1.PersonDTO; import org.springframework.stereotype.Service; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/VedtakshistorikkService.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/VedtakshistorikkService.java index 12ff94802bc..f1078d9561a 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/VedtakshistorikkService.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/VedtakshistorikkService.java @@ -17,9 +17,9 @@ import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.RettighetRequest; import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.SyntVedtakshistorikkConsumer; -import no.nav.testnav.libs.domain.dto.arena.testnorge.historikk.Vedtakshistorikk; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakResponse; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.historikk.Vedtakshistorikk; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakResponse; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import no.nav.testnav.libs.dto.personsearchservice.v1.PersonDTO; import org.springframework.stereotype.Service; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/ArenaBrukerUtils.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/ArenaBrukerUtils.java index c376c3394fe..311b979d0f5 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/ArenaBrukerUtils.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/ArenaBrukerUtils.java @@ -6,8 +6,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.exception.ArbeidssoekerException; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.Arbeidsoeker; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.Kvalifiseringsgrupper; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.Arbeidsoeker; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.Kvalifiseringsgrupper; import org.springframework.stereotype.Service; import java.io.IOException; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/DatoUtils.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/DatoUtils.java index 56e7f3f7194..37d75bb695a 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/DatoUtils.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/DatoUtils.java @@ -1,9 +1,13 @@ package no.nav.testnav.apps.syntvedtakshistorikkservice.service.util; -import no.nav.testnav.libs.domain.dto.arena.testnorge.aap.gensaksopplysninger.GensakKoder; -import no.nav.testnav.libs.domain.dto.arena.testnorge.historikk.Vedtakshistorikk; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.*; +import no.nav.testnav.libs.dto.arena.testnorge.aap.gensaksopplysninger.GensakKoder; +import no.nav.testnav.libs.dto.arena.testnorge.historikk.Vedtakshistorikk; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.RettighetType; import org.springframework.stereotype.Service; import java.time.LocalDate; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/RequestUtils.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/RequestUtils.java index e66ab626988..96d36541719 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/RequestUtils.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/RequestUtils.java @@ -20,14 +20,14 @@ import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.RettighetUngUfoerRequest; import no.nav.testnav.apps.syntvedtakshistorikkservice.domain.Kontoinfo; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.Deltakerstatuser; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.forvalter.Adresse; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.forvalter.Forvalter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.forvalter.Konto; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.Deltakerstatuser; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.forvalter.Adresse; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.forvalter.Forvalter; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.forvalter.Konto; import org.springframework.stereotype.Service; import java.io.IOException; diff --git a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/VedtakUtils.java b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/VedtakUtils.java index 0dbd3d0c1f1..dd5d7f05df4 100644 --- a/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/VedtakUtils.java +++ b/apps/synt-vedtakshistorikk-service/src/main/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/VedtakUtils.java @@ -1,10 +1,10 @@ package no.nav.testnav.apps.syntvedtakshistorikkservice.service.util; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtak; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import org.springframework.stereotype.Service; import java.time.LocalDate; diff --git a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/ArenaForvalterConsumerTest.java b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/ArenaForvalterConsumerTest.java index b27ab504a8d..0a6b1fb5f9c 100644 --- a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/ArenaForvalterConsumerTest.java +++ b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/consumer/ArenaForvalterConsumerTest.java @@ -1,8 +1,8 @@ package no.nav.testnav.apps.syntvedtakshistorikkservice.consumer; -import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.*; import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.Arbeidsoeker; +import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.*; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.Arbeidsoeker; import no.nav.testnav.libs.securitycore.domain.AccessToken; import no.nav.testnav.libs.securitycore.domain.ServerProperties; import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange; @@ -47,10 +47,8 @@ void setup() { @Test void checkExceptionOccursOnBadSentTilArenaForvalterRequest() { stubOpprettErrorResponse(); - assertThrows(Exception.class, () -> { - arenaForvalterConsumer.sendBrukereTilArenaForvalter(null); - }); - + assertThrows(Exception.class, () -> + arenaForvalterConsumer.sendBrukereTilArenaForvalter(null)); } private void stubOpprettErrorResponse() { diff --git a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/provider/BrukerControllerTest.java b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/provider/BrukerControllerTest.java index 63f78c14824..af5a0a0a21b 100644 --- a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/provider/BrukerControllerTest.java +++ b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/provider/BrukerControllerTest.java @@ -5,8 +5,8 @@ import no.nav.testnav.apps.syntvedtakshistorikkservice.service.ArenaForvalterService; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.IdentService; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.TagsService; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.Arbeidsoeker; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyeBrukereResponse; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.Arbeidsoeker; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyeBrukereResponse; import no.nav.testnav.libs.dto.personsearchservice.v1.PersonDTO; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaAapServiceTest.java b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaAapServiceTest.java index de6987c56a1..55132476a1e 100644 --- a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaAapServiceTest.java +++ b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaAapServiceTest.java @@ -1,9 +1,9 @@ package no.nav.testnav.apps.syntvedtakshistorikkservice.service; import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.RettighetRequest; -import no.nav.testnav.libs.domain.dto.arena.testnorge.aap.gensaksopplysninger.Saksopplysning; -import no.nav.testnav.libs.domain.dto.arena.testnorge.historikk.Vedtakshistorikk; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.aap.gensaksopplysninger.Saksopplysning; +import no.nav.testnav.libs.dto.arena.testnorge.historikk.Vedtakshistorikk; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; import no.nav.testnav.libs.dto.personsearchservice.v1.FoedselsdatoDTO; import no.nav.testnav.libs.dto.personsearchservice.v1.PersonDTO; import org.junit.jupiter.api.BeforeEach; diff --git a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTilleggServiceTest.java b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTilleggServiceTest.java index 6b6fa1c8756..5aba143056e 100644 --- a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTilleggServiceTest.java +++ b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTilleggServiceTest.java @@ -3,11 +3,11 @@ import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.RettighetAap115Request; import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.RettighetRequest; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.RequestUtils; -import no.nav.testnav.libs.domain.dto.arena.testnorge.historikk.Vedtakshistorikk; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.historikk.Vedtakshistorikk; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; diff --git a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTiltakServiceTest.java b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTiltakServiceTest.java index c5d5ac33834..49a96a25990 100644 --- a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTiltakServiceTest.java +++ b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/ArenaTiltakServiceTest.java @@ -3,10 +3,10 @@ import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.RettighetRequest; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.RequestUtils; import no.nav.testnav.apps.syntvedtakshistorikkservice.service.util.ServiceUtils; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.Kvalifiseringsgrupper; -import no.nav.testnav.libs.domain.dto.arena.testnorge.historikk.Vedtakshistorikk; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.Kvalifiseringsgrupper; +import no.nav.testnav.libs.dto.arena.testnorge.historikk.Vedtakshistorikk; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import no.nav.testnav.libs.dto.personsearchservice.v1.PersonDTO; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/DatoUtilsTest.java b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/DatoUtilsTest.java index 42e5ef000b7..991513d65a6 100644 --- a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/DatoUtilsTest.java +++ b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/DatoUtilsTest.java @@ -1,6 +1,6 @@ package no.nav.testnav.apps.syntvedtakshistorikkservice.service.util; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; import org.junit.jupiter.api.Test; import java.time.LocalDate; diff --git a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/RequestUtilsTest.java b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/RequestUtilsTest.java index 64c076865f3..81ef5c528de 100644 --- a/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/RequestUtilsTest.java +++ b/apps/synt-vedtakshistorikk-service/src/test/java/no/nav/testnav/apps/syntvedtakshistorikkservice/service/util/RequestUtilsTest.java @@ -1,8 +1,8 @@ package no.nav.testnav.apps.syntvedtakshistorikkservice.service.util; import no.nav.testnav.apps.syntvedtakshistorikkservice.consumer.request.arena.rettighet.RettighetTilleggRequest; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; diff --git a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentByIdCommand.java b/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentByIdCommand.java deleted file mode 100644 index a411001d7bb..00000000000 --- a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentByIdCommand.java +++ /dev/null @@ -1,45 +0,0 @@ -package no.nav.testnav.libs.commands; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOppsummeringsdokumentByIdCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final String id; - - @SneakyThrows - @Override - public Mono call() { - log.info("Henter oppsummeringsdokumentet med id {}.", id); - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/oppsummeringsdokumenter/{id}") - .build(id) - ) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .retrieve() - .bodyToMono(OppsummeringsdokumentDTO.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .onErrorResume(WebClientResponseException.NotFound.class, ex -> { - log.info("Fant ikke oppsummeringsdokumentet med id {}.", id); - return Mono.empty(); - }); - - } -} diff --git a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentCommand.java b/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentCommand.java deleted file mode 100644 index 8df76c947f3..00000000000 --- a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -package no.nav.testnav.libs.commands; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.time.LocalDate; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOppsummeringsdokumentCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final String orgnummer; - private final LocalDate kalendermaaned; - private final String miljo; - - @SneakyThrows - @Override - public Mono call() { - log.info("Henter oppsummeringsdokumentet med orgnummer {} den {} i {}.", orgnummer, kalendermaaned, miljo); - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/oppsummeringsdokumenter/{orgnummer}/{kalendermaaned}") - .build(orgnummer, kalendermaaned) - ) - .header("miljo", miljo) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .retrieve() - .bodyToMono(OppsummeringsdokumentDTO.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .onErrorResume(WebClientResponseException.NotFound.class, ex -> { - log.info("Fant ikke oppsummeringsdokumentet med orgnummer {} den {} i {}.", orgnummer, kalendermaaned, miljo); - return Mono.empty(); - }); - } -} \ No newline at end of file diff --git a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterByIdentCommand.java b/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterByIdentCommand.java deleted file mode 100644 index 31fcf0900f9..00000000000 --- a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterByIdentCommand.java +++ /dev/null @@ -1,51 +0,0 @@ -package no.nav.testnav.libs.commands; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatusCode; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.List; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOppsummeringsdokumenterByIdentCommand implements Callable>> { - private final WebClient webClient; - private final String accessToken; - private final String ident; - private final String miljo; - - @SneakyThrows - @Override - public Mono> call() { - log.info("Henter oppsummeringsdokumenteter for ident {}.", ident); - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/oppsummeringsdokumenter/identer/{ident}") - .build(ident) - ) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .header("miljo", this.miljo) - .retrieve() - .onStatus(HttpStatusCode::isError, response -> Mono.error(new RuntimeException("Noe gikk galt med henting av oppsummeringsdokumenteter for " + ident))) - .bodyToMono(new ParameterizedTypeReference>() { - }) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .map(value -> { - log.info("Hentet {} oppsummeringsdokumenter funnet for {}", value.size(), ident); - return value; - }); - - } -} diff --git a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterCommand.java b/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterCommand.java deleted file mode 100644 index 5fcaeda17c4..00000000000 --- a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterCommand.java +++ /dev/null @@ -1,51 +0,0 @@ -package no.nav.testnav.libs.commands; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.Arrays; -import java.util.List; -import java.util.concurrent.Callable; -import java.util.stream.Collectors; - -@Slf4j -@RequiredArgsConstructor -public class GetOppsummeringsdokumenterCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final String miljo; - - @SneakyThrows - @Override - public List call() { - log.info("Henter alle oppsummeringsdokumenter i {}...", miljo); - try { - OppsummeringsdokumentDTO[] array = webClient - .get() - .uri(builder -> builder - .path("/api/v1/oppsummeringsdokumenter") - .build() - ) - .header("miljo", this.miljo) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .retrieve() - .bodyToMono(OppsummeringsdokumentDTO[].class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .block(); - var list = Arrays.stream(array).collect(Collectors.toList()); - log.info("Fant {} dokumenter i {}.", list.size(), miljo); - return list; - } catch (WebClientResponseException.NotFound e) { - return null; - } - } -} \ No newline at end of file diff --git a/libs/commands/src/main/java/no/nav/testnav/libs/commands/SaveOppsummeringsdokumenterCommand.java b/libs/commands/src/main/java/no/nav/testnav/libs/commands/SaveOppsummeringsdokumenterCommand.java deleted file mode 100644 index 79fd0d8fcc7..00000000000 --- a/libs/commands/src/main/java/no/nav/testnav/libs/commands/SaveOppsummeringsdokumenterCommand.java +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.testnav.libs.commands; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.Populasjon; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class SaveOppsummeringsdokumenterCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final OppsummeringsdokumentDTO opplysningspliktigDTO; - private final String miljo; - private final String origin; - private final Populasjon populasjon; - - @Override - public Mono call() { - log.info( - "Sender inn opplysningspliktig {} den {} i {}.", - opplysningspliktigDTO.getOpplysningspliktigOrganisajonsnummer(), - opplysningspliktigDTO.getKalendermaaned(), - miljo - ); - return webClient - .put() - .uri(builder -> builder.path("/api/v1/oppsummeringsdokumenter").build()) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .header("miljo", miljo) - .header("origin", origin) - .header("populasjon", populasjon.toString()) - .body(BodyInserters.fromPublisher(Mono.just(opplysningspliktigDTO), OppsummeringsdokumentDTO.class)) - .exchange() - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .flatMap(response -> { - if (!response.statusCode().is2xxSuccessful()) { - return response.createException().flatMap(Mono::error); - } - var id = response.headers().header("ID").stream().findFirst(); - if (id.isEmpty()) { - return Mono.error( - new RuntimeException( - "Klarer ikke å finne iden fra opplysningspliktigsdokument " - + opplysningspliktigDTO.getOpplysningspliktigOrganisajonsnummer() - + " den " + opplysningspliktigDTO.getKalendermaaned() + "." - ) - ); - } - log.info( - "Opplysningspliktig {} sendt inn den {} med id {}", - opplysningspliktigDTO.getOpplysningspliktigOrganisajonsnummer(), - opplysningspliktigDTO.getKalendermaaned(), - id.get() - ); - return Mono.just(id.get()); - }); - } -} \ No newline at end of file diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1/ArbeidsgiverArbeidsforhold.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1/ArbeidsgiverArbeidsforhold.java deleted file mode 100644 index 54d8209390e..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1/ArbeidsgiverArbeidsforhold.java +++ /dev/null @@ -1,27 +0,0 @@ -package no.nav.testnav.libs.dto.aareg.v1; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -@Schema(description = """ - Resultatobjekt for finn-arbeidsforhold-per-arbeidsgiver - En tom liste og antall > 0 betyr at søket gir for mange treff - Arbeidsforhold er filtrert grunnet tilgangskontroll hvis størrelse på liste er mindre enn (total) antall""" -) -public class ArbeidsgiverArbeidsforhold { - - @Schema(description = "Liste av arbeidsforhold") - private List arbeidsforhold; - - @Schema(description = "Totalt antall arbeidsforhold") - private int antall; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1/ArbeidsgiverArbeidsforholdoversikter.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1/ArbeidsgiverArbeidsforholdoversikter.java deleted file mode 100644 index 72001370a5d..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1/ArbeidsgiverArbeidsforholdoversikter.java +++ /dev/null @@ -1,32 +0,0 @@ -package no.nav.testnav.libs.dto.aareg.v1; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -@Schema(description = "" + - "Resultatobjekt for finn-arbeidsforholdoversikter-per-arbeidsgiver\n" + - "Arbeidsforholdoversikter er filtrert grunnet tilgangskontroll hvis størrelse på liste er mindre enn (total) antall (forutsatt at antall- og/eller startrad-filter ikke er angitt)" -) -public class ArbeidsgiverArbeidsforholdoversikter { - - @Schema(description = "Liste av arbeidsforholdoversikter") - private List arbeidsforholdoversikter; - - @Schema(description = "Nummer for første rad i resultatsett (ikke angitt hvis antall er 0)") - private Integer startrad; - - @Schema(description = "Antall arbeidsforholdoversikter i resultatsett - der det er siste resultatsett hvis antall er mindre enn forespurt antall") - private Integer antall; - - @Schema(description = "Total antall arbeidsforholdoversikter") - private Integer totalAntall; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1/Arbeidsgiveroversikt.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1/Arbeidsgiveroversikt.java deleted file mode 100644 index 8efb92c4d5a..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1/Arbeidsgiveroversikt.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.testnav.libs.dto.aareg.v1; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -@Schema(description = "Informasjon knyttet til arbeidsgiver (overordnet)") -public class Arbeidsgiveroversikt { - - @Schema(description = "Arbeidsgiver - organisasjon eller person") - private OpplysningspliktigArbeidsgiver arbeidsgiver; - - @Schema(description = "Antall aktive arbeidsforhold, dvs. de som har en gjeldende ansettelsesperiode") - private Integer aktiveArbeidsforhold; - - @Schema(description = "Antall inaktive arbeidsforhold, dvs. de som har en historisk ansettelsesperiode") - private Integer inaktiveArbeidsforhold; - -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AMeldingDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AMeldingDTO.java deleted file mode 100644 index c0ec00c542f..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AMeldingDTO.java +++ /dev/null @@ -1,23 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AMeldingDTO { - @JsonProperty(required = true) - private LocalDate kalendermaaned; - @JsonProperty(required = true) - private String opplysningspliktigOrganisajonsnummer; - @JsonProperty(required = true) - private List virksomheter; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/ArbeidsforholdDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/ArbeidsforholdDTO.java deleted file mode 100644 index 5ce5eec8a41..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/ArbeidsforholdDTO.java +++ /dev/null @@ -1,52 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdDTO { - - String arbeidsforholdId; - String arbeidsforholdType; - LocalDate startdato; - LocalDate sluttdato; - Float antallTimerPerUke; - String yrke; - String arbeidstidsordning; - Float stillingsprosent; - LocalDate sisteLoennsendringsdato; - List permisjoner; - FartoeyDTO fartoey; - List inntekter; - List avvik; - - public List getAvvik() { - if (avvik == null) { - avvik = new ArrayList<>(); - } - return avvik; - } - - public List getPermisjoner() { - if (permisjoner == null) { - permisjoner = new ArrayList<>(); - } - return permisjoner; - } - - public List getInntekter() { - if (inntekter == null) { - inntekter = new ArrayList<>(); - } - return inntekter; - } -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AvvikDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AvvikDTO.java deleted file mode 100644 index cd38b6cf817..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AvvikDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.ToString; -import lombok.Value; - -@Value -@Builder -@ToString -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AvvikDTO { - String id; - String navn; - String alvorlighetsgrad; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/FartoeyDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/FartoeyDTO.java deleted file mode 100644 index 0513bdf2b2d..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/FartoeyDTO.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class FartoeyDTO { - String skipsregister; - String skipstype; - String fartsomraade; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/InntektDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/InntektDTO.java deleted file mode 100644 index 70dc8e4b7de..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/InntektDTO.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class InntektDTO { - LocalDate startdatoOpptjeningsperiode; - LocalDate sluttdatoOpptjeningsperiode; - Integer antall; - String opptjeningsland; - List avvik; - - public List getAvvik() { - if (avvik == null) { - avvik = new ArrayList<>(); - } - return avvik; - } -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PermisjonDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PermisjonDTO.java deleted file mode 100644 index db3f2a772be..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PermisjonDTO.java +++ /dev/null @@ -1,40 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.ToString; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -@Data -@Builder -@ToString -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PermisjonDTO { - @JsonProperty - String permisjonId; - @JsonProperty - String beskrivelse; - @JsonProperty - LocalDate startdato; - @JsonProperty - LocalDate sluttdato; - @JsonProperty - Float permisjonsprosent; - @JsonProperty - List avvik; - - public List getAvvik() { - if (avvik == null) { - avvik = new ArrayList<>(); - } - return avvik; - } -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PersonDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PersonDTO.java deleted file mode 100644 index ceeaabec07c..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PersonDTO.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PersonDTO { - @JsonProperty(required = true) - private final String ident; - @JsonProperty(required = true) - private List arbeidsforhold; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/VirksomhetDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/VirksomhetDTO.java deleted file mode 100644 index 556babcd43a..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/VirksomhetDTO.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.util.List; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class VirksomhetDTO { - @JsonProperty(required = true) - String organisajonsnummer; - @JsonProperty(required = true) - List personer; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/gensaksopplysninger/GensakKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/gensaksopplysninger/GensakKoder.java similarity index 78% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/gensaksopplysninger/GensakKoder.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/gensaksopplysninger/GensakKoder.java index 2f631ef2c00..85e73381068 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/gensaksopplysninger/GensakKoder.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/gensaksopplysninger/GensakKoder.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.aap.gensaksopplysninger; +package no.nav.testnav.libs.dto.arena.testnorge.aap.gensaksopplysninger; public enum GensakKoder { KDATO, diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/gensaksopplysninger/GensakOvKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/gensaksopplysninger/GensakOvKoder.java new file mode 100644 index 00000000000..b22bf06a3be --- /dev/null +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/gensaksopplysninger/GensakOvKoder.java @@ -0,0 +1,6 @@ +package no.nav.testnav.libs.dto.arena.testnorge.aap.gensaksopplysninger; + +public enum GensakOvKoder { + OOPPL, + TLONN +} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/gensaksopplysninger/Saksopplysning.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/gensaksopplysninger/Saksopplysning.java similarity index 86% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/gensaksopplysninger/Saksopplysning.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/gensaksopplysninger/Saksopplysning.java index f2d20de5a28..f94052152b3 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/gensaksopplysninger/Saksopplysning.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/gensaksopplysninger/Saksopplysning.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.aap.gensaksopplysninger; +package no.nav.testnav.libs.dto.arena.testnorge.aap.gensaksopplysninger; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/institusjonsopphold/InstKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/institusjonsopphold/InstKoder.java similarity index 58% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/institusjonsopphold/InstKoder.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/institusjonsopphold/InstKoder.java index b956ff1b64c..a67b02e88da 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/institusjonsopphold/InstKoder.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/institusjonsopphold/InstKoder.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.aap.institusjonsopphold; +package no.nav.testnav.libs.dto.arena.testnorge.aap.institusjonsopphold; public enum InstKoder { STRFG, diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/institusjonsopphold/InstOvKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/institusjonsopphold/InstOvKoder.java new file mode 100644 index 00000000000..1553e740f93 --- /dev/null +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/institusjonsopphold/InstOvKoder.java @@ -0,0 +1,5 @@ +package no.nav.testnav.libs.dto.arena.testnorge.aap.institusjonsopphold; + +public enum InstOvKoder { + INPER +} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/institusjonsopphold/Institusjonsopphold.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/institusjonsopphold/Institusjonsopphold.java similarity index 86% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/institusjonsopphold/Institusjonsopphold.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/institusjonsopphold/Institusjonsopphold.java index c1e0cb3fcb4..6083debcbcc 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/institusjonsopphold/Institusjonsopphold.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/institusjonsopphold/Institusjonsopphold.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.aap.institusjonsopphold; +package no.nav.testnav.libs.dto.arena.testnorge.aap.institusjonsopphold; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/medisinskopplysning/MedisinskOpplysning.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/medisinskopplysning/MedisinskOpplysning.java similarity index 89% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/medisinskopplysning/MedisinskOpplysning.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/medisinskopplysning/MedisinskOpplysning.java index 12d20a8831a..d7d6597e70c 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/medisinskopplysning/MedisinskOpplysning.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/medisinskopplysning/MedisinskOpplysning.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.aap.medisinskopplysning; +package no.nav.testnav.libs.dto.arena.testnorge.aap.medisinskopplysning; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/medlemfolketrygden/FolketrygdenKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/medlemfolketrygden/FolketrygdenKoder.java new file mode 100644 index 00000000000..e06d4a7deb7 --- /dev/null +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/medlemfolketrygden/FolketrygdenKoder.java @@ -0,0 +1,5 @@ +package no.nav.testnav.libs.dto.arena.testnorge.aap.medlemfolketrygden; + +public enum FolketrygdenKoder { + MEDL1 +} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/medlemfolketrygden/MedlemFolketrygden.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/medlemfolketrygden/MedlemFolketrygden.java similarity index 81% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/medlemfolketrygden/MedlemFolketrygden.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/medlemfolketrygden/MedlemFolketrygden.java index b324385b652..d48a25fba22 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/medlemfolketrygden/MedlemFolketrygden.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/medlemfolketrygden/MedlemFolketrygden.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.aap.medlemfolketrygden; +package no.nav.testnav.libs.dto.arena.testnorge.aap.medlemfolketrygden; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.Getter; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/periode/Periode.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/periode/Periode.java similarity index 92% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/periode/Periode.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/periode/Periode.java index c1643f3c864..b543f9524ef 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/periode/Periode.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/aap/periode/Periode.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.aap.periode; +package no.nav.testnav.libs.dto.arena.testnorge.aap.periode; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/Arbeidsoeker.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/Arbeidsoeker.java similarity index 90% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/Arbeidsoeker.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/Arbeidsoeker.java index a4eb2f228a7..02a3ec4dfe7 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/Arbeidsoeker.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/Arbeidsoeker.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.brukere; +package no.nav.testnav.libs.dto.arena.testnorge.brukere; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/Deltakerstatuser.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/Deltakerstatuser.java similarity index 67% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/Deltakerstatuser.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/Deltakerstatuser.java index a77c286a872..006121c2710 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/Deltakerstatuser.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/Deltakerstatuser.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.brukere; +package no.nav.testnav.libs.dto.arena.testnorge.brukere; public enum Deltakerstatuser { FULLF, diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/Kvalifiseringsgrupper.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/Kvalifiseringsgrupper.java similarity index 68% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/Kvalifiseringsgrupper.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/Kvalifiseringsgrupper.java index 71bb002c268..459dc8bf0f6 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/Kvalifiseringsgrupper.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/Kvalifiseringsgrupper.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.brukere; +package no.nav.testnav.libs.dto.arena.testnorge.brukere; public enum Kvalifiseringsgrupper { BATT, diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/NyBruker.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/NyBruker.java similarity index 89% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/NyBruker.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/NyBruker.java index db70420d2c8..e55db11096a 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/NyBruker.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/NyBruker.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.brukere; +package no.nav.testnav.libs.dto.arena.testnorge.brukere; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/NyBrukerFeil.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/NyBrukerFeil.java similarity index 84% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/NyBrukerFeil.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/NyBrukerFeil.java index ba135aff497..5c3f2392790 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/NyBrukerFeil.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/NyBrukerFeil.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.brukere; +package no.nav.testnav.libs.dto.arena.testnorge.brukere; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/NyEndreInnsatsbehov.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/NyEndreInnsatsbehov.java similarity index 83% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/NyEndreInnsatsbehov.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/NyEndreInnsatsbehov.java index 8de2ed0ab5d..4db3c18fbc6 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/NyEndreInnsatsbehov.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/NyEndreInnsatsbehov.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.brukere; +package no.nav.testnav.libs.dto.arena.testnorge.brukere; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/NyEndreInnsatsbehovFeil.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/NyEndreInnsatsbehovFeil.java similarity index 85% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/NyEndreInnsatsbehovFeil.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/NyEndreInnsatsbehovFeil.java index c6dc35f4efa..732e0df881e 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/NyEndreInnsatsbehovFeil.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/NyEndreInnsatsbehovFeil.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.brukere; +package no.nav.testnav.libs.dto.arena.testnorge.brukere; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/UtenServicebehov.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/UtenServicebehov.java similarity index 82% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/UtenServicebehov.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/UtenServicebehov.java index 94e134f283b..93ff01cd7d3 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/brukere/UtenServicebehov.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/brukere/UtenServicebehov.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.brukere; +package no.nav.testnav.libs.dto.arena.testnorge.brukere; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/historikk/Vedtakshistorikk.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/historikk/Vedtakshistorikk.java similarity index 93% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/historikk/Vedtakshistorikk.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/historikk/Vedtakshistorikk.java index 9766f7ac3db..b51fb7112a9 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/historikk/Vedtakshistorikk.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/historikk/Vedtakshistorikk.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.historikk; +package no.nav.testnav.libs.dto.arena.testnorge.historikk; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; @@ -6,16 +6,15 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakAap; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTillegg; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.NyttVedtakTiltak; import java.util.ArrayList; import java.util.Collection; import java.util.List; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtak; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakAap; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTillegg; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.NyttVedtakTiltak; - @Getter @Setter @NoArgsConstructor diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/Vedtaksperiode.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/Vedtaksperiode.java similarity index 84% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/Vedtaksperiode.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/Vedtaksperiode.java index b073dec156d..927d86fd374 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/Vedtaksperiode.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/Vedtaksperiode.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/boutgift/Boutgift.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/boutgift/Boutgift.java similarity index 85% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/boutgift/Boutgift.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/boutgift/Boutgift.java index b9692fbb6a8..5bc8a81bd4c 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/boutgift/Boutgift.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/boutgift/Boutgift.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.boutgift; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.boutgift; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftKoder.java similarity index 71% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftKoder.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftKoder.java index 64c0f5758e2..7a8ff71092a 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftKoder.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftKoder.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.boutgift; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.boutgift; public enum BoutgiftKoder { KRPER, diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftOvKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftOvKoder.java new file mode 100644 index 00000000000..b69db994894 --- /dev/null +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftOvKoder.java @@ -0,0 +1,6 @@ +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.boutgift; + +public enum BoutgiftOvKoder { + KRPER, + AKDAT +} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReise.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReise.java similarity index 85% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReise.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReise.java index 23102516617..e6de99ca635 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReise.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReise.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.dagligreise; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.dagligreise; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseKoder.java similarity index 72% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseKoder.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseKoder.java index d2e5bfd88a5..8b24045d5e0 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseKoder.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseKoder.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.dagligreise; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.dagligreise; public enum DagligReiseKoder { KRPER, diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseOvKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseOvKoder.java new file mode 100644 index 00000000000..b7d61c771ab --- /dev/null +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseOvKoder.java @@ -0,0 +1,5 @@ +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.dagligreise; + +public enum DagligReiseOvKoder { + KRPER +} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteKoder.java similarity index 66% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteKoder.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteKoder.java index 008558efdd0..cec6dce0c75 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteKoder.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteKoder.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.flytting; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.flytting; public enum FlytteKoder { FLDAT, diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteOvKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteOvKoder.java new file mode 100644 index 00000000000..e7030023dd5 --- /dev/null +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteOvKoder.java @@ -0,0 +1,5 @@ +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.flytting; + +public enum FlytteOvKoder { + +} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/flytting/Flytting.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/flytting/Flytting.java similarity index 85% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/flytting/Flytting.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/flytting/Flytting.java index 56b40346df2..e360e6b469b 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/flytting/Flytting.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/flytting/Flytting.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.flytting; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.flytting; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/hjemreise/Hjemreise.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/hjemreise/Hjemreise.java similarity index 82% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/hjemreise/Hjemreise.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/hjemreise/Hjemreise.java index 27d3fc153c2..8e0f97370e9 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/hjemreise/Hjemreise.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/hjemreise/Hjemreise.java @@ -1,11 +1,11 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.hjemreise; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.hjemreise; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; -import lombok.Setter; +import lombok.Setter;; @Getter @Setter diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseKoder.java similarity index 72% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseKoder.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseKoder.java index 7bc6c42aae2..1371321d557 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseKoder.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseKoder.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.hjemreise; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.hjemreise; public enum HjemreiseKoder { KRPER, diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseOvKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseOvKoder.java new file mode 100644 index 00000000000..233abc36a12 --- /dev/null +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseOvKoder.java @@ -0,0 +1,5 @@ +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.hjemreise; + +public enum HjemreiseOvKoder { + KRPER +} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/laeremidler/Laeremiddel.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/laeremidler/Laeremiddel.java similarity index 85% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/laeremidler/Laeremiddel.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/laeremidler/Laeremiddel.java index e435bc8c826..1b10ad7f384 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/laeremidler/Laeremiddel.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/laeremidler/Laeremiddel.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.laeremidler; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.laeremidler; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelKoder.java similarity index 60% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelKoder.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelKoder.java index 662482db843..ecb2ec258ea 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelKoder.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelKoder.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.laeremidler; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.laeremidler; public enum LaeremiddelKoder { KRPER, diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelOvKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelOvKoder.java new file mode 100644 index 00000000000..9aee774e3d8 --- /dev/null +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelOvKoder.java @@ -0,0 +1,5 @@ +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.laeremidler; + +public enum LaeremiddelOvKoder { + KRPER +} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingKoder.java similarity index 69% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingKoder.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingKoder.java index 70876fb47fc..884e5950618 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingKoder.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingKoder.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.reiseobligatorisksamling; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.reiseobligatorisksamling; public enum ObligatoriskSamlingKoder { KRPER, diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingOvKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingOvKoder.java new file mode 100644 index 00000000000..02d498b22b0 --- /dev/null +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingOvKoder.java @@ -0,0 +1,6 @@ +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.reiseobligatorisksamling; + +public enum ObligatoriskSamlingOvKoder { + KRPER, + DAAKT +} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ReiseObligatoriskSamling.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ReiseObligatoriskSamling.java similarity index 84% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ReiseObligatoriskSamling.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ReiseObligatoriskSamling.java index e31f435f784..12c66ef81b2 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ReiseObligatoriskSamling.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ReiseObligatoriskSamling.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.reiseobligatorisksamling; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.reiseobligatorisksamling; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoeker.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoeker.java similarity index 86% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoeker.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoeker.java index 587a94b9b40..44fab9caf5c 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoeker.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoeker.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.reisestoenad; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.reisestoenad; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerKoder.java similarity index 71% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerKoder.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerKoder.java index f95e44fff13..5af597963e2 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerKoder.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerKoder.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.reisestoenad; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.reisestoenad; public enum ReisestoenadArbeidssoekerKoder { KRPER, diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerOvKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerOvKoder.java new file mode 100644 index 00000000000..3ab112395d1 --- /dev/null +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerOvKoder.java @@ -0,0 +1,6 @@ +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.reisestoenad; + +public enum ReisestoenadArbeidssoekerOvKoder { + KRPER, + AKDAT +} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/Barn.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/Barn.java similarity index 85% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/Barn.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/Barn.java index 92cadef14b3..19245c85b58 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/Barn.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/Barn.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.tilsyn; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.tilsyn; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnKoder.java similarity index 63% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnKoder.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnKoder.java index 8cd2f470953..8e246f68d8e 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnKoder.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnKoder.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.tilsyn; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.tilsyn; public enum BarnKoder { KRPER, diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnOvKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnOvKoder.java new file mode 100644 index 00000000000..ef2aa7f3896 --- /dev/null +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnOvKoder.java @@ -0,0 +1,5 @@ +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.tilsyn; + +public enum BarnOvKoder { + KRPER +} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/Familiemedlem.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/Familiemedlem.java similarity index 86% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/Familiemedlem.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/Familiemedlem.java index d6cc20ff402..aed50d63766 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/Familiemedlem.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/Familiemedlem.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.tilsyn; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.tilsyn; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemKoder.java similarity index 60% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemKoder.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemKoder.java index ebcdc20e4d8..9e910153ea0 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemKoder.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemKoder.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.tilsyn; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.tilsyn; public enum FamiliemedlemKoder { KRPER, diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemOvKoder.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemOvKoder.java new file mode 100644 index 00000000000..89e41bef4c7 --- /dev/null +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemOvKoder.java @@ -0,0 +1,5 @@ +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.tilsyn; + +public enum FamiliemedlemOvKoder { + KRPER +} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynBarn.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynBarn.java similarity index 78% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynBarn.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynBarn.java index 89764993581..84a68d3dc9a 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynBarn.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynBarn.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.tilsyn; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.tilsyn; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynFamiliemedlemmer.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynFamiliemedlemmer.java similarity index 79% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynFamiliemedlemmer.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynFamiliemedlemmer.java index d1d9e211704..ca59e8e1b50 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynFamiliemedlemmer.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/tilleggsstoenad/tilsyn/TilsynFamiliemedlemmer.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.tilsyn; +package no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.tilsyn; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyeBrukereResponse.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyeBrukereResponse.java similarity index 80% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyeBrukereResponse.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyeBrukereResponse.java index a535b8116d6..e8589f87d5f 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyeBrukereResponse.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyeBrukereResponse.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; @@ -6,8 +6,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.Arbeidsoeker; -import no.nav.testnav.libs.domain.dto.arena.testnorge.brukere.NyBrukerFeil; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.Arbeidsoeker; +import no.nav.testnav.libs.dto.arena.testnorge.brukere.NyBrukerFeil; import java.util.Collections; import java.util.List; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtak.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtak.java similarity index 96% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtak.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtak.java index 46602d5415f..92653e5bf59 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtak.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtak.java @@ -1,11 +1,10 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak; import com.fasterxml.jackson.annotation.JsonAlias; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonSubTypes; - import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakAap.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakAap.java similarity index 72% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakAap.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakAap.java index 4d18ee796d1..0123d1939d3 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakAap.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakAap.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak; import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -10,13 +10,13 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.aap.gensaksopplysninger.Saksopplysning; -import no.nav.testnav.libs.domain.dto.arena.testnorge.aap.institusjonsopphold.Institusjonsopphold; -import no.nav.testnav.libs.domain.dto.arena.testnorge.aap.medisinskopplysning.MedisinskOpplysning; -import no.nav.testnav.libs.domain.dto.arena.testnorge.aap.medlemfolketrygden.MedlemFolketrygden; -import no.nav.testnav.libs.domain.dto.arena.testnorge.aap.periode.Periode; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.andreokonomytelser.AndreOkonomYtelser; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.forvalter.Forvalter; +import no.nav.testnav.libs.dto.aareg.v1.Periode; +import no.nav.testnav.libs.dto.arena.testnorge.aap.gensaksopplysninger.Saksopplysning; +import no.nav.testnav.libs.dto.arena.testnorge.aap.institusjonsopphold.Institusjonsopphold; +import no.nav.testnav.libs.dto.arena.testnorge.aap.medisinskopplysning.MedisinskOpplysning; +import no.nav.testnav.libs.dto.arena.testnorge.aap.medlemfolketrygden.MedlemFolketrygden; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.andreokonomytelser.AndreOkonomYtelser; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.forvalter.Forvalter; import java.util.List; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakFeil.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakFeil.java similarity index 91% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakFeil.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakFeil.java index 0a3ac39830f..054df0a2a44 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakFeil.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakFeil.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakResponse.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakResponse.java similarity index 97% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakResponse.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakResponse.java index 232c6d55bb9..79559798fe0 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakResponse.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakResponse.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak; import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakTillegg.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakTillegg.java similarity index 68% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakTillegg.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakTillegg.java index 5df01958b74..0adbfa61507 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakTillegg.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakTillegg.java @@ -1,26 +1,26 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak; import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import lombok.Builder; -import java.util.List; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.boutgift.Boutgift; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.dagligreise.DagligReise; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.flytting.Flytting; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.hjemreise.Hjemreise; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.laeremidler.Laeremiddel; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.reiseobligatorisksamling.ReiseObligatoriskSamling; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.reisestoenad.ReisestoenadArbeidssoeker; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.tilsyn.TilsynBarn; +import no.nav.testnav.libs.dto.arena.testnorge.tilleggsstoenad.tilsyn.TilsynFamiliemedlemmer; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.Vedtaksperiode; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.boutgift.Boutgift; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.dagligreise.DagligReise; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.flytting.Flytting; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.hjemreise.Hjemreise; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.laeremidler.Laeremiddel; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.reiseobligatorisksamling.ReiseObligatoriskSamling; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.reisestoenad.ReisestoenadArbeidssoeker; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.tilsyn.TilsynBarn; -import no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.tilsyn.TilsynFamiliemedlemmer; +import java.util.List; @Getter @Setter diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakTiltak.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakTiltak.java similarity index 91% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakTiltak.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakTiltak.java index 2a6e879601e..31ae8209b36 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/NyttVedtakTiltak.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/NyttVedtakTiltak.java @@ -1,17 +1,16 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak; import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; - import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.andreokonomytelser.AnnenOkonomYtelseTiltak; -import no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.forvalter.Forvalter; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.andreokonomytelser.AnnenOkonomYtelseTiltak; +import no.nav.testnav.libs.dto.arena.testnorge.vedtak.forvalter.Forvalter; import java.time.LocalDate; import java.util.List; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/RettighetType.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/RettighetType.java similarity index 54% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/RettighetType.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/RettighetType.java index 90d18337e0c..864c64a6a09 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/RettighetType.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/RettighetType.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak; public enum RettighetType { AAP, diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/Vilkaar.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/Vilkaar.java similarity index 87% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/Vilkaar.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/Vilkaar.java index 1fba2181cf8..7320da37c60 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/Vilkaar.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/Vilkaar.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/AndreOkonomYtelser.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/AndreOkonomYtelser.java similarity index 84% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/AndreOkonomYtelser.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/AndreOkonomYtelser.java index a8ae4648215..f07b5b7768d 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/AndreOkonomYtelser.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/AndreOkonomYtelser.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.andreokonomytelser; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak.andreokonomytelser; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseAap.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseAap.java similarity index 83% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseAap.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseAap.java index 7d1777f842c..e1c98a69ecf 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseAap.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseAap.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.andreokonomytelser; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak.andreokonomytelser; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseTiltak.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseTiltak.java similarity index 83% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseTiltak.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseTiltak.java index 3918f51bab2..3410a925966 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseTiltak.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/AnnenOkonomYtelseTiltak.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.andreokonomytelser; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak.andreokonomytelser; import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderAap.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderAap.java similarity index 53% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderAap.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderAap.java index ef76c469942..f2017e61024 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderAap.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderAap.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.andreokonomytelser; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak.andreokonomytelser; public enum OkonomKoderAap { TYPE, diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderTiltak.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderTiltak.java similarity index 68% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderTiltak.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderTiltak.java index 3e9cf51b728..e807be85cd4 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderTiltak.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/andreokonomytelser/OkonomKoderTiltak.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.andreokonomytelser; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak.andreokonomytelser; public enum OkonomKoderTiltak { MDAGP, diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/forvalter/Adresse.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/forvalter/Adresse.java similarity index 86% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/forvalter/Adresse.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/forvalter/Adresse.java index 68be6953f1b..df4300bb6f4 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/forvalter/Adresse.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/forvalter/Adresse.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.forvalter; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak.forvalter; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/forvalter/Forvalter.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/forvalter/Forvalter.java similarity index 80% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/forvalter/Forvalter.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/forvalter/Forvalter.java index 63b02380cd9..05e112a5005 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/forvalter/Forvalter.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/forvalter/Forvalter.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.forvalter; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak.forvalter; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/forvalter/Konto.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/forvalter/Konto.java similarity index 79% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/forvalter/Konto.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/forvalter/Konto.java index 9bf135e53e3..699bad8d17b 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/forvalter/Konto.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/forvalter/Konto.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.forvalter; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak.forvalter; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/forvalter/UtlandKontoInfo.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/forvalter/UtlandKontoInfo.java similarity index 85% rename from libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/forvalter/UtlandKontoInfo.java rename to libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/forvalter/UtlandKontoInfo.java index ea90bf5b61d..350afc868ef 100644 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/vedtak/forvalter/UtlandKontoInfo.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/arena/testnorge/vedtak/forvalter/UtlandKontoInfo.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.vedtak.forvalter; +package no.nav.testnav.libs.dto.arena.testnorge.vedtak.forvalter; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v1/ArbeidsforholdDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v1/ArbeidsforholdDTO.java deleted file mode 100644 index a1f107601dc..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v1/ArbeidsforholdDTO.java +++ /dev/null @@ -1,38 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDate; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdDTO { - @JsonProperty - String arbeidsforholdId; - @JsonProperty(required = true) - String orgnummer; - @JsonProperty - String arbeidstidsordning; - @JsonProperty(required = true) - Float stillingsprosent; - @JsonProperty(required = true) - String yrke; - @JsonProperty(required = true) - LocalDate fom; - @JsonProperty(required = true) - LocalDate tom; - @JsonProperty(required = true) - String ident; - @JsonProperty - Float antallTimerPrUke; - @JsonProperty - LocalDate sistLoennsendring; - @JsonProperty - String type; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/ArbeidsforholdDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/ArbeidsforholdDTO.java deleted file mode 100644 index d15f8cd6c8c..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/ArbeidsforholdDTO.java +++ /dev/null @@ -1,66 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdDTO { - @JsonProperty - String arbeidsforholdId; - @JsonProperty - String typeArbeidsforhold; - @JsonProperty(required = true) - LocalDate startdato; - @JsonProperty - LocalDate sluttdato; - @JsonProperty - Float antallTimerPerUke; - @JsonProperty(required = true) - String yrke; - @JsonProperty - String arbeidstidsordning; - @JsonProperty - Float stillingsprosent; - @JsonProperty - LocalDate sisteLoennsendringsdato; - @JsonProperty - List permisjoner; - @JsonProperty - FartoeyDTO fartoey; - @JsonProperty - List inntekter; - @JsonProperty - List avvik; - String historikk; - - public List getAvvik() { - if (avvik == null) { - avvik = new ArrayList<>(); - } - return avvik; - } - - public List getPermisjoner() { - if (permisjoner == null) { - permisjoner = new ArrayList<>(); - } - return permisjoner; - } - - public List getInntekter() { - if (inntekter == null) { - inntekter = new ArrayList<>(); - } - return inntekter; - } -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/AvvikDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/AvvikDTO.java deleted file mode 100644 index ea33c17c19a..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/AvvikDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.ToString; -import lombok.Value; - -@Value -@Builder -@ToString -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AvvikDTO { - String id; - String navn; - String alvorlighetsgrad; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/FartoeyDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/FartoeyDTO.java deleted file mode 100644 index e3cac0ed677..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/FartoeyDTO.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class FartoeyDTO { - String skipsregister; - String skipstype; - String fartsomraade; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/InntektDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/InntektDTO.java deleted file mode 100644 index b6467f645b9..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/InntektDTO.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class InntektDTO { - LocalDate startdatoOpptjeningsperiode; - LocalDate sluttdatoOpptjeningsperiode; - Integer antall; - String opptjeningsland; - List avvik; - - public List getAvvik() { - if (avvik == null) { - avvik = new ArrayList<>(); - } - return avvik; - } -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/OppsummeringsdokumentDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/OppsummeringsdokumentDTO.java deleted file mode 100644 index 779fd422897..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/OppsummeringsdokumentDTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class OppsummeringsdokumentDTO { - @JsonProperty(required = true) - private LocalDate kalendermaaned; - @JsonProperty(required = true) - private String opplysningspliktigOrganisajonsnummer; - @JsonProperty(required = true) - private List virksomheter; - @JsonProperty(required = true) - private Long version; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PermisjonDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PermisjonDTO.java deleted file mode 100644 index 85756f8fed4..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PermisjonDTO.java +++ /dev/null @@ -1,40 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.ToString; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -@Data -@Builder -@ToString -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PermisjonDTO { - @JsonProperty - String permisjonId; - @JsonProperty - String beskrivelse; - @JsonProperty - LocalDate startdato; - @JsonProperty - LocalDate sluttdato; - @JsonProperty - Float permisjonsprosent; - @JsonProperty - List avvik; - - public List getAvvik() { - if (avvik == null) { - avvik = new ArrayList<>(); - } - return avvik; - } -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PersonDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PersonDTO.java deleted file mode 100644 index f0aaebe2c66..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PersonDTO.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PersonDTO { - @JsonProperty(required = true) - private final String ident; - @JsonProperty(required = true) - private List arbeidsforhold; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/Populasjon.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/Populasjon.java deleted file mode 100644 index 91cae5e9d52..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/Populasjon.java +++ /dev/null @@ -1,6 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -public enum Populasjon { - DOLLY, - MINI_NORGE -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/VirksomhetDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/VirksomhetDTO.java deleted file mode 100644 index e31327d80fc..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/VirksomhetDTO.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class VirksomhetDTO { - @JsonProperty(required = true) - private String organisajonsnummer; - @JsonProperty(required = true) - private List personer; -} diff --git a/libs/domain/README.md b/libs/domain/README.md deleted file mode 100644 index f16bb85f0fc..00000000000 --- a/libs/domain/README.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: default -title: Domain -parent: Biblioteker ---- - -# testnorge-domain -Felles domene mellom testnorge apper diff --git a/libs/domain/build.gradle b/libs/domain/build.gradle deleted file mode 100644 index a8586d3d0e8..00000000000 --- a/libs/domain/build.gradle +++ /dev/null @@ -1,19 +0,0 @@ -plugins { - id "dolly-libs" -} - -sonarqube { - properties { - property "sonar.projectKey", "testnav-domain" - property "sonar.projectName", "testnav-domain" - } -} - -dependencies { - implementation 'com.fasterxml.jackson.core:jackson-annotations' - implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml' - implementation "com.fasterxml.jackson.core:jackson-core:$versions.jackson" - - implementation "jakarta.xml.bind:jakarta.xml.bind-api:$versions.jakartaXmlBindApi" - implementation 'io.springfox:springfox-swagger2:3.0.0' -} \ No newline at end of file diff --git a/libs/domain/gradle/wrapper/gradle-wrapper.jar b/libs/domain/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL diff --git a/libs/domain/gradle/wrapper/gradle-wrapper.properties b/libs/domain/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 48c0a02ca41..00000000000 --- a/libs/domain/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/libs/domain/gradlew b/libs/domain/gradlew deleted file mode 100755 index 3da45c161b0..00000000000 --- a/libs/domain/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright ? 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions ?$var?, ?${var}?, ?${var:-default}?, ?${var+SET}?, -# ?${var#prefix}?, ?${var%suffix}?, and ?$( cmd )?; -# * compound commands having a testable exit status, especially ?case?; -# * various built-in commands including ?command?, ?set?, and ?ulimit?. -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/libs/domain/gradlew.bat b/libs/domain/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/libs/domain/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/libs/domain/gradlewUpdate.sh b/libs/domain/gradlewUpdate.sh deleted file mode 100755 index e5ee6361152..00000000000 --- a/libs/domain/gradlewUpdate.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -gradle wrapper \ No newline at end of file diff --git a/libs/domain/settings.gradle b/libs/domain/settings.gradle deleted file mode 100644 index b58766b23d9..00000000000 --- a/libs/domain/settings.gradle +++ /dev/null @@ -1,14 +0,0 @@ -plugins { - id "com.gradle.develocity" version "3.19" -} - -rootProject.name = 'domain' - -includeBuild "../../plugins/java" - -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/terms-of-service" - termsOfUseAgree = "yes" - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Arbeidsforhold.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Arbeidsforhold.java deleted file mode 100644 index 1d146899fc1..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Arbeidsforhold.java +++ /dev/null @@ -1,103 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aareg.amelding; - -import java.util.Collections; -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonAlias; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -@Builder -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown = true) -public class Arbeidsforhold { - - @JsonAlias({ "RAPPORTERINGSMAANED", "rapporteringsmaaned" }) - private String rapporteringsmaaned; - - @JsonAlias({ "ARBEIDSFORHOLD_TYPE", "arbeidsforholdType" }) - private String arbeidsforholdType; - - @JsonAlias({ "STARTDATO", "startdato" }) - private String startdato; - - @JsonAlias({ "SLUTTDATO", "sluttdato" }) - private String sluttdato; - - @JsonAlias({ "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER", "antallTimerPerUkeSomEnFullStillingTilsvarer" }) - private float antallTimerPerUkeSomEnFullStillingTilsvarer; - - @JsonAlias({ "YRKE", "yrke" }) - private String yrke; - - @JsonAlias({ "ARBEIDSTIDSORDNING", "arbeidstidsordning" }) - private String arbeidstidsordning; - - @JsonAlias({ "STILLINGSPROSENT", "stillingsprosent" }) - private float stillingsprosent; - - @JsonAlias({ "SISTE_LOENNSENDRINGSDATO", "sisteLoennsendringsdato" }) - private String sisteLoennsendringsdato; - - @JsonAlias({ "SISTE_DATO_FOR_STILLINGSPROSENTENDRING", "sisteDatoForStillingsprosentendring" }) - private String sisteDatoForStillingsprosentendring; - - @JsonAlias({ "PERMISJON_MED_FORELDREPENGER", "permisjonMedForeldrepenger" }) - private Integer permisjonMedForeldrepenger; - - @JsonAlias({ "PERMITTERING", "permittering" }) - private Integer permittering; - - @JsonAlias({ "PERMISJON", "permisjon" }) - private Integer permisjon; - - @JsonAlias({ "PERMISJON_VED_MILITAERTJENESTE", "permisjonVedMilitaertjeneste" }) - private Integer permisjonVedMilitaertjeneste; - - @JsonAlias({ "VELFERDSPERMISJON", "velferdspermisjon" }) - private Integer velferdspermisjon; - - @JsonAlias({ "UTDANNINGSPERMISJON", "utdanningspermisjon" }) - private Integer utdanningspermisjon; - - @JsonAlias({ "PERMISJONER", "permisjoner" }) - private List permisjoner; - - @JsonAlias({ "HISTORIKK", "historikk", "change_history" }) - private String historikk; - - @JsonAlias({ "NUM_ENDRINGER", "numEndringer", "num_changes" }) - private Integer numEndringer; - - @JsonAlias({ "FARTOEY", "fartoey" }) - private Fartoey fartoey; - - @JsonAlias({ "ANTALL_INNTEKTER", "antallInntekter" }) - private Integer antallInntekter; - - @JsonAlias({ "INNTEKTER", "inntekter" }) - private List inntekter; - - @JsonAlias({"AVVIK", "avvik"}) - private Avvik avvik; - - public void emptyPermisjoner(){ - this.setPermisjon(0); - this.setPermisjonMedForeldrepenger(0); - this.setPermisjonVedMilitaertjeneste(0); - this.setPermittering(0); - this.setUtdanningspermisjon(0); - this.setVelferdspermisjon(0); - this.permisjoner = Collections.emptyList(); - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/ArbeidsforholdPeriode.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/ArbeidsforholdPeriode.java deleted file mode 100644 index 19ee13ad88c..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/ArbeidsforholdPeriode.java +++ /dev/null @@ -1,28 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aareg.amelding; - -import java.time.LocalDate; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -@Builder -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown = true) -public class ArbeidsforholdPeriode { - - @JsonFormat(shape = JsonFormat.Shape.STRING) - private LocalDate startdato; - @JsonFormat(shape = JsonFormat.Shape.STRING) - private LocalDate sluttdato; -} - diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Avvik.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Avvik.java deleted file mode 100644 index 480b7bbdb59..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Avvik.java +++ /dev/null @@ -1,33 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aareg.amelding; - -import com.fasterxml.jackson.annotation.JsonAlias; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -@Builder -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown = true) -public class Avvik { - - @JsonAlias({"ID", "id"}) - private String id; - - @JsonAlias({"DETALJER", "detaljer"}) - private String detaljer; - - @JsonAlias({"NAVN", "navn"}) - private String navn; - - @JsonAlias({"ALVORLIGHETSGRAD", "alvorlighetsgrad"}) - private String alvorlighetsgrad; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Fartoey.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Fartoey.java deleted file mode 100644 index 0da4b6510fb..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Fartoey.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aareg.amelding; - -import com.fasterxml.jackson.annotation.JsonAlias; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -@Builder -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown = true) -public class Fartoey { - - @JsonAlias({"SKIPSREGISTER", "skipsregister"}) - private String skipsregister; - - @JsonAlias({"SKIPSTYPE", "skipstype"}) - private String skipstype; - - @JsonAlias({"FARTSOMRAADE", "fartsomraade"}) - private String fartsomraade; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Inntekt.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Inntekt.java deleted file mode 100644 index 9544c73d79f..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Inntekt.java +++ /dev/null @@ -1,40 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aareg.amelding; - -import java.time.LocalDate; -import com.fasterxml.jackson.annotation.JsonAlias; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -@Builder -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown = true) -public class Inntekt { - - @JsonAlias({ "STARTDATO_OPPTJENINGSPERIODE", "startdatoOpptjeningsperiode" }) - @JsonFormat(shape = JsonFormat.Shape.STRING) - private LocalDate startdatoOpptjeningsperiode; - - @JsonAlias({ "SLUTTDATO_OPPTJENINGSPERIODE", "sluttdatoOpptjeningsperiode" }) - @JsonFormat(shape = JsonFormat.Shape.STRING) - private LocalDate sluttdatoOpptjeningsperiode; - - @JsonAlias({ "ANTALL", "antall" }) - private Integer antall; - - @JsonAlias({ "OPPTJENINGSLAND", "opptjeningsland" }) - private String opptjeningsland; - - @JsonAlias({"AVVIK", "avvik"}) - private Avvik avvik; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Permisjon.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Permisjon.java deleted file mode 100644 index 05a5c0a090a..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aareg/amelding/Permisjon.java +++ /dev/null @@ -1,37 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aareg.amelding; - -import com.fasterxml.jackson.annotation.JsonAlias; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonInclude; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -@Builder -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown = true) -public class Permisjon { - - @JsonAlias({"STARTDATO", "startdato"}) - private String startdato; - - @JsonAlias({"SLUTTDATO", "sluttdato"}) - private String sluttdato; - - @JsonAlias({"PERMISJONSPROSENT", "permisjonsprosent"}) - private float permisjonsprosent; - - @JsonAlias({"BESKRIVELSE", "beskrivelse"}) - private String beskrivelse; - - @JsonAlias({"AVVIK", "avvik"}) - private Avvik avvik; - -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Ansettelsesperiode.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Ansettelsesperiode.java deleted file mode 100644 index e2f0ead865b..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Ansettelsesperiode.java +++ /dev/null @@ -1,44 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonPropertyOrder({ "periode", "varslingskode", "bruksperiode", "sporingsinformasjon" }) -@ApiModel( - description = "Informasjon knyttet til ansettelsesperioden" -) -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode -public class Ansettelsesperiode { - - @ApiModelProperty( - notes = "Ansettelsesperiode" - ) - private Periode periode; - @ApiModelProperty( - notes = "Varslingskode (kodeverk: Varslingskode_5fAa-registeret) - benyttes hvis ansettelsesperiode er lukket maskinelt", - example = "ERKONK" - ) - private String varslingskode; - @ApiModelProperty( - notes = "Bruksperiode for ansettelsesperiode" - ) - private Bruksperiode bruksperiode; - @ApiModelProperty( - notes = "Informasjon om opprettelse og endring av objekt" - ) - private Sporingsinformasjon sporingsinformasjon; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/AntallTimerForTimeloennet.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/AntallTimerForTimeloennet.java deleted file mode 100644 index 5ac929b6896..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/AntallTimerForTimeloennet.java +++ /dev/null @@ -1,53 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.YearMonth; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonPropertyOrder({ "periode", "antallTimer", "rapporteringsperiode", "sporingsinformasjon" }) -@ApiModel( - description = "Informasjon om antall timer med timelønn" -) -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode -public class AntallTimerForTimeloennet { - - @ApiModelProperty( - notes = "Periode for antall timer med timelønn" - ) - private Periode periode; - @ApiModelProperty( - notes = "Antall timer", - example = "37.5" - ) - private Double antallTimer; - private YearMonth rapporteringsperiode; - @ApiModelProperty( - notes = "Informasjon om opprettelse og endring av objekt" - ) - private Sporingsinformasjon sporingsinformasjon; - - @JsonProperty("rapporteringsperiode") - @ApiModelProperty( - notes = "Rapporteringsperiode for antall timer med timelønn, format (ISO-8601): yyyy-MM", - example = "2018-05" - ) - public String getRapporteringsperiodeAsString() { - return JavaTimeUtil.toString(this.rapporteringsperiode); - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Arbeidsavtale.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Arbeidsavtale.java deleted file mode 100644 index d4eda026977..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Arbeidsavtale.java +++ /dev/null @@ -1,98 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.LocalDate; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonPropertyOrder({ "arbeidstidsordning", "yrke", "stillingsprosent", "antallTimerPrUke", "beregnetAntallTimerPrUke", "sistLoennsendring", "sistStillingsendring", "bruksperiode", "gyldighetsperiode", - "sporingsinformasjon" }) -@ApiModel( - description = "Informasjon om arbeidsavtalen" -) -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode -public class Arbeidsavtale { - - @ApiModelProperty( - notes = "Arbeidstidsordning (kodeverk: Arbeidstidsordninger)", - example = "ikkeSkift" - ) - private String arbeidstidsordning; - @ApiModelProperty( - notes = "Yrke (kodeverk: Yrker)", - example = "2130123" - ) - private String yrke; - @ApiModelProperty( - notes = "Stillingsprosent", - example = "49.5" - ) - private Double stillingsprosent; - @ApiModelProperty( - notes = "Antall timer per uke", - example = "37.5" - ) - private Fartoey fartoey; - @ApiModelProperty( - notes = "Fartøy i maritimt arbeidsforhold" - ) - private Double antallTimerPrUke; - @ApiModelProperty( - notes = "Beregnet antall timer per uke", - example = "37.5" - ) - private Double beregnetAntallTimerPrUke; - @ApiModelProperty( - notes = "Dato for siste lønnsendring, format (ISO-8601): yyyy-MM-dd", - example = "2014-07-15" - ) - private LocalDate sistLoennsendring; - @ApiModelProperty( - notes = "Dato for siste stillingsendring, format (ISO-8601): yyyy-MM-dd", - example = "2015-12-15" - ) - - private LocalDate sisteLoennsendringsdato; - @ApiModelProperty( - notes = "Dato for siste stillingsendring, format (ISO-8601): yyyy-MM-dd", - example = "2015-12-15" - ) - private LocalDate sistStillingsendring; - @ApiModelProperty( - notes = "Bruksperiode for arbeidsavtalen" - ) - private Bruksperiode bruksperiode; - @ApiModelProperty( - notes = "Gyldighetsperiode for arbeidsavtalen" - ) - private Gyldighetsperiode gyldighetsperiode; - @ApiModelProperty( - notes = "Informasjon om opprettelse og endring av objekt" - ) - private Sporingsinformasjon sporingsinformasjon; - - @JsonProperty("sistLoennsendring") - public String getSistLoennsendringAsString() { - return JavaTimeUtil.toString(this.sistLoennsendring); - } - - @JsonProperty("sistStillingsendring") - public String getSistStillingsendringAsString() { - return JavaTimeUtil.toString(this.sistStillingsendring); - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Arbeidsforhold.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Arbeidsforhold.java deleted file mode 100644 index 1ab56c7ab7a..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Arbeidsforhold.java +++ /dev/null @@ -1,88 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.LocalDateTime; -import java.util.List; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonPropertyOrder({ "navArbeidsforholdId", "arbeidsforholdId", "arbeidstaker", "arbeidsgiver", "opplysningspliktig", "type", "ansettelsesperiode", "arbeidsavtaler", "permisjonPermitteringer", - "antallTimerForTimeloennet", "utenlandsopphold", "innrapportertEtterAOrdningen", "registrert", "sistBekreftet", "sporingsinformasjon" }) -@ApiModel( - description = "Informasjon om arbeidsforhold" -) -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode -public class Arbeidsforhold { - - @ApiModelProperty( - notes = "Arbeidsforhold-id i AAREG", - example = "123456" - ) - private Long navArbeidsforholdId; - @ApiModelProperty( - notes = "Arbeidsforhold-id fra opplysningspliktig", - example = "abc-321" - ) - private String arbeidsforholdId; - private LocalDateTime registrert; - @ApiModelProperty( - notes = "Arbeidstaker" - ) - private Person arbeidstaker; - @ApiModelProperty( - notes = "Arbeidsgiver - organisasjon eller person" - ) - private OpplysningspliktigArbeidsgiver arbeidsgiver; - @ApiModelProperty( - notes = "Opplysningspliktig - organisasjon eller person" - ) - private OpplysningspliktigArbeidsgiver opplysningspliktig; - @ApiModelProperty( - notes = "Arbeidsforholdtype (kodeverk: Arbeidsforholdtyper)", - example = "ordinaertArbeidsforhold" - ) - private String type; - @ApiModelProperty( - notes = "Ansettelsesperiode" - ) - private Ansettelsesperiode ansettelsesperiode; - @ApiModelProperty( - notes = "Liste av arbeidsavtaler - gjeldende og evt. med historikk" - ) - private List arbeidsavtaler; - @ApiModelProperty( - notes = "Liste av permisjoner og/eller permitteringer" - ) - private List permisjonPermitteringer; - @ApiModelProperty( - notes = "Liste av antall timer med timelønn" - ) - private List antallTimerForTimeloennet; - @ApiModelProperty( - notes = "Liste av utenlandsopphold" - ) - private List utenlandsopphold; - @ApiModelProperty( - notes = "Er arbeidsforholdet innrapportert via A-Ordningen?" - ) - private Boolean innrapportertEtterAOrdningen; - private LocalDateTime sistBekreftet; - @ApiModelProperty( - notes = "Informasjon om opprettelse og endring av objekt" - ) - private Sporingsinformasjon sporingsinformasjon; -} \ No newline at end of file diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Bruksperiode.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Bruksperiode.java deleted file mode 100644 index 2d7facb76a6..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Bruksperiode.java +++ /dev/null @@ -1,46 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.LocalDateTime; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonPropertyOrder({ "fom", "tom" }) -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode -public class Bruksperiode { - - private LocalDateTime fom; - private LocalDateTime tom; - - @JsonProperty("fom") - @ApiModelProperty( - notes = "Fra-tidsstempel for bruksperiode, format (ISO-8601): yyyy-MM-dd'T'HH:mm[:ss[.SSSSSSSSS]]", - example = "2015-01-06T21:44:04.748" - ) - public String getFomAsString() { - return JavaTimeUtil.toString(this.fom); - } - - @JsonProperty("tom") - @ApiModelProperty( - notes = "Til-tidsstempel for bruksperiode, format (ISO-8601): yyyy-MM-dd'T'HH:mm[:ss[.SSSSSSSSS]]", - example = "2015-12-06T19:45:04" - ) - public String getTomAsString() { - return JavaTimeUtil.toString(this.tom); - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Fartoey.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Fartoey.java deleted file mode 100644 index 40167c73692..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Fartoey.java +++ /dev/null @@ -1,26 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonPropertyOrder({ "fom", "tom" }) -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode -public class Fartoey { - - private String skipsregister; - private String skipstype; - private String fartsomraade; - -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Gyldighetsperiode.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Gyldighetsperiode.java deleted file mode 100644 index ed282e4649f..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Gyldighetsperiode.java +++ /dev/null @@ -1,47 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import lombok.EqualsAndHashCode; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@EqualsAndHashCode(callSuper = true) -public class Gyldighetsperiode extends Periode { - - protected Gyldighetsperiode(GyldighetsperiodeBuilder b) { - super(b); - } - - public static GyldighetsperiodeBuilder builder() { - return new GyldighetsperiodeBuilderImpl(); - } - - private static final class GyldighetsperiodeBuilderImpl extends GyldighetsperiodeBuilder { - - private GyldighetsperiodeBuilderImpl() { - } - - protected GyldighetsperiodeBuilderImpl self() { - return this; - } - - public Gyldighetsperiode build() { - return new Gyldighetsperiode(this); - } - } - - public abstract static class GyldighetsperiodeBuilder> extends PeriodeBuilder { - - protected GyldighetsperiodeBuilder() { - } - - protected abstract B self(); - - public abstract C build(); - - @Override - public String toString() { - return "Gyldighetsperiode.GyldighetsperiodeBuilder(super=" + super.toString() + ")"; - } - } -} - diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/JavaTimeUtil.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/JavaTimeUtil.java deleted file mode 100644 index f6dc09e9471..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/JavaTimeUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.YearMonth; -import java.time.format.DateTimeFormatter; - -public class JavaTimeUtil { - - private JavaTimeUtil() { - - } - - public static String toString(LocalDate source) { - return source != null ? source.format(DateTimeFormatter.ISO_LOCAL_DATE) : null; - } - - public static String toString(LocalDateTime source) { - return source != null ? source.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) : null; - } - - public static String toString(YearMonth source) { - return source != null ? source.format(DateTimeFormatter.ofPattern("yyyy-MM")) : null; - } -} \ No newline at end of file diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/OpplysningspliktigArbeidsgiver.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/OpplysningspliktigArbeidsgiver.java deleted file mode 100644 index 965792930f2..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/OpplysningspliktigArbeidsgiver.java +++ /dev/null @@ -1,19 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@ApiModel( - description = "Informasjon om opplysningspliktig eller arbeidsgiver (organisasjon eller person)", - subTypes = {Organisasjon.class, Person.class} -) -public interface OpplysningspliktigArbeidsgiver { - - @ApiModelProperty( - notes = "Type: Organisasjon eller Person", - allowableValues = "Organisasjon,Person" - ) - String getType(); -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Organisasjon.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Organisasjon.java deleted file mode 100644 index 410222d6fd2..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Organisasjon.java +++ /dev/null @@ -1,41 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonPropertyOrder({ "type", "organisasjonsnummer" }) -@ApiModel( - description = "Informasjon om organisasjon (arbeidsgiver/opplysningspliktig)", - parent = OpplysningspliktigArbeidsgiver.class -) -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode -public class Organisasjon implements OpplysningspliktigArbeidsgiver { - - @ApiModelProperty( - notes = "Organisasjonsnummer fra Enhetsregisteret", - example = "987654321" - ) - private String organisasjonsnummer; - - @ApiModelProperty( - notes = "Type: Organisasjon", - allowableValues = "Organisasjon" - ) - public String getType() { - return this.getClass().getSimpleName(); - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Periode.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Periode.java deleted file mode 100644 index 2142c88aba3..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Periode.java +++ /dev/null @@ -1,95 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.LocalDate; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonPropertyOrder({ "fom", "tom" }) -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode -public class Periode { - - private LocalDate fom; - private LocalDate tom; - - @JsonProperty("fom") - @ApiModelProperty( - notes = "Fra-og-med-dato for periode, format (ISO-8601): yyyy-MM-dd", - example = "2014-07-01" - ) - public String getFomAsString() { - return JavaTimeUtil.toString(this.fom); - } - - @JsonProperty("tom") - @ApiModelProperty( - notes = "Til-og-med-dato for periode, format (ISO-8601): yyyy-MM-dd", - example = "2015-12-31" - ) - public String getTomAsString() { - return JavaTimeUtil.toString(this.tom); - } - - protected Periode(PeriodeBuilder b) { - this.fom = b.fom; - this.tom = b.tom; - } - - public static PeriodeBuilder builder() { - return new PeriodeBuilderImpl(); - } - - private static final class PeriodeBuilderImpl extends - PeriodeBuilder { - - private PeriodeBuilderImpl() { - } - - protected PeriodeBuilderImpl self() { - return this; - } - - public Periode build() { - return new Periode(this); - } - } - - public abstract static class PeriodeBuilder> { - - private LocalDate fom; - private LocalDate tom; - - public PeriodeBuilder() { - } - - protected abstract B self(); - - public abstract C build(); - - public B fom(LocalDate fom) { - this.fom = fom; - return this.self(); - } - - public B tom(LocalDate tom) { - this.tom = tom; - return this.self(); - } - - public String toString() { - return "Periode.PeriodeBuilder(fom=" + this.fom + ", tom=" + this.tom + ")"; - } - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/PermisjonPermittering.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/PermisjonPermittering.java deleted file mode 100644 index 413f7b7e6dc..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/PermisjonPermittering.java +++ /dev/null @@ -1,54 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonPropertyOrder({ "permisjonPermitteringId", "periode", "prosent", "type", "sporingsinformasjon" }) -@ApiModel( - description = "Informasjon om permisjon eller permittering" -) -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode -public class PermisjonPermittering { - - @ApiModelProperty( - notes = "Id fra opplysningspliktig", - example = "123-xyz" - ) - private String permisjonPermitteringId; - @ApiModelProperty( - notes = "Periode for permisjon eller permittering" - ) - private Periode periode; - @ApiModelProperty( - notes = "Prosent for permisjon eller permittering", - example = "50.5" - ) - private Double prosent; - @ApiModelProperty( - notes = "Permisjon-/permitteringstype (kodeverk: PermisjonsOgPermitteringsBeskrivelse)", - example = "permisjonMedForeldrepenger" - ) - private String type; - @ApiModelProperty( - notes = "Varslingskode (kodeverk: Varslingskode_5fAa-registeret) - benyttes hvis permisjon/permittering er lukket maskinelt" - ) - private String varslingskode; - @ApiModelProperty( - notes = "Informasjon om opprettelse og endring av objekt" - ) - private Sporingsinformasjon sporingsinformasjon; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Person.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Person.java deleted file mode 100644 index 846f03a155f..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Person.java +++ /dev/null @@ -1,46 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonPropertyOrder({ "type", "offentligIdent", "aktoerId" }) -@ApiModel( - description = "Informasjon om person (arbeidstaker/arbeidsgiver/opplysningspliktig)", - parent = OpplysningspliktigArbeidsgiver.class -) -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode -public class Person implements OpplysningspliktigArbeidsgiver { - - @ApiModelProperty( - notes = "Gjeldende offentlig ident", - example = "31126700000" - ) - private String offentligIdent; - @ApiModelProperty( - notes = "Aktør-id", - example = "1234567890" - ) - private String aktoerId; - - @ApiModelProperty( - notes = "Type: Person", - allowableValues = "Person" - ) - public String getType() { - return this.getClass().getSimpleName(); - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Sporingsinformasjon.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Sporingsinformasjon.java deleted file mode 100644 index 5a1806fec9c..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Sporingsinformasjon.java +++ /dev/null @@ -1,80 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.LocalDateTime; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonPropertyOrder({ "opprettetTidspunkt", "opprettetAv", "opprettetKilde", "opprettetKildereferanse", "endretTidspunkt", "endretAv", "endretKilde", "endretKildereferanse" }) -@ApiModel( - description = "Informasjon om opprettelse og endring av objekt. MERK: Skal IKKE eksponeres i selvbetjeningssonen (SBS)." -) -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode -public class Sporingsinformasjon { - - private LocalDateTime opprettetTidspunkt; - @ApiModelProperty( - notes = "Brukernavn for opprettelse", - example = "srvappserver" - ) - private String opprettetAv; - @ApiModelProperty( - notes = "Kilde for opprettelse", - example = "EDAG" - ) - private String opprettetKilde; - @ApiModelProperty( - notes = "Kildereferanse for opprettelse", - example = "22a26849-aeef-4b81-9174-e238c11e1081" - ) - private String opprettetKildereferanse; - private LocalDateTime endretTidspunkt; - @ApiModelProperty( - notes = "Brukernavn for endring", - example = "Z990693" - ) - private String endretAv; - @ApiModelProperty( - notes = "Kilde for endring", - example = "AAREG" - ) - private String endretKilde; - @ApiModelProperty( - notes = "Kildereferanse for endring", - example = "referanse-fra-kilde" - ) - private String endretKildereferanse; - - @JsonProperty("opprettetTidspunkt") - @ApiModelProperty( - notes = "Tidspunkt for opprettelse, format (ISO-8601): yyyy-MM-dd'T'HH:mm[:ss[.SSSSSSSSS]]", - example = "2018-09-19T12:10:58.059" - ) - public String getOpprettetTidspunktAsString() { - return JavaTimeUtil.toString(this.opprettetTidspunkt); - } - - @JsonProperty("endretTidspunkt") - @ApiModelProperty( - notes = "Tidspunkt for endring, format (ISO-8601): yyyy-MM-dd'T'HH:mm[:ss[.SSSSSSSSS]]", - example = "2018-09-19T12:11:20.79" - ) - public String getEndretTidspunktAsString() { - return JavaTimeUtil.toString(this.endretTidspunkt); - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Utenlandsopphold.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Utenlandsopphold.java deleted file mode 100644 index f239c852cf0..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/arbeidsforhold/Utenlandsopphold.java +++ /dev/null @@ -1,53 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.arbeidsforhold; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.YearMonth; - -@JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonPropertyOrder({ "periode", "landkode", "rapporteringsperiode", "sporingsinformasjon" }) -@ApiModel( - description = "Informasjon om utenlandsopphold" -) -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode -public class Utenlandsopphold { - - @ApiModelProperty( - notes = "Periode for utenlandsopphold" - ) - private Periode periode; - @ApiModelProperty( - notes = "Landkode (kodeverk: Landkoder)", - example = "JPN" - ) - private String landkode; - private YearMonth rapporteringsperiode; - @ApiModelProperty( - notes = "Informasjon om opprettelse og endring av objekt" - ) - private Sporingsinformasjon sporingsinformasjon; - - @JsonProperty("rapporteringsperiode") - @ApiModelProperty( - notes = "Rapporteringsperiode for utenlandsopphold, format (ISO-8601): yyyy-MM", - example = "2017-12" - ) - public String getRapporteringsperiodeAsString() { - return JavaTimeUtil.toString(this.rapporteringsperiode); - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Alvorlighetsgrad.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Alvorlighetsgrad.java deleted file mode 100644 index c32fe9fdde1..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Alvorlighetsgrad.java +++ /dev/null @@ -1,10 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter; - -public enum Alvorlighetsgrad { - AVVISNING, - OEYEBLIKKELIG, - RETNINGSLINJE; - - private Alvorlighetsgrad() { - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Arbeidsforhold.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Arbeidsforhold.java deleted file mode 100644 index e588aa6e2ea..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Arbeidsforhold.java +++ /dev/null @@ -1,79 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.LocalDate; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class Arbeidsforhold { - - @ApiModelProperty( - value = "unik id som identifiserer et eksisterende arbeidsforhold, settes til null om det skal opprettes et nytt arbeidsforhold", - position = 0 - ) - private Long id; - @ApiModelProperty( - value = "gyldige verdier ligger i kodeverket 'Arbeidsforholdstyper'", - position = 1 - ) - private String arbeidsforholdstype; - @ApiModelProperty( - example = "yyyy-MM-dd", - position = 2 - ) - private LocalDate startdato; - @ApiModelProperty( - example = "yyyy-MM-dd", - position = 3 - ) - private LocalDate sluttdato; - @ApiModelProperty( - value = "", - position = 4 - ) - private Double antallTimerPerUkeSomEnFullStillingTilsvarer; - @ApiModelProperty( - value = "gyldige verdier ligger i kodeverket 'Avlønningstyper'", - position = 5 - ) - private String avloenningstype; - @ApiModelProperty( - value = "gyldige verdier ligger i kodeverket 'Yrker'", - position = 6 - ) - private String yrke; - @ApiModelProperty( - value = "gyldige verdier ligger i kodeverket 'Arbeidstidsordninger'", - position = 7 - ) - private String arbeidstidsordning; - @ApiModelProperty( - value = "", - position = 8 - ) - private Double stillingsprosent; - @ApiModelProperty( - example = "yyyy-MM-dd", - position = 9 - ) - private LocalDate sisteLoennsendringsdato; - @ApiModelProperty( - example = "yyyy-MM-dd", - position = 10 - ) - private LocalDate sisteDatoForStillingsprosentendring; - @ApiModelProperty( - value = "menneskelig lesbar feilmelding. Ligge kun i responsen fra inntektstub om noe er galt med dette objektet.", - position = 11 - ) - private String feilmelding; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Avvik.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Avvik.java deleted file mode 100644 index d773b83fa51..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Avvik.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class Avvik { - - @ApiModelProperty("unik id som identifiserer et eksisterende avvik, settes til null om det skal opprettes et nytt avvik") - private Long id; - @ApiModelProperty( - value = "tidligere har default verdier fra avvik på inntektsinformsjonen vært 'MAGNET_EDAG-110' og på inntekten 'MAGNET_EDAG-116B'", - position = 1 - ) - private String navn; - @ApiModelProperty( - value = "tidligere har default verdier fra avvik på inntektsinformsjonen vært 'RETNINGSLINJE' og på inntekten 'OEYEBLIKKELIG'", - position = 2 - ) - private Alvorlighetsgrad alvorlighetsgrad; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Forskuddstrekk.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Forskuddstrekk.java deleted file mode 100644 index 9261cb74a38..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Forskuddstrekk.java +++ /dev/null @@ -1,44 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.util.List; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class Forskuddstrekk { - - @ApiModelProperty( - value = "unik id som identifiserer et eksisterende forskuddstrekk, settes til null om det skal opprettes et nytt forskuddstrekk", - position = 0 - ) - private Long id; - @ApiModelProperty( - value = "gyldige verdier ligger i kodeverket 'Forskuddstrekkbeskrivelse'", - position = 1 - ) - private String beskrivelse; - @ApiModelProperty( - value = "", - position = 2 - ) - private double beloep; - @ApiModelProperty( - value = "", - position = 3 - ) - private List avvik; - @ApiModelProperty( - value = "menneskelig lesbar feilmelding. Ligge kun i responsen fra inntektstub om noe er galt med dette objektet.", - position = 4 - ) - private String feilmelding; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Fradrag.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Fradrag.java deleted file mode 100644 index 8ad23cae6a0..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Fradrag.java +++ /dev/null @@ -1,44 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.util.List; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class Fradrag { - - @ApiModelProperty( - value = "unik id som identifiserer et eksisterende fradrag, settes til null om det skal opprettes et nytt fradrag", - position = 0 - ) - private Long id; - @ApiModelProperty( - value = "gyldige verdier finnes i kodeverket 'Fradragbeskrivelse'", - position = 1 - ) - private String beskrivelse; - @ApiModelProperty( - value = "", - position = 2 - ) - private double beloep; - @ApiModelProperty( - value = "", - position = 3 - ) - private List avvik; - @ApiModelProperty( - value = "menneskelig lesbar feilmelding. Ligge kun i responsen fra inntektstub om noe er galt med dette objektet.", - position = 4 - ) - private String feilmelding; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Inntekt.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Inntekt.java deleted file mode 100644 index f50d1c20e51..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Inntekt.java +++ /dev/null @@ -1,102 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.LocalDate; -import java.util.List; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class Inntekt { - - @ApiModelProperty( - value = "unik id som identifiserer en eksisterende inntekt, settes til null om det skal opprettes en ny inntekt", - position = 0 - ) - private Long id; - @ApiModelProperty( - value = "", - position = 1 - ) - private Inntektstype inntektstype; - @ApiModelProperty( - value = "", - position = 2 - ) - private double beloep; - @ApiModelProperty( - value = "startdato på perioden inntekten var opptjent", - example = "yyyy-MM-dd", - position = 3 - ) - private LocalDate startOpptjeningsperiode; - @ApiModelProperty( - value = "sluttdato på perioden inntekten var opptjent", - example = "yyyy-MM-dd", - position = 4 - ) - private LocalDate sluttOpptjeningsperiode; - @ApiModelProperty( - value = "", - position = 5 - ) - private boolean inngaarIGrunnlagForTrekk; - @ApiModelProperty( - value = "", - position = 6 - ) - private boolean utloeserArbeidsgiveravgift; - @ApiModelProperty( - value = "", - position = 7 - ) - private String fordel; - @ApiModelProperty( - value = "gyldige verdier ligger i kodeverket 'Fordel'", - position = 8 - ) - private String skatteOgAvgiftsregel; - @ApiModelProperty( - value = "", - position = 9 - ) - private String skattemessigBosattILand; - @ApiModelProperty( - value = "", - position = 10 - ) - private String opptjeningsland; - @ApiModelProperty( - value = "gyldige verdier avhenger av inntektstypen. gyldige verdier ligger i kodeverkene 'Loennsbeskrivelse', 'YtelseFraOffentligeBeskrivelse', 'PensjonEllerTrygdeBeskrivelse', 'Naeringsinntektsbeskrivelse'", - position = 11 - ) - private String beskrivelse; - @ApiModelProperty( - value = "OBS! kun ett av feltene i tilleggsinformasjon kan være satt", - position = 12 - ) - private Tilleggsinformasjon tilleggsinformasjon; - @ApiModelProperty( - value = "", - position = 13 - ) - private List avvik; - @ApiModelProperty( - value = "f.eks antall kilometer i kilometergodtgjørelsen", - position = 14 - ) - private Double antall; - @ApiModelProperty( - value = "menneskelig lesbar feilmelding. Ligge kun i responsen fra inntektstub om noe er galt med dette objektet.", - position = 15 - ) - private String feilmelding; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Inntektsinformasjon.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Inntektsinformasjon.java deleted file mode 100644 index e3ee84f529e..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Inntektsinformasjon.java +++ /dev/null @@ -1,76 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.YearMonth; -import java.util.List; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class Inntektsinformasjon { - - @ApiModelProperty( - required = true, - position = 0 - ) - private String norskIdent; - @ApiModelProperty( - value = "året/måneden inntektsinformasjonen gjelder for", - example = "yyyy-MM", - dataType = "java.lang.String", - required = true, - position = 1 - ) - private YearMonth aarMaaned; - @ApiModelProperty( - value = "organisasjonsnummer/norskIdent", - required = true, - position = 2 - ) - private String opplysningspliktig; - @ApiModelProperty( - value = "organisasjonsnummer/norskIdent", - required = true, - position = 3 - ) - private String virksomhet; - @ApiModelProperty( - position = 4 - ) - private List inntektsliste; - @ApiModelProperty( - position = 5 - ) - private List fradragsliste; - @ApiModelProperty( - position = 6 - ) - private List forskuddstrekksliste; - @ApiModelProperty( - position = 7 - ) - private List arbeidsforholdsliste; - @ApiModelProperty( - value = "", - position = 8 - ) - private List avvik; - @ApiModelProperty( - value = "Versjonsnummeret til historikken, 'null' er nåværende versjon", - position = 9 - ) - private Long versjon; - @ApiModelProperty( - value = "Menneskelig lesbar feilmelding. Ligger kun i responsen fra inntektstub om noe er galt med dette objektet.", - position = 10 - ) - private String feilmelding; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Inntektstype.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Inntektstype.java deleted file mode 100644 index 03c60649478..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Inntektstype.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter; - -import lombok.Getter; - -@Getter -public enum Inntektstype { - LOENNSINNTEKT("loennsinntekt"), - YTELSE_FRA_OFFENTLIGE("ytelseFraOffentlige"), - PENSJON_ELLER_TRYGD("pensjonEllerTrygd"), - NAERINGSINNTEKT("naeringsinntekt"); - - String navn; - - private Inntektstype(String navn) { - this.navn = navn; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Tilleggsinformasjon.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Tilleggsinformasjon.java deleted file mode 100644 index db502d9c2d8..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/Tilleggsinformasjon.java +++ /dev/null @@ -1,83 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter; - -import lombok.Getter; -import no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon.AldersUfoereEtterlatteAvtalefestetOgKrigspensjon; -import no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon.BilOgBaat; -import no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon.BonusFraForsvaret; -import no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon.DagmammaIEgenBolig; -import no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon.Inntjeningsforhold; -import no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon.Livrente; -import no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon.LottOgPartInnenFiske; -import no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon.Nettoloennsordning; -import no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon.NorskKontinentalsokkel; -import no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon.Periode; -import no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon.ReiseKostOgLosji; -import no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon.UtenlandskArtist; - -@Getter -public class Tilleggsinformasjon { - - private BilOgBaat bilOgBaat; - private DagmammaIEgenBolig dagmammaIEgenBolig; - private Periode etterbetalingsperiode; - private NorskKontinentalsokkel inntektPaaNorskKontinentalsokkel; - private Inntjeningsforhold inntjeningsforhold; - private Livrente livrente; - private LottOgPartInnenFiske lottOgPart; - private Nettoloennsordning nettoloenn; - private AldersUfoereEtterlatteAvtalefestetOgKrigspensjon pensjon; - private ReiseKostOgLosji reiseKostOgLosji; - private UtenlandskArtist utenlandskArtist; - private BonusFraForsvaret bonusFraForsvaret; - - private Tilleggsinformasjon() { - } - - public Tilleggsinformasjon(BilOgBaat bilOgBaat) { - this.bilOgBaat = bilOgBaat; - } - - public Tilleggsinformasjon(DagmammaIEgenBolig dagmammaIEgenBolig) { - this.dagmammaIEgenBolig = dagmammaIEgenBolig; - } - - public Tilleggsinformasjon(Periode etterbetalingsperiode) { - this.etterbetalingsperiode = etterbetalingsperiode; - } - - public Tilleggsinformasjon(NorskKontinentalsokkel inntektPaaNorskKontinentalsokkel) { - this.inntektPaaNorskKontinentalsokkel = inntektPaaNorskKontinentalsokkel; - } - - public Tilleggsinformasjon(Inntjeningsforhold inntjeningsforhold) { - this.inntjeningsforhold = inntjeningsforhold; - } - - public Tilleggsinformasjon(Livrente livrente) { - this.livrente = livrente; - } - - public Tilleggsinformasjon(LottOgPartInnenFiske lottOgPart) { - this.lottOgPart = lottOgPart; - } - - public Tilleggsinformasjon(Nettoloennsordning nettoloenn) { - this.nettoloenn = nettoloenn; - } - - public Tilleggsinformasjon(AldersUfoereEtterlatteAvtalefestetOgKrigspensjon pensjon) { - this.pensjon = pensjon; - } - - public Tilleggsinformasjon(ReiseKostOgLosji reiseKostOgLosji) { - this.reiseKostOgLosji = reiseKostOgLosji; - } - - public Tilleggsinformasjon(UtenlandskArtist utenlandskArtist) { - this.utenlandskArtist = utenlandskArtist; - } - - public Tilleggsinformasjon(BonusFraForsvaret bonusFraForsvaret) { - this.bonusFraForsvaret = bonusFraForsvaret; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/AldersUfoereEtterlatteAvtalefestetOgKrigspensjon.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/AldersUfoereEtterlatteAvtalefestetOgKrigspensjon.java deleted file mode 100644 index 58a4ea0a11c..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/AldersUfoereEtterlatteAvtalefestetOgKrigspensjon.java +++ /dev/null @@ -1,22 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class AldersUfoereEtterlatteAvtalefestetOgKrigspensjon { - - private Double grunnpensjonsbeloep; - private Double tilleggspensjonsbeloep; - private Integer ufoeregrad; - private Integer pensjonsgrad; - private Double heravEtterlattepensjon; - private Periode tidsrom; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/BilOgBaat.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/BilOgBaat.java deleted file mode 100644 index 90351c66e68..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/BilOgBaat.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon; - -import lombok.NoArgsConstructor; - -@NoArgsConstructor -public class BilOgBaat { - -} \ No newline at end of file diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/BonusFraForsvaret.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/BonusFraForsvaret.java deleted file mode 100644 index 0ccd2c8f7b2..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/BonusFraForsvaret.java +++ /dev/null @@ -1,24 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.Year; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class BonusFraForsvaret { - - @ApiModelProperty( - example = "yyyy", - dataType = "java.lang.String" - ) - private Year aaretUtbetalingenGjelderFor; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/DagmammaIEgenBolig.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/DagmammaIEgenBolig.java deleted file mode 100644 index ec98f916a09..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/DagmammaIEgenBolig.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon; - -import lombok.NoArgsConstructor; - -@NoArgsConstructor -public class DagmammaIEgenBolig { - -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Inntjeningsforhold.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Inntjeningsforhold.java deleted file mode 100644 index 5dc41e98946..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Inntjeningsforhold.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class Inntjeningsforhold { - - private String inntjeningsforhold; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Livrente.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Livrente.java deleted file mode 100644 index 54704c68b47..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Livrente.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon; - -import lombok.NoArgsConstructor; - -@NoArgsConstructor -public class Livrente { - -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/LottOgPartInnenFiske.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/LottOgPartInnenFiske.java deleted file mode 100644 index 4532263196e..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/LottOgPartInnenFiske.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon; - -import lombok.NoArgsConstructor; - -@NoArgsConstructor -public class LottOgPartInnenFiske { - -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Nettoloennsordning.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Nettoloennsordning.java deleted file mode 100644 index e8500b2a9ed..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Nettoloennsordning.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon; - -import lombok.NoArgsConstructor; - -@NoArgsConstructor -public class Nettoloennsordning { - -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/NorskKontinentalsokkel.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/NorskKontinentalsokkel.java deleted file mode 100644 index 8a05bc07a04..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/NorskKontinentalsokkel.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon; - -import lombok.NoArgsConstructor; - -@NoArgsConstructor -public class NorskKontinentalsokkel { - -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Periode.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Periode.java deleted file mode 100644 index e018c7cf3a4..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/Periode.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.LocalDate; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class Periode { - - @ApiModelProperty( - example = "yyyy-MM-dd", - position = 0 - ) - private LocalDate startdato; - @ApiModelProperty( - example = "yyyy-MM-dd", - position = 1 - ) - private LocalDate sluttdato; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/ReiseKostOgLosji.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/ReiseKostOgLosji.java deleted file mode 100644 index 75184234256..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/ReiseKostOgLosji.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class ReiseKostOgLosji { - - private String persontype; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/UtenlandskArtist.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/UtenlandskArtist.java deleted file mode 100644 index 9801a4cd06b..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/aordningen/inntektsinformasjon/v2/inntekter/tilleggsinformasjon/UtenlandskArtist.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.testnav.libs.domain.dto.aordningen.inntektsinformasjon.v2.inntekter.tilleggsinformasjon; - -import lombok.NoArgsConstructor; - -@NoArgsConstructor -public class UtenlandskArtist { - -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/gensaksopplysninger/GensakOvKoder.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/gensaksopplysninger/GensakOvKoder.java deleted file mode 100644 index d18d3fb5191..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/gensaksopplysninger/GensakOvKoder.java +++ /dev/null @@ -1,6 +0,0 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.aap.gensaksopplysninger; - -public enum GensakOvKoder { - OOPPL, - TLONN -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/institusjonsopphold/InstOvKoder.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/institusjonsopphold/InstOvKoder.java deleted file mode 100644 index f351fe29148..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/institusjonsopphold/InstOvKoder.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.aap.institusjonsopphold; - -public enum InstOvKoder { - INPER -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/medlemfolketrygden/FolketrygdenKoder.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/medlemfolketrygden/FolketrygdenKoder.java deleted file mode 100644 index baea0ddc63e..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/aap/medlemfolketrygden/FolketrygdenKoder.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.aap.medlemfolketrygden; - -public enum FolketrygdenKoder { - MEDL1 -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftOvKoder.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftOvKoder.java deleted file mode 100644 index 80f58df5c46..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/boutgift/BoutgiftOvKoder.java +++ /dev/null @@ -1,6 +0,0 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.boutgift; - -public enum BoutgiftOvKoder { - KRPER, - AKDAT -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseOvKoder.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseOvKoder.java deleted file mode 100644 index 5d3d2a91cf4..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/dagligreise/DagligReiseOvKoder.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.dagligreise; - -public enum DagligReiseOvKoder { - KRPER -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteOvKoder.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteOvKoder.java deleted file mode 100644 index 52a7d18f4b8..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/flytting/FlytteOvKoder.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.flytting; - -public enum FlytteOvKoder { - -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseOvKoder.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseOvKoder.java deleted file mode 100644 index bbb32f1349c..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/hjemreise/HjemreiseOvKoder.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.hjemreise; - -public enum HjemreiseOvKoder { - KRPER -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelOvKoder.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelOvKoder.java deleted file mode 100644 index aa83ef279bf..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/laeremidler/LaeremiddelOvKoder.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.laeremidler; - -public enum LaeremiddelOvKoder { - KRPER -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingOvKoder.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingOvKoder.java deleted file mode 100644 index 8801aecbfd0..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reiseobligatorisksamling/ObligatoriskSamlingOvKoder.java +++ /dev/null @@ -1,6 +0,0 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.reiseobligatorisksamling; - -public enum ObligatoriskSamlingOvKoder { - KRPER, - DAAKT -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerOvKoder.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerOvKoder.java deleted file mode 100644 index ad168b59893..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/reisestoenad/ReisestoenadArbeidssoekerOvKoder.java +++ /dev/null @@ -1,6 +0,0 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.reisestoenad; - -public enum ReisestoenadArbeidssoekerOvKoder { - KRPER, - AKDAT -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnOvKoder.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnOvKoder.java deleted file mode 100644 index c9a33802837..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/BarnOvKoder.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.tilsyn; - -public enum BarnOvKoder { - KRPER -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemOvKoder.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemOvKoder.java deleted file mode 100644 index 23ef744415a..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tilleggsstoenad/tilsyn/FamiliemedlemOvKoder.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tilleggsstoenad.tilsyn; - -public enum FamiliemedlemOvKoder { - KRPER -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tiltak/Tiltaksaktivitet.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tiltak/Tiltaksaktivitet.java deleted file mode 100644 index 9aa8cd36a9e..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/arena/testnorge/tiltak/Tiltaksaktivitet.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.testnav.libs.domain.dto.arena.testnorge.tiltak; - -import com.fasterxml.jackson.annotation.JsonInclude; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.LocalDate; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -@JsonInclude(JsonInclude.Include.NON_NULL) -public class Tiltaksaktivitet { - - private String fodselsnr; - private String aktivitetkode; - private LocalDate fraDato; - private String beskrivelse; - private String saksbehandler; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/AdresseDTO.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/AdresseDTO.java deleted file mode 100644 index ee8717ea6a9..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/AdresseDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package no.nav.testnav.libs.domain.dto.eregmapper.v1; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AdresseDTO { - @JsonProperty - private List adresser; - @JsonProperty - private String postnr; - @JsonProperty - private String kommunenr; - @JsonProperty - private String landkode; - @JsonProperty - private String poststed; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/EregDTO.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/EregDTO.java deleted file mode 100644 index 08fb1b435b6..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/EregDTO.java +++ /dev/null @@ -1,79 +0,0 @@ -package no.nav.testnav.libs.domain.dto.eregmapper.v1; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; -import java.util.Map; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -@JsonIgnoreProperties(ignoreUnknown = true) -public class EregDTO { - - @JsonProperty(required = true) - private String orgnr; - @JsonProperty - private NavnDTO navn; - @JsonProperty(required = true) - private String enhetstype; - @Builder.Default - @JsonProperty - private String endringsType = "N"; - @JsonProperty - private AdresseDTO adresse; - @JsonProperty - private AdresseDTO forretningsAdresse; - @JsonProperty - private String epost; - @JsonProperty - private String internetAdresse; - @JsonProperty - private List frivilligRegistreringerMVA; - @JsonProperty - private Boolean harAnsatte; - @JsonProperty - private String sektorKode; - @JsonProperty - private String stiftelsesDato; - @JsonProperty - private TelefonDTO telefon; - @JsonProperty - private String frivillighetsKode; - @JsonProperty - private String nedleggelsesDato; - @JsonProperty - private String eierskapskifteDato; - @JsonProperty - private String oppstartsDato; - @JsonProperty("målform") - private Maalform maalform; - @JsonProperty - private Boolean utelukkendeVirksomhetINorge; - @JsonProperty - private Boolean heleidINorge; - @JsonProperty - private Boolean fravalgAvRevisjonen; - @JsonProperty - private UtenlandsRegisterDTO utenlandsRegister; - @JsonProperty - private Map statuser; - @JsonProperty("kjønsfordeling") - private Boolean kjoensfordeling; - @JsonProperty - private UnderlagtHjemlandDTO underlagtHjemland; - @JsonProperty - private KapitalDTO kapital; - @JsonProperty("næringskode") - private NaeringskodeDTO naeringskode; - @JsonProperty("formål") - private String formaal; - @JsonProperty - private List knytninger; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/KapitalDTO.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/KapitalDTO.java deleted file mode 100644 index 5fb7cc45db7..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/KapitalDTO.java +++ /dev/null @@ -1,24 +0,0 @@ -package no.nav.testnav.libs.domain.dto.eregmapper.v1; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class KapitalDTO { - @JsonProperty - private String valuttakode; - @JsonProperty - private String kapital; - @JsonProperty - private String kapitalInnbetalt; - @JsonProperty - private String kapitalBundet; - @JsonProperty - private String fritekst; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/KnytningDTO.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/KnytningDTO.java deleted file mode 100644 index cc5d5283a32..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/KnytningDTO.java +++ /dev/null @@ -1,33 +0,0 @@ -package no.nav.testnav.libs.domain.dto.eregmapper.v1; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -@JsonIgnoreProperties(ignoreUnknown = true) -public class KnytningDTO { - @Builder.Default - @JsonProperty - private String type = "BEDRNSSY"; - @Builder.Default - @JsonProperty - private String ansvarsandel = ""; - @Builder.Default - @JsonProperty - private String fratreden = ""; - @JsonProperty(required = true) - private String orgnr; - @Builder.Default - @JsonProperty - private String valgtAv = ""; - @Builder.Default - @JsonProperty - private String korrektOrgNr = ""; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/Maalform.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/Maalform.java deleted file mode 100644 index d21cae0296a..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/Maalform.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.testnav.libs.domain.dto.eregmapper.v1; - -public enum Maalform { - BOOKMAAL("B"), - NYNORSK("N"), - B("B"), - N("N"); - - private final String form; - - Maalform(String form) { - this.form = form; - } - - public String getForm() { - return form; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/NaeringskodeDTO.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/NaeringskodeDTO.java deleted file mode 100644 index bf596f2a654..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/NaeringskodeDTO.java +++ /dev/null @@ -1,22 +0,0 @@ -package no.nav.testnav.libs.domain.dto.eregmapper.v1; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -@JsonIgnoreProperties(ignoreUnknown = true) -public class NaeringskodeDTO { - @JsonProperty - private String kode; - @JsonProperty - private String gyldighetsdato; - @JsonProperty - private Boolean hjelpeEnhet; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/NavnDTO.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/NavnDTO.java deleted file mode 100644 index f2fbf1326de..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/NavnDTO.java +++ /dev/null @@ -1,23 +0,0 @@ -package no.nav.testnav.libs.domain.dto.eregmapper.v1; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -@JsonIgnoreProperties(ignoreUnknown = true) -public class NavnDTO { - @JsonProperty - private List navneListe; - @JsonProperty - private String redNavn; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/TelefonDTO.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/TelefonDTO.java deleted file mode 100644 index 52ed35ac190..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/TelefonDTO.java +++ /dev/null @@ -1,22 +0,0 @@ -package no.nav.testnav.libs.domain.dto.eregmapper.v1; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -@JsonIgnoreProperties(ignoreUnknown = true) -public class TelefonDTO { - @JsonProperty - private String mobil; - @JsonProperty - private String fax; - @JsonProperty - private String fast; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/UnderlagtHjemlandDTO.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/UnderlagtHjemlandDTO.java deleted file mode 100644 index 3513e44da92..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/UnderlagtHjemlandDTO.java +++ /dev/null @@ -1,24 +0,0 @@ -package no.nav.testnav.libs.domain.dto.eregmapper.v1; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -@JsonIgnoreProperties(ignoreUnknown = true) -public class UnderlagtHjemlandDTO { - @JsonProperty - private String underlagtLovgivningLandkoode; - @JsonProperty - private String foretaksformHjemland; - @JsonProperty - private String beskrivelseHjemland; - @JsonProperty - private String beskrivelseNorge; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/UtenlandsRegisterDTO.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/UtenlandsRegisterDTO.java deleted file mode 100644 index dc912d6f30a..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/eregmapper/v1/UtenlandsRegisterDTO.java +++ /dev/null @@ -1,24 +0,0 @@ -package no.nav.testnav.libs.domain.dto.eregmapper.v1; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -@JsonIgnoreProperties(ignoreUnknown = true) -public class UtenlandsRegisterDTO { - @JsonProperty - private List navn; - @JsonProperty - private String registerNr; - @JsonProperty - private AdresseDTO adresse; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/BehovType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/BehovType.java deleted file mode 100644 index c3743c316be..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/BehovType.java +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "behovType", - propOrder = { "brukerBehov", "brukerBehovFraDato", "brukerBehovTilDato", "brukerBehovKilde", "brukerBehovRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class BehovType { - - @XmlElement( - required = true - ) - protected String brukerBehov; - @XmlElement( - required = true - ) - protected String brukerBehovFraDato; - @XmlElement( - required = true - ) - protected String brukerBehovTilDato; - @XmlElement( - required = true - ) - protected String brukerBehovKilde; - @XmlElement( - required = true - ) - protected String brukerBehovRegistrertAv; - - public BehovType withBrukerBehov(String value) { - this.setBrukerBehov(value); - return this; - } - - public BehovType withBrukerBehovFraDato(String value) { - this.setBrukerBehovFraDato(value); - return this; - } - - public BehovType withBrukerBehovTilDato(String value) { - this.setBrukerBehovTilDato(value); - return this; - } - - public BehovType withBrukerBehovKilde(String value) { - this.setBrukerBehovKilde(value); - return this; - } - - public BehovType withBrukerBehovRegistrertAv(String value) { - this.setBrukerBehovRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/BoadresseType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/BoadresseType.java deleted file mode 100644 index 271769b5daa..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/BoadresseType.java +++ /dev/null @@ -1,179 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "boadresseType", - propOrder = { "boAdresse", "boKodeLand", "boKommune", "boPostnr", "boBydel", "boAdressetillegg", "booffaGateKode", "booffaHusnr", "booffaBokstav", "booffaBolignr", "bomatrGardsnr", "bomatrBruksnr", - "bomatrFestenr", "bomatrUndernr", "boAdresseFraDato", "boAdresseTilDato", "boAdresseKilde" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class BoadresseType { - - @XmlElement( - required = true - ) - protected String boAdresse; - @XmlElement( - required = true - ) - protected String boKodeLand; - @XmlElement( - required = true - ) - protected String boKommune; - @XmlElement( - required = true - ) - protected String boPostnr; - @XmlElement( - required = true - ) - protected String boBydel; - @XmlElement( - required = true - ) - protected String boAdressetillegg; - @XmlElement( - required = true - ) - protected String booffaGateKode; - @XmlElement( - required = true - ) - protected String booffaHusnr; - @XmlElement( - required = true - ) - protected String booffaBokstav; - @XmlElement( - required = true - ) - protected String booffaBolignr; - @XmlElement( - required = true - ) - protected String bomatrGardsnr; - @XmlElement( - required = true - ) - protected String bomatrBruksnr; - @XmlElement( - required = true - ) - protected String bomatrFestenr; - @XmlElement( - required = true - ) - protected String bomatrUndernr; - @XmlElement( - required = true - ) - protected String boAdresseFraDato; - @XmlElement( - required = true - ) - protected String boAdresseTilDato; - @XmlElement( - required = true - ) - protected String boAdresseKilde; - - public BoadresseType withBoAdresse(String value) { - this.setBoAdresse(value); - return this; - } - - public BoadresseType withBoKodeLand(String value) { - this.setBoKodeLand(value); - return this; - } - - public BoadresseType withBoKommune(String value) { - this.setBoKommune(value); - return this; - } - - public BoadresseType withBoPostnr(String value) { - this.setBoPostnr(value); - return this; - } - - public BoadresseType withBoBydel(String value) { - this.setBoBydel(value); - return this; - } - - public BoadresseType withBoAdressetillegg(String value) { - this.setBoAdressetillegg(value); - return this; - } - - public BoadresseType withBooffaGateKode(String value) { - this.setBooffaGateKode(value); - return this; - } - - public BoadresseType withBooffaHusnr(String value) { - this.setBooffaHusnr(value); - return this; - } - - public BoadresseType withBooffaBokstav(String value) { - this.setBooffaBokstav(value); - return this; - } - - public BoadresseType withBooffaBolignr(String value) { - this.setBooffaBolignr(value); - return this; - } - - public BoadresseType withBomatrGardsnr(String value) { - this.setBomatrGardsnr(value); - return this; - } - - public BoadresseType withBomatrBruksnr(String value) { - this.setBomatrBruksnr(value); - return this; - } - - public BoadresseType withBomatrFestenr(String value) { - this.setBomatrFestenr(value); - return this; - } - - public BoadresseType withBomatrUndernr(String value) { - this.setBomatrUndernr(value); - return this; - } - - public BoadresseType withBoAdresseFraDato(String value) { - this.setBoAdresseFraDato(value); - return this; - } - - public BoadresseType withBoAdresseTilDato(String value) { - this.setBoAdresseTilDato(value); - return this; - } - - public BoadresseType withBoAdresseKilde(String value) { - this.setBoAdresseKilde(value); - return this; - } -} - diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/DodType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/DodType.java deleted file mode 100644 index fa9d95a3924..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/DodType.java +++ /dev/null @@ -1,61 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "dodType", - propOrder = { "datoDod", "dodDatoReg", "dodKilde", "dodRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class DodType { - - @XmlElement( - required = true - ) - protected String datoDod; - @XmlElement( - required = true - ) - protected String dodDatoReg; - @XmlElement( - required = true - ) - protected String dodKilde; - @XmlElement( - required = true - ) - protected String dodRegistrertAv; - - public DodType withDatoDod(String value) { - this.setDatoDod(value); - return this; - } - - public DodType withDodDatoReg(String value) { - this.setDodDatoReg(value); - return this; - } - - public DodType withDodKilde(String value) { - this.setDodKilde(value); - return this; - } - - public DodType withDodRegistrertAv(String value) { - this.setDodRegistrertAv(value); - return this; - } -} - diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/DokumentType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/DokumentType.java deleted file mode 100644 index b7c551ba58c..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/DokumentType.java +++ /dev/null @@ -1,88 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "dokumentType", - propOrder = { "dokumentstatus", "dokumentutfyllendemelding", "dokumenttidspunkt", "dokumenthistorikk", "dokumentFraDato", "dokumentTilDato", "dokumentKilde" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class DokumentType { - - @XmlElement( - required = true - ) - protected String dokumentstatus; - @XmlElement( - required = true - ) - protected String dokumentutfyllendemelding; - @XmlElement( - required = true - ) - protected String dokumenttidspunkt; - @XmlElement( - required = true - ) - protected String dokumenthistorikk; - @XmlElement( - required = true - ) - protected String dokumentFraDato; - @XmlElement( - required = true - ) - protected String dokumentTilDato; - @XmlElement( - required = true - ) - protected String dokumentKilde; - - public DokumentType withDokumentstatus(String value) { - this.setDokumentstatus(value); - return this; - } - - public DokumentType withDokumentutfyllendemelding(String value) { - this.setDokumentutfyllendemelding(value); - return this; - } - - public DokumentType withDokumenttidspunkt(String value) { - this.setDokumenttidspunkt(value); - return this; - } - - public DokumentType withDokumenthistorikk(String value) { - this.setDokumenthistorikk(value); - return this; - } - - public DokumentType withDokumentFraDato(String value) { - this.setDokumentFraDato(value); - return this; - } - - public DokumentType withDokumentTilDato(String value) { - this.setDokumentTilDato(value); - return this; - } - - public DokumentType withDokumentKilde(String value) { - this.setDokumentKilde(value); - return this; - } -} - diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/EgenansattType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/EgenansattType.java deleted file mode 100644 index 1521b04c805..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/EgenansattType.java +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "egenansattType", - propOrder = { "egenansatt", "egenansattFraDato", "egenansattTilDato", "egenansattKilde", "egenansattRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class EgenansattType { - - @XmlElement( - required = true - ) - protected String egenansatt; - @XmlElement( - required = true - ) - protected String egenansattFraDato; - @XmlElement( - required = true - ) - protected String egenansattTilDato; - @XmlElement( - required = true - ) - protected String egenansattKilde; - @XmlElement( - required = true - ) - protected String egenansattRegistrertAv; - - public EgenansattType withEgenansatt(String value) { - this.setEgenansatt(value); - return this; - } - - public EgenansattType withEgenansattFraDato(String value) { - this.setEgenansattFraDato(value); - return this; - } - - public EgenansattType withEgenansattTilDato(String value) { - this.setEgenansattTilDato(value); - return this; - } - - public EgenansattType withEgenansattKilde(String value) { - this.setEgenansattKilde(value); - return this; - } - - public EgenansattType withEgenansattRegistrertAv(String value) { - this.setEgenansattRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/ForeldreansvarType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/ForeldreansvarType.java deleted file mode 100644 index 489aabc4b5f..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/ForeldreansvarType.java +++ /dev/null @@ -1,70 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "foreldreansvarType", - propOrder = { "foreldreAnsvar", "foreldreAnsvarFraDato", "foreldreAnsvarTilDato", "foreldreAnsvarKilde", "forreldreAnsvarRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class ForeldreansvarType { - - @XmlElement( - required = true - ) - protected String foreldreAnsvar; - @XmlElement( - required = true - ) - protected String foreldreAnsvarFraDato; - @XmlElement( - required = true - ) - protected String foreldreAnsvarTilDato; - @XmlElement( - required = true - ) - protected String foreldreAnsvarKilde; - @XmlElement( - required = true - ) - protected String forreldreAnsvarRegistrertAv; - - public ForeldreansvarType withForeldreAnsvar(String value) { - this.setForeldreAnsvar(value); - return this; - } - - public ForeldreansvarType withForeldreAnsvarFraDato(String value) { - this.setForeldreAnsvarFraDato(value); - return this; - } - - public ForeldreansvarType withForeldreAnsvarTilDato(String value) { - this.setForeldreAnsvarTilDato(value); - return this; - } - - public ForeldreansvarType withForeldreAnsvarKilde(String value) { - this.setForeldreAnsvarKilde(value); - return this; - } - - public ForeldreansvarType withForreldreAnsvarRegistrertAv(String value) { - this.setForreldreAnsvarRegistrertAv(value); - return this; - } -} - diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/GetiType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/GetiType.java deleted file mode 100644 index da9f5016cbf..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/GetiType.java +++ /dev/null @@ -1,88 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "getiType", - propOrder = { "getiLand", "getiKommune", "getiBydel", "getiRegel", "getiFraDato", "getiTilDato", "getiKilde" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class GetiType { - - @XmlElement( - required = true - ) - protected String getiLand; - @XmlElement( - required = true - ) - protected String getiKommune; - @XmlElement( - required = true - ) - protected String getiBydel; - @XmlElement( - required = true - ) - protected String getiRegel; - @XmlElement( - required = true - ) - protected String getiFraDato; - @XmlElement( - required = true - ) - protected String getiTilDato; - @XmlElement( - required = true - ) - protected String getiKilde; - - public GetiType withGetiLand(String value) { - this.setGetiLand(value); - return this; - } - - public GetiType withGetiKommune(String value) { - this.setGetiKommune(value); - return this; - } - - public GetiType withGetiBydel(String value) { - this.setGetiBydel(value); - return this; - } - - public GetiType withGetiRegel(String value) { - this.setGetiRegel(value); - return this; - } - - public GetiType withGetiFraDato(String value) { - this.setGetiFraDato(value); - return this; - } - - public GetiType withGetiTilDato(String value) { - this.setGetiTilDato(value); - return this; - } - - public GetiType withGetiKilde(String value) { - this.setGetiKilde(value); - return this; - } -} - diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/GironummerType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/GironummerType.java deleted file mode 100644 index 566f1bf7e0f..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/GironummerType.java +++ /dev/null @@ -1,70 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "gironummerType", - propOrder = { "gironummer", "gironummerFraDato", "gironummerTilDato", "gironummerKilde", "gironummeRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class GironummerType { - - @XmlElement( - required = true - ) - protected String gironummer; - @XmlElement( - required = true - ) - protected String gironummerFraDato; - @XmlElement( - required = true - ) - protected String gironummerTilDato; - @XmlElement( - required = true - ) - protected String gironummerKilde; - @XmlElement( - required = true - ) - protected String gironummeRegistrertAv; - - public GironummerType withGironummer(String value) { - this.setGironummer(value); - return this; - } - - public GironummerType withGironummerFraDato(String value) { - this.setGironummerFraDato(value); - return this; - } - - public GironummerType withGironummerTilDato(String value) { - this.setGironummerTilDato(value); - return this; - } - - public GironummerType withGironummerKilde(String value) { - this.setGironummerKilde(value); - return this; - } - - public GironummerType withGironummeRegistrertAv(String value) { - this.setGironummeRegistrertAv(value); - return this; - } -} - diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/MigrasjonType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/MigrasjonType.java deleted file mode 100644 index 376fcd4f391..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/MigrasjonType.java +++ /dev/null @@ -1,79 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "migrasjonType", - propOrder = { "migrasjon", "migrasjonLand", "migrasjonFraDato", "migrasjonTilDato", "migrasjonKilde", "migrasjonRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class MigrasjonType { - - @XmlElement( - required = true - ) - protected String migrasjon; - @XmlElement( - required = true - ) - protected String migrasjonLand; - @XmlElement( - required = true - ) - protected String migrasjonFraDato; - @XmlElement( - required = true - ) - protected String migrasjonTilDato; - @XmlElement( - required = true - ) - protected String migrasjonKilde; - @XmlElement( - required = true - ) - protected String migrasjonRegistrertAv; - - public MigrasjonType withMigrasjon(String value) { - this.setMigrasjon(value); - return this; - } - - public MigrasjonType withMigrasjonLand(String value) { - this.setMigrasjonLand(value); - return this; - } - - public MigrasjonType withMigrasjonFraDato(String value) { - this.setMigrasjonFraDato(value); - return this; - } - - public MigrasjonType withMigrasjonTilDato(String value) { - this.setMigrasjonTilDato(value); - return this; - } - - public MigrasjonType withMigrasjonKilde(String value) { - this.setMigrasjonKilde(value); - return this; - } - - public MigrasjonType withMigrasjonRegistrertAv(String value) { - this.setMigrasjonRegistrertAv(value); - return this; - } -} - diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/NavnType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/NavnType.java deleted file mode 100644 index 7562389a651..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/NavnType.java +++ /dev/null @@ -1,105 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "navnType", - propOrder = { "forkortetNavn", "slektsNavn", "forNavn", "mellomNavn", "slektsNavnugift", "navnFraDato", "navnTilDato", "navnKilde", "navnRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class NavnType { - - @XmlElement( - required = true - ) - protected String forkortetNavn; - @XmlElement( - required = true - ) - protected String slektsNavn; - @XmlElement( - required = true - ) - protected String forNavn; - @XmlElement( - required = true - ) - protected String mellomNavn; - @XmlElement( - required = true - ) - protected String slektsNavnugift; - @XmlElement( - required = true - ) - protected String navnFraDato; - @XmlElement( - required = true - ) - protected String navnTilDato; - @XmlElement( - required = true - ) - protected String navnKilde; - @XmlElement( - required = true - ) - protected String navnRegistrertAv; - - public NavnType withForkortetNavn(String value) { - this.setForkortetNavn(value); - return this; - } - - public NavnType withSlektsNavn(String value) { - this.setSlektsNavn(value); - return this; - } - - public NavnType withForNavn(String value) { - this.setForNavn(value); - return this; - } - - public NavnType withMellomNavn(String value) { - this.setMellomNavn(value); - return this; - } - - public NavnType withSlektsNavnugift(String value) { - this.setSlektsNavnugift(value); - return this; - } - - public NavnType withNavnFraDato(String value) { - this.setNavnFraDato(value); - return this; - } - - public NavnType withNavnTilDato(String value) { - this.setNavnTilDato(value); - return this; - } - - public NavnType withNavnKilde(String value) { - this.setNavnKilde(value); - return this; - } - - public NavnType withNavnRegistrertAv(String value) { - this.setNavnRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/OppholdstillatelseType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/OppholdstillatelseType.java deleted file mode 100644 index 099035d3241..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/OppholdstillatelseType.java +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "oppholdstillatelseType", - propOrder = { "oppholdsTillatelse", "oppholdsTillatelseFraDato", "oppholdsTillatelseTilDato", "oppholdsTillatelseKilde", "oppholdsTillatelseRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class OppholdstillatelseType { - - @XmlElement( - required = true - ) - protected String oppholdsTillatelse; - @XmlElement( - required = true - ) - protected String oppholdsTillatelseFraDato; - @XmlElement( - required = true - ) - protected String oppholdsTillatelseTilDato; - @XmlElement( - required = true - ) - protected String oppholdsTillatelseKilde; - @XmlElement( - required = true - ) - protected String oppholdsTillatelseRegistrertAv; - - public OppholdstillatelseType withOppholdsTillatelse(String value) { - this.setOppholdsTillatelse(value); - return this; - } - - public OppholdstillatelseType withOppholdsTillatelseFraDato(String value) { - this.setOppholdsTillatelseFraDato(value); - return this; - } - - public OppholdstillatelseType withOppholdsTillatelseTilDato(String value) { - this.setOppholdsTillatelseTilDato(value); - return this; - } - - public OppholdstillatelseType withOppholdsTillatelseKilde(String value) { - this.setOppholdsTillatelseKilde(value); - return this; - } - - public OppholdstillatelseType withOppholdsTillatelseRegistrertAv(String value) { - this.setOppholdsTillatelseRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonIdentStatusType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonIdentStatusType.java deleted file mode 100644 index 34e07a5699f..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonIdentStatusType.java +++ /dev/null @@ -1,60 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "personIdentStatusType", - propOrder = { "personIdentStatus", "personIdentStatusFraDato", "personIdentStatusTilDato", "personIdentStatusKilde" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class PersonIdentStatusType { - - @XmlElement( - required = true - ) - protected String personIdentStatus; - @XmlElement( - required = true - ) - protected String personIdentStatusFraDato; - @XmlElement( - required = true - ) - protected String personIdentStatusTilDato; - @XmlElement( - required = true - ) - protected String personIdentStatusKilde; - - public PersonIdentStatusType withPersonIdentStatus(String value) { - this.setPersonIdentStatus(value); - return this; - } - - public PersonIdentStatusType withPersonIdentStatusFraDato(String value) { - this.setPersonIdentStatusFraDato(value); - return this; - } - - public PersonIdentStatusType withPersonIdentStatusTilDato(String value) { - this.setPersonIdentStatusTilDato(value); - return this; - } - - public PersonIdentStatusType withPersonIdentStatusKilde(String value) { - this.setPersonIdentStatusKilde(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonIdentType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonIdentType.java deleted file mode 100644 index 092d75b15c6..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonIdentType.java +++ /dev/null @@ -1,79 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "personIdentType", - propOrder = { "personIdent", "personIdenttype", "personIdentneste", "personIdentFraDato", "personIdentTilDato", "personIdentKilde" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class PersonIdentType { - - @XmlElement( - required = true - ) - protected String personIdent; - @XmlElement( - required = true - ) - protected String personIdenttype; - @XmlElement( - required = true - ) - protected String personIdentneste; - @XmlElement( - required = true - ) - protected String personIdentFraDato; - @XmlElement( - required = true - ) - protected String personIdentTilDato; - @XmlElement( - required = true - ) - protected String personIdentKilde; - - public PersonIdentType withPersonIdent(String value) { - this.setPersonIdent(value); - return this; - } - - public PersonIdentType withPersonIdenttype(String value) { - this.setPersonIdenttype(value); - return this; - } - - public PersonIdentType withPersonIdentneste(String value) { - this.setPersonIdentneste(value); - return this; - } - - public PersonIdentType withPersonIdentFraDato(String value) { - this.setPersonIdentFraDato(value); - return this; - } - - public PersonIdentType withPersonIdentTilDato(String value) { - this.setPersonIdentTilDato(value); - return this; - } - - public PersonIdentType withPersonIdentKilde(String value) { - this.setPersonIdentKilde(value); - return this; - } -} - diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonInfoType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonInfoType.java deleted file mode 100644 index 5d9969afb23..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonInfoType.java +++ /dev/null @@ -1,88 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "personInfoType", - propOrder = { "personKjonn", "personDatofodt", "personFodtLand", "personFodtKommune", "personFraDato", "personTilDato", "personKilde" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class PersonInfoType { - - @XmlElement( - required = true - ) - protected String personKjonn; - @XmlElement( - required = true - ) - protected String personDatofodt; - @XmlElement( - required = true - ) - protected String personFodtLand; - @XmlElement( - required = true - ) - protected String personFodtKommune; - @XmlElement( - required = true - ) - protected String personFraDato; - @XmlElement( - required = true - ) - protected String personTilDato; - @XmlElement( - required = true - ) - protected String personKilde; - - public PersonInfoType withPersonKjonn(String value) { - this.setPersonKjonn(value); - return this; - } - - public PersonInfoType withPersonDatofodt(String value) { - this.setPersonDatofodt(value); - return this; - } - - public PersonInfoType withPersonFodtLand(String value) { - this.setPersonFodtLand(value); - return this; - } - - public PersonInfoType withPersonFodtKommune(String value) { - this.setPersonFodtKommune(value); - return this; - } - - public PersonInfoType withPersonFraDato(String value) { - this.setPersonFraDato(value); - return this; - } - - public PersonInfoType withPersonTilDato(String value) { - this.setPersonTilDato(value); - return this; - } - - public PersonInfoType withPersonKilde(String value) { - this.setPersonKilde(value); - return this; - } -} - diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonStatusType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonStatusType.java deleted file mode 100644 index 3ab76d46aa5..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonStatusType.java +++ /dev/null @@ -1,60 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "personStatusType", - propOrder = { "personStatus", "personStatusFraDato", "personStatusTilDato", "personStatusKilde" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class PersonStatusType { - - @XmlElement( - required = true - ) - protected String personStatus; - @XmlElement( - required = true - ) - protected String personStatusFraDato; - @XmlElement( - required = true - ) - protected String personStatusTilDato; - @XmlElement( - required = true - ) - protected String personStatusKilde; - - public PersonStatusType withPersonStatus(String value) { - this.setPersonStatus(value); - return this; - } - - public PersonStatusType withPersonStatusFraDato(String value) { - this.setPersonStatusFraDato(value); - return this; - } - - public PersonStatusType withPersonStatusTilDato(String value) { - this.setPersonStatusTilDato(value); - return this; - } - - public PersonStatusType withPersonStatusKilde(String value) { - this.setPersonStatusKilde(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonType.java deleted file mode 100644 index a7d2455ffbe..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PersonType.java +++ /dev/null @@ -1,776 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; -import java.math.BigInteger; -import java.util.Collection; -import java.util.List; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "personType", - propOrder = { "meldingId", "personidTPS", "personIdent", "personIdentstatus", "personInfo", "personStatus", "navn", "spraak", "sivilstand", "statsborger", "dod", "telefon", "tknr", "spesReg", "tiltak", - "egenansatt", "boadresse", "prioritertadresse", "geti", "foreldreansvar", "oppholdstillatelse", "gironummer", "tillegg", "utad", "post", "migrasjon", "vergemaal", "behov", "utlandbank", "utlandinfo" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class PersonType { - - @XmlElement( - required = true - ) - protected BigInteger meldingId; - @XmlElement( - required = true - ) - protected BigInteger personidTPS; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List personIdent; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List personIdentstatus; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List personInfo; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List personStatus; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List navn; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List spraak; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List sivilstand; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List statsborger; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List dod; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List telefon; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List tknr; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List spesReg; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List tiltak; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List egenansatt; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List boadresse; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List prioritertadresse; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List geti; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List foreldreansvar; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List oppholdstillatelse; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List gironummer; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List tillegg; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List utad; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List post; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List migrasjon; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List vergemaal; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List behov; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List utlandbank; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List utlandinfo; - - public PersonType withMeldingId(BigInteger value) { - this.setMeldingId(value); - return this; - } - - public PersonType withPersonidTPS(BigInteger value) { - this.setPersonidTPS(value); - return this; - } - - public PersonType withPersonIdent(PersonIdentType... values) { - if (values != null) { - PersonIdentType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - PersonIdentType value = var2[var4]; - this.getPersonIdent().add(value); - } - } - - return this; - } - - public PersonType withPersonIdent(Collection values) { - if (values != null) { - this.getPersonIdent().addAll(values); - } - - return this; - } - - public PersonType withPersonIdentstatus(PersonIdentStatusType... values) { - if (values != null) { - PersonIdentStatusType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - PersonIdentStatusType value = var2[var4]; - this.getPersonIdentstatus().add(value); - } - } - - return this; - } - - public PersonType withPersonIdentstatus(Collection values) { - if (values != null) { - this.getPersonIdentstatus().addAll(values); - } - - return this; - } - - public PersonType withPersonInfo(PersonInfoType... values) { - if (values != null) { - PersonInfoType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - PersonInfoType value = var2[var4]; - this.getPersonInfo().add(value); - } - } - - return this; - } - - public PersonType withPersonInfo(Collection values) { - if (values != null) { - this.getPersonInfo().addAll(values); - } - - return this; - } - - public PersonType withPersonStatus(PersonStatusType... values) { - if (values != null) { - PersonStatusType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - PersonStatusType value = var2[var4]; - this.getPersonStatus().add(value); - } - } - - return this; - } - - public PersonType withPersonStatus(Collection values) { - if (values != null) { - this.getPersonStatus().addAll(values); - } - - return this; - } - - public PersonType withNavn(NavnType... values) { - if (values != null) { - NavnType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - NavnType value = var2[var4]; - this.getNavn().add(value); - } - } - - return this; - } - - public PersonType withNavn(Collection values) { - if (values != null) { - this.getNavn().addAll(values); - } - - return this; - } - - public PersonType withSpraak(SpraakType... values) { - if (values != null) { - SpraakType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - SpraakType value = var2[var4]; - this.getSpraak().add(value); - } - } - - return this; - } - - public PersonType withSpraak(Collection values) { - if (values != null) { - this.getSpraak().addAll(values); - } - - return this; - } - - public PersonType withSivilstand(SivilstandType... values) { - if (values != null) { - SivilstandType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - SivilstandType value = var2[var4]; - this.getSivilstand().add(value); - } - } - - return this; - } - - public PersonType withSivilstand(Collection values) { - if (values != null) { - this.getSivilstand().addAll(values); - } - - return this; - } - - public PersonType withStatsborger(StatsborgerType... values) { - if (values != null) { - StatsborgerType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - StatsborgerType value = var2[var4]; - this.getStatsborger().add(value); - } - } - - return this; - } - - public PersonType withStatsborger(Collection values) { - if (values != null) { - this.getStatsborger().addAll(values); - } - - return this; - } - - public PersonType withDod(DodType... values) { - if (values != null) { - DodType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - DodType value = var2[var4]; - this.getDod().add(value); - } - } - - return this; - } - - public PersonType withDod(Collection values) { - if (values != null) { - this.getDod().addAll(values); - } - - return this; - } - - public PersonType withTelefon(TelefonType... values) { - if (values != null) { - TelefonType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - TelefonType value = var2[var4]; - this.getTelefon().add(value); - } - } - - return this; - } - - public PersonType withTelefon(Collection values) { - if (values != null) { - this.getTelefon().addAll(values); - } - - return this; - } - - public PersonType withTknr(TknrType... values) { - if (values != null) { - TknrType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - TknrType value = var2[var4]; - this.getTknr().add(value); - } - } - - return this; - } - - public PersonType withTknr(Collection values) { - if (values != null) { - this.getTknr().addAll(values); - } - - return this; - } - - public PersonType withSpesReg(SpesRegType... values) { - if (values != null) { - SpesRegType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - SpesRegType value = var2[var4]; - this.getSpesReg().add(value); - } - } - - return this; - } - - public PersonType withSpesReg(Collection values) { - if (values != null) { - this.getSpesReg().addAll(values); - } - - return this; - } - - public PersonType withTiltak(TiltakType... values) { - if (values != null) { - TiltakType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - TiltakType value = var2[var4]; - this.getTiltak().add(value); - } - } - - return this; - } - - public PersonType withTiltak(Collection values) { - if (values != null) { - this.getTiltak().addAll(values); - } - - return this; - } - - public PersonType withEgenansatt(EgenansattType... values) { - if (values != null) { - EgenansattType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - EgenansattType value = var2[var4]; - this.getEgenansatt().add(value); - } - } - - return this; - } - - public PersonType withEgenansatt(Collection values) { - if (values != null) { - this.getEgenansatt().addAll(values); - } - - return this; - } - - public PersonType withBoadresse(BoadresseType... values) { - if (values != null) { - BoadresseType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - BoadresseType value = var2[var4]; - this.getBoadresse().add(value); - } - } - - return this; - } - - public PersonType withBoadresse(Collection values) { - if (values != null) { - this.getBoadresse().addAll(values); - } - - return this; - } - - public PersonType withPrioritertadresse(PrioritertadresseType... values) { - if (values != null) { - PrioritertadresseType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - PrioritertadresseType value = var2[var4]; - this.getPrioritertadresse().add(value); - } - } - - return this; - } - - public PersonType withPrioritertadresse(Collection values) { - if (values != null) { - this.getPrioritertadresse().addAll(values); - } - - return this; - } - - public PersonType withGeti(GetiType... values) { - if (values != null) { - GetiType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - GetiType value = var2[var4]; - this.getGeti().add(value); - } - } - - return this; - } - - public PersonType withGeti(Collection values) { - if (values != null) { - this.getGeti().addAll(values); - } - - return this; - } - - public PersonType withForeldreansvar(ForeldreansvarType... values) { - if (values != null) { - ForeldreansvarType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - ForeldreansvarType value = var2[var4]; - this.getForeldreansvar().add(value); - } - } - - return this; - } - - public PersonType withForeldreansvar(Collection values) { - if (values != null) { - this.getForeldreansvar().addAll(values); - } - - return this; - } - - public PersonType withOppholdstillatelse(OppholdstillatelseType... values) { - if (values != null) { - OppholdstillatelseType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - OppholdstillatelseType value = var2[var4]; - this.getOppholdstillatelse().add(value); - } - } - - return this; - } - - public PersonType withOppholdstillatelse(Collection values) { - if (values != null) { - this.getOppholdstillatelse().addAll(values); - } - - return this; - } - - public PersonType withGironummer(GironummerType... values) { - if (values != null) { - GironummerType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - GironummerType value = var2[var4]; - this.getGironummer().add(value); - } - } - - return this; - } - - public PersonType withGironummer(Collection values) { - if (values != null) { - this.getGironummer().addAll(values); - } - - return this; - } - - public PersonType withTillegg(TilleggType... values) { - if (values != null) { - TilleggType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - TilleggType value = var2[var4]; - this.getTillegg().add(value); - } - } - - return this; - } - - public PersonType withTillegg(Collection values) { - if (values != null) { - this.getTillegg().addAll(values); - } - - return this; - } - - public PersonType withUtad(UtadType... values) { - if (values != null) { - UtadType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - UtadType value = var2[var4]; - this.getUtad().add(value); - } - } - - return this; - } - - public PersonType withUtad(Collection values) { - if (values != null) { - this.getUtad().addAll(values); - } - - return this; - } - - public PersonType withPost(PostType... values) { - if (values != null) { - PostType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - PostType value = var2[var4]; - this.getPost().add(value); - } - } - - return this; - } - - public PersonType withPost(Collection values) { - if (values != null) { - this.getPost().addAll(values); - } - - return this; - } - - public PersonType withMigrasjon(MigrasjonType... values) { - if (values != null) { - MigrasjonType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - MigrasjonType value = var2[var4]; - this.getMigrasjon().add(value); - } - } - - return this; - } - - public PersonType withMigrasjon(Collection values) { - if (values != null) { - this.getMigrasjon().addAll(values); - } - - return this; - } - - public PersonType withVergemaal(VergeType... values) { - if (values != null) { - VergeType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - VergeType value = var2[var4]; - this.getVergemaal().add(value); - } - } - - return this; - } - - public PersonType withVergemaal(Collection values) { - if (values != null) { - this.getVergemaal().addAll(values); - } - - return this; - } - - public PersonType withBehov(BehovType... values) { - if (values != null) { - BehovType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - BehovType value = var2[var4]; - this.getBehov().add(value); - } - } - - return this; - } - - public PersonType withBehov(Collection values) { - if (values != null) { - this.getBehov().addAll(values); - } - - return this; - } - - public PersonType withUtlandbank(UtlandbankType... values) { - if (values != null) { - UtlandbankType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - UtlandbankType value = var2[var4]; - this.getUtlandbank().add(value); - } - } - - return this; - } - - public PersonType withUtlandbank(Collection values) { - if (values != null) { - this.getUtlandbank().addAll(values); - } - - return this; - } - - public PersonType withUtlandinfo(UtlandinfoType... values) { - if (values != null) { - UtlandinfoType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - UtlandinfoType value = var2[var4]; - this.getUtlandinfo().add(value); - } - } - - return this; - } - - public PersonType withUtlandinfo(Collection values) { - if (values != null) { - this.getUtlandinfo().addAll(values); - } - - return this; - } -} - diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PostType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PostType.java deleted file mode 100644 index 262cd047d80..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PostType.java +++ /dev/null @@ -1,105 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "PostType", - propOrder = { "postAdresse1", "postAdresse2", "postAdresse3", "postpostnr", "postLand", "postAdresseFraDato", "postAdresseTilDato", "postKilde", "postRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class PostType { - - @XmlElement( - required = true - ) - protected String postAdresse1; - @XmlElement( - required = true - ) - protected String postAdresse2; - @XmlElement( - required = true - ) - protected String postAdresse3; - @XmlElement( - required = true - ) - protected String postpostnr; - @XmlElement( - required = true - ) - protected String postLand; - @XmlElement( - required = true - ) - protected String postAdresseFraDato; - @XmlElement( - required = true - ) - protected String postAdresseTilDato; - @XmlElement( - required = true - ) - protected String postKilde; - @XmlElement( - required = true - ) - protected String postRegistrertAv; - - public PostType withPostAdresse1(String value) { - this.setPostAdresse1(value); - return this; - } - - public PostType withPostAdresse2(String value) { - this.setPostAdresse2(value); - return this; - } - - public PostType withPostAdresse3(String value) { - this.setPostAdresse3(value); - return this; - } - - public PostType withPostpostnr(String value) { - this.setPostpostnr(value); - return this; - } - - public PostType withPostLand(String value) { - this.setPostLand(value); - return this; - } - - public PostType withPostAdresseFraDato(String value) { - this.setPostAdresseFraDato(value); - return this; - } - - public PostType withPostAdresseTilDato(String value) { - this.setPostAdresseTilDato(value); - return this; - } - - public PostType withPostKilde(String value) { - this.setPostKilde(value); - return this; - } - - public PostType withPostRegistrertAv(String value) { - this.setPostRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PrioritertadresseType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PrioritertadresseType.java deleted file mode 100644 index 372b11f9b7f..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/PrioritertadresseType.java +++ /dev/null @@ -1,60 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "prioritertadresseType", - propOrder = { "prioritertAdresseType", "prioritertAdresseFraDato", "prioritertAdresseTilDato", "prioritertAdresseKilde" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class PrioritertadresseType { - - @XmlElement( - required = true - ) - protected String prioritertAdresseType; - @XmlElement( - required = true - ) - protected String prioritertAdresseFraDato; - @XmlElement( - required = true - ) - protected String prioritertAdresseTilDato; - @XmlElement( - required = true - ) - protected String prioritertAdresseKilde; - - public PrioritertadresseType withPrioritertAdresseType(String value) { - this.setPrioritertAdresseType(value); - return this; - } - - public PrioritertadresseType withPrioritertAdresseFraDato(String value) { - this.setPrioritertAdresseFraDato(value); - return this; - } - - public PrioritertadresseType withPrioritertAdresseTilDato(String value) { - this.setPrioritertAdresseTilDato(value); - return this; - } - - public PrioritertadresseType withPrioritertAdresseKilde(String value) { - this.setPrioritertAdresseKilde(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/RelasjonType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/RelasjonType.java deleted file mode 100644 index e6c10ce0760..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/RelasjonType.java +++ /dev/null @@ -1,96 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "relasjonType", - propOrder = { "relasjonIdent", "relasjonIdentType", "relasjonIdentStatus", "relasjonRolle", "relasjonFraDato", "relasjonTilDato", "relasjonKilde", "relasjonRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class RelasjonType { - - @XmlElement( - required = true - ) - protected String relasjonIdent; - @XmlElement( - required = true - ) - protected String relasjonIdentType; - @XmlElement( - required = true - ) - protected String relasjonIdentStatus; - @XmlElement( - required = true - ) - protected String relasjonRolle; - @XmlElement( - required = true - ) - protected String relasjonFraDato; - @XmlElement( - required = true - ) - protected String relasjonTilDato; - @XmlElement( - required = true - ) - protected String relasjonKilde; - @XmlElement( - required = true - ) - protected String relasjonRegistrertAv; - - public RelasjonType withRelasjonIdent(String value) { - this.setRelasjonIdent(value); - return this; - } - - public RelasjonType withRelasjonIdentType(String value) { - this.setRelasjonIdentType(value); - return this; - } - - public RelasjonType withRelasjonIdentStatus(String value) { - this.setRelasjonIdentStatus(value); - return this; - } - - public RelasjonType withRelasjonRolle(String value) { - this.setRelasjonRolle(value); - return this; - } - - public RelasjonType withRelasjonFraDato(String value) { - this.setRelasjonFraDato(value); - return this; - } - - public RelasjonType withRelasjonTilDato(String value) { - this.setRelasjonTilDato(value); - return this; - } - - public RelasjonType withRelasjonKilde(String value) { - this.setRelasjonKilde(value); - return this; - } - - public RelasjonType withRelasjonRegistrertAv(String value) { - this.setRelasjonRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/SivilstandType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/SivilstandType.java deleted file mode 100644 index ce16ddda991..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/SivilstandType.java +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "sivilstandType", - propOrder = { "sivilstand", "sivilstandFraDato", "sivilstandTilDato", "sivilstandKilde", "sivilstandRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class SivilstandType { - - @XmlElement( - required = true - ) - protected String sivilstand; - @XmlElement( - required = true - ) - protected String sivilstandFraDato; - @XmlElement( - required = true - ) - protected String sivilstandTilDato; - @XmlElement( - required = true - ) - protected String sivilstandKilde; - @XmlElement( - required = true - ) - protected String sivilstandRegistrertAv; - - public SivilstandType withSivilstand(String value) { - this.setSivilstand(value); - return this; - } - - public SivilstandType withSivilstandFraDato(String value) { - this.setSivilstandFraDato(value); - return this; - } - - public SivilstandType withSivilstandTilDato(String value) { - this.setSivilstandTilDato(value); - return this; - } - - public SivilstandType withSivilstandKilde(String value) { - this.setSivilstandKilde(value); - return this; - } - - public SivilstandType withSivilstandRegistrertAv(String value) { - this.setSivilstandRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/SpesRegType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/SpesRegType.java deleted file mode 100644 index 988ff2bf4ba..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/SpesRegType.java +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "spesRegType", - propOrder = { "spesReg", "spesRegFraDato", "spesRegTilDato", "spesRegKilde", "spesRegRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class SpesRegType { - - @XmlElement( - required = true - ) - protected String spesReg; - @XmlElement( - required = true - ) - protected String spesRegFraDato; - @XmlElement( - required = true - ) - protected String spesRegTilDato; - @XmlElement( - required = true - ) - protected String spesRegKilde; - @XmlElement( - required = true - ) - protected String spesRegRegistrertAv; - - public SpesRegType withSpesReg(String value) { - this.setSpesReg(value); - return this; - } - - public SpesRegType withSpesRegFraDato(String value) { - this.setSpesRegFraDato(value); - return this; - } - - public SpesRegType withSpesRegTilDato(String value) { - this.setSpesRegTilDato(value); - return this; - } - - public SpesRegType withSpesRegKilde(String value) { - this.setSpesRegKilde(value); - return this; - } - - public SpesRegType withSpesRegRegistrertAv(String value) { - this.setSpesRegRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/SpraakType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/SpraakType.java deleted file mode 100644 index c9ddff32447..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/SpraakType.java +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "spraakType", - propOrder = { "spraak", "spraakFraDato", "spraakTilDato", "spraakKilde", "spraakRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class SpraakType { - - @XmlElement( - required = true - ) - protected String spraak; - @XmlElement( - required = true - ) - protected String spraakFraDato; - @XmlElement( - required = true - ) - protected String spraakTilDato; - @XmlElement( - required = true - ) - protected String spraakKilde; - @XmlElement( - required = true - ) - protected String spraakRegistrertAv; - - public SpraakType withSpraak(String value) { - this.setSpraak(value); - return this; - } - - public SpraakType withSpraakFraDato(String value) { - this.setSpraakFraDato(value); - return this; - } - - public SpraakType withSpraakTilDato(String value) { - this.setSpraakTilDato(value); - return this; - } - - public SpraakType withSpraakKilde(String value) { - this.setSpraakKilde(value); - return this; - } - - public SpraakType withSpraakRegistrertAv(String value) { - this.setSpraakRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/StatsborgerType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/StatsborgerType.java deleted file mode 100644 index 9c2d794928b..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/StatsborgerType.java +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "statsborgerType", - propOrder = { "statsborger", "statsborgerFraDato", "statsborgerTilDato", "statsborgerKilde", "statsborgerRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class StatsborgerType { - - @XmlElement( - required = true - ) - protected String statsborger; - @XmlElement( - required = true - ) - protected String statsborgerFraDato; - @XmlElement( - required = true - ) - protected String statsborgerTilDato; - @XmlElement( - required = true - ) - protected String statsborgerKilde; - @XmlElement( - required = true - ) - protected String statsborgerRegistrertAv; - - public StatsborgerType withStatsborger(String value) { - this.setStatsborger(value); - return this; - } - - public StatsborgerType withStatsborgerFraDato(String value) { - this.setStatsborgerFraDato(value); - return this; - } - - public StatsborgerType withStatsborgerTilDato(String value) { - this.setStatsborgerTilDato(value); - return this; - } - - public StatsborgerType withStatsborgerKilde(String value) { - this.setStatsborgerKilde(value); - return this; - } - - public StatsborgerType withStatsborgerRegistrertAv(String value) { - this.setStatsborgerRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonJobbType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonJobbType.java deleted file mode 100644 index 237db5a3c0f..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonJobbType.java +++ /dev/null @@ -1,78 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "telefonJobbType", - propOrder = { "tlfJobbRetningslinje", "tlfJobbNummer", "tlfJobbFraDato", "tlfJobbTilDato", "tlfJobbKilde", "tlfJobbRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class TelefonJobbType { - - @XmlElement( - required = true - ) - protected String tlfJobbRetningslinje; - @XmlElement( - required = true - ) - protected String tlfJobbNummer; - @XmlElement( - required = true - ) - protected String tlfJobbFraDato; - @XmlElement( - required = true - ) - protected String tlfJobbTilDato; - @XmlElement( - required = true - ) - protected String tlfJobbKilde; - @XmlElement( - required = true - ) - protected String tlfJobbRegistrertAv; - - public TelefonJobbType withTlfJobbRetningslinje(String value) { - this.setTlfJobbRetningslinje(value); - return this; - } - - public TelefonJobbType withTlfJobbNummer(String value) { - this.setTlfJobbNummer(value); - return this; - } - - public TelefonJobbType withTlfJobbFraDato(String value) { - this.setTlfJobbFraDato(value); - return this; - } - - public TelefonJobbType withTlfJobbTilDato(String value) { - this.setTlfJobbTilDato(value); - return this; - } - - public TelefonJobbType withTlfJobbKilde(String value) { - this.setTlfJobbKilde(value); - return this; - } - - public TelefonJobbType withTlfJobbRegistrertAv(String value) { - this.setTlfJobbRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonMobilType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonMobilType.java deleted file mode 100644 index 8ea5a1e7474..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonMobilType.java +++ /dev/null @@ -1,78 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "telefonMobilType", - propOrder = { "tlfMobilRetningslinje", "tlfMobilNummer", "tlfMobilFraDato", "tlfMobilTilDato", "tlfMobilKilde", "tlfMobilRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class TelefonMobilType { - - @XmlElement( - required = true - ) - protected String tlfMobilRetningslinje; - @XmlElement( - required = true - ) - protected String tlfMobilNummer; - @XmlElement( - required = true - ) - protected String tlfMobilFraDato; - @XmlElement( - required = true - ) - protected String tlfMobilTilDato; - @XmlElement( - required = true - ) - protected String tlfMobilKilde; - @XmlElement( - required = true - ) - protected String tlfMobilRegistrertAv; - - public TelefonMobilType withTlfMobilRetningslinje(String value) { - this.setTlfMobilRetningslinje(value); - return this; - } - - public TelefonMobilType withTlfMobilNummer(String value) { - this.setTlfMobilNummer(value); - return this; - } - - public TelefonMobilType withTlfMobilFraDato(String value) { - this.setTlfMobilFraDato(value); - return this; - } - - public TelefonMobilType withTlfMobilTilDato(String value) { - this.setTlfMobilTilDato(value); - return this; - } - - public TelefonMobilType withTlfMobilKilde(String value) { - this.setTlfMobilKilde(value); - return this; - } - - public TelefonMobilType withTlfMobilRegistrertAv(String value) { - this.setTlfMobilRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonPrivatType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonPrivatType.java deleted file mode 100644 index fcd864cf3a1..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonPrivatType.java +++ /dev/null @@ -1,78 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "telefonPrivatType", - propOrder = { "tlfPrivatRetningslinje", "tlfPrivatNummer", "tlfPrivatFraDato", "tlfPrivatTilDato", "tlfPrivatKilde", "tlfPrivatRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class TelefonPrivatType { - - @XmlElement( - required = true - ) - protected String tlfPrivatRetningslinje; - @XmlElement( - required = true - ) - protected String tlfPrivatNummer; - @XmlElement( - required = true - ) - protected String tlfPrivatFraDato; - @XmlElement( - required = true - ) - protected String tlfPrivatTilDato; - @XmlElement( - required = true - ) - protected String tlfPrivatKilde; - @XmlElement( - required = true - ) - protected String tlfPrivatRegistrertAv; - - public TelefonPrivatType withTlfPrivatRetningslinje(String value) { - this.setTlfPrivatRetningslinje(value); - return this; - } - - public TelefonPrivatType withTlfPrivatNummer(String value) { - this.setTlfPrivatNummer(value); - return this; - } - - public TelefonPrivatType withTlfPrivatFraDato(String value) { - this.setTlfPrivatFraDato(value); - return this; - } - - public TelefonPrivatType withTlfPrivatTilDato(String value) { - this.setTlfPrivatTilDato(value); - return this; - } - - public TelefonPrivatType withTlfPrivatKilde(String value) { - this.setTlfPrivatKilde(value); - return this; - } - - public TelefonPrivatType withTlfPrivatRegistrertAv(String value) { - this.setTlfPrivatRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonType.java deleted file mode 100644 index 52702a90e66..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TelefonType.java +++ /dev/null @@ -1,41 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "telefonType", - propOrder = { "tlfPrivat", "tlfJobb", "tlfMobil" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class TelefonType { - - protected TelefonPrivatType tlfPrivat; - protected TelefonJobbType tlfJobb; - protected TelefonMobilType tlfMobil; - - public TelefonType withTlfPrivat(TelefonPrivatType value) { - this.setTlfPrivat(value); - return this; - } - - public TelefonType withTlfJobb(TelefonJobbType value) { - this.setTlfJobb(value); - return this; - } - - public TelefonType withTlfMobil(TelefonMobilType value) { - this.setTlfMobil(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TilleggType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TilleggType.java deleted file mode 100644 index b2a0b4d999c..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TilleggType.java +++ /dev/null @@ -1,178 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "tilleggType", - propOrder = { "tilleggAdresse1", "tilleggAdresse2", "tilleggAdresse3", "tilleggPostnr", "tilleggAdresseDatoTom", "tilleggKommunenr", "tilleggGateKode", "tilleggHusnummer", "tilleggHusbokstav", - "tilleggBolignummer", "tilleggBydel", "tilleggPostboksnr", "tilleggPostboksAnlegg", "tilleggAdresseFraDato", "tilleggAdresseTilDato", "tilleggKilde", "tilleggRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class TilleggType { - - @XmlElement( - required = true - ) - protected String tilleggAdresse1; - @XmlElement( - required = true - ) - protected String tilleggAdresse2; - @XmlElement( - required = true - ) - protected String tilleggAdresse3; - @XmlElement( - required = true - ) - protected String tilleggPostnr; - @XmlElement( - required = true - ) - protected String tilleggAdresseDatoTom; - @XmlElement( - required = true - ) - protected String tilleggKommunenr; - @XmlElement( - required = true - ) - protected String tilleggGateKode; - @XmlElement( - required = true - ) - protected String tilleggHusnummer; - @XmlElement( - required = true - ) - protected String tilleggHusbokstav; - @XmlElement( - required = true - ) - protected String tilleggBolignummer; - @XmlElement( - required = true - ) - protected String tilleggBydel; - @XmlElement( - required = true - ) - protected String tilleggPostboksnr; - @XmlElement( - required = true - ) - protected String tilleggPostboksAnlegg; - @XmlElement( - required = true - ) - protected String tilleggAdresseFraDato; - @XmlElement( - required = true - ) - protected String tilleggAdresseTilDato; - @XmlElement( - required = true - ) - protected String tilleggKilde; - @XmlElement( - required = true - ) - protected String tilleggRegistrertAv; - - public TilleggType withTilleggAdresse1(String value) { - this.setTilleggAdresse1(value); - return this; - } - - public TilleggType withTilleggAdresse2(String value) { - this.setTilleggAdresse2(value); - return this; - } - - public TilleggType withTilleggAdresse3(String value) { - this.setTilleggAdresse3(value); - return this; - } - - public TilleggType withTilleggPostnr(String value) { - this.setTilleggPostnr(value); - return this; - } - - public TilleggType withTilleggAdresseDatoTom(String value) { - this.setTilleggAdresseDatoTom(value); - return this; - } - - public TilleggType withTilleggKommunenr(String value) { - this.setTilleggKommunenr(value); - return this; - } - - public TilleggType withTilleggGateKode(String value) { - this.setTilleggGateKode(value); - return this; - } - - public TilleggType withTilleggHusnummer(String value) { - this.setTilleggHusnummer(value); - return this; - } - - public TilleggType withTilleggHusbokstav(String value) { - this.setTilleggHusbokstav(value); - return this; - } - - public TilleggType withTilleggBolignummer(String value) { - this.setTilleggBolignummer(value); - return this; - } - - public TilleggType withTilleggBydel(String value) { - this.setTilleggBydel(value); - return this; - } - - public TilleggType withTilleggPostboksnr(String value) { - this.setTilleggPostboksnr(value); - return this; - } - - public TilleggType withTilleggPostboksAnlegg(String value) { - this.setTilleggPostboksAnlegg(value); - return this; - } - - public TilleggType withTilleggAdresseFraDato(String value) { - this.setTilleggAdresseFraDato(value); - return this; - } - - public TilleggType withTilleggAdresseTilDato(String value) { - this.setTilleggAdresseTilDato(value); - return this; - } - - public TilleggType withTilleggKilde(String value) { - this.setTilleggKilde(value); - return this; - } - - public TilleggType withTilleggRegistrertAv(String value) { - this.setTilleggRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TiltakType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TiltakType.java deleted file mode 100644 index 9d89fa0da29..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TiltakType.java +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "tiltakType", - propOrder = { "tiltak", "tiltakFraDato", "tiltakTilDato", "tiltakKilde", "tiltakRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class TiltakType { - - @XmlElement( - required = true - ) - protected String tiltak; - @XmlElement( - required = true - ) - protected String tiltakFraDato; - @XmlElement( - required = true - ) - protected String tiltakTilDato; - @XmlElement( - required = true - ) - protected String tiltakKilde; - @XmlElement( - required = true - ) - protected String tiltakRegistrertAv; - - public TiltakType withTiltak(String value) { - this.setTiltak(value); - return this; - } - - public TiltakType withTiltakFraDato(String value) { - this.setTiltakFraDato(value); - return this; - } - - public TiltakType withTiltakTilDato(String value) { - this.setTiltakTilDato(value); - return this; - } - - public TiltakType withTiltakKilde(String value) { - this.setTiltakKilde(value); - return this; - } - - public TiltakType withTiltakRegistrertAv(String value) { - this.setTiltakRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TknrType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TknrType.java deleted file mode 100644 index 9f539075632..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TknrType.java +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "tknrType", - propOrder = { "tknrPerson", "tknrFraDato", "tknrTilDato", "tknrKilde", "tknregistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class TknrType { - - @XmlElement( - required = true - ) - protected String tknrPerson; - @XmlElement( - required = true - ) - protected String tknrFraDato; - @XmlElement( - required = true - ) - protected String tknrTilDato; - @XmlElement( - required = true - ) - protected String tknrKilde; - @XmlElement( - required = true - ) - protected String tknregistrertAv; - - public TknrType withTknrPerson(String value) { - this.setTknrPerson(value); - return this; - } - - public TknrType withTknrFraDato(String value) { - this.setTknrFraDato(value); - return this; - } - - public TknrType withTknrTilDato(String value) { - this.setTknrTilDato(value); - return this; - } - - public TknrType withTknrKilde(String value) { - this.setTknrKilde(value); - return this; - } - - public TknrType withTknregistrertAv(String value) { - this.setTknregistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TpsPersonDokumentType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TpsPersonDokumentType.java deleted file mode 100644 index a8b8eb77b7a..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/TpsPersonDokumentType.java +++ /dev/null @@ -1,71 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; -import java.util.Collection; -import java.util.List; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "tpsPersonDokumentType", - propOrder = { "dokument", "person", "relasjon" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class TpsPersonDokumentType { - - @XmlElement( - required = true - ) - protected DokumentType dokument; - @XmlElement( - required = true - ) - protected PersonType person; - @JacksonXmlElementWrapper( - useWrapping = false - ) - protected List relasjon; - - public TpsPersonDokumentType withDokument(DokumentType value) { - this.setDokument(value); - return this; - } - - public TpsPersonDokumentType withPerson(PersonType value) { - this.setPerson(value); - return this; - } - - public TpsPersonDokumentType withRelasjon(RelasjonType... values) { - if (values != null) { - RelasjonType[] var2 = values; - int var3 = values.length; - - for (int var4 = 0; var4 < var3; ++var4) { - RelasjonType value = var2[var4]; - this.getRelasjon().add(value); - } - } - - return this; - } - - public TpsPersonDokumentType withRelasjon(Collection values) { - if (values != null) { - this.getRelasjon().addAll(values); - } - - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/UtadType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/UtadType.java deleted file mode 100644 index 72b1452f711..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/UtadType.java +++ /dev/null @@ -1,105 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "utadType", - propOrder = { "utadAdresse1", "utadAdresse2", "utadAdresse3", "utadAdresseDatoTom", "utadLand", "utadAdresseFraDato", "utadAdresseTilDato", "utadKilde", "utadRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class UtadType { - - @XmlElement( - required = true - ) - protected String utadAdresse1; - @XmlElement( - required = true - ) - protected String utadAdresse2; - @XmlElement( - required = true - ) - protected String utadAdresse3; - @XmlElement( - required = true - ) - protected String utadAdresseDatoTom; - @XmlElement( - required = true - ) - protected String utadLand; - @XmlElement( - required = true - ) - protected String utadAdresseFraDato; - @XmlElement( - required = true - ) - protected String utadAdresseTilDato; - @XmlElement( - required = true - ) - protected String utadKilde; - @XmlElement( - required = true - ) - protected String utadRegistrertAv; - - public UtadType withUtadAdresse1(String value) { - this.setUtadAdresse1(value); - return this; - } - - public UtadType withUtadAdresse2(String value) { - this.setUtadAdresse2(value); - return this; - } - - public UtadType withUtadAdresse3(String value) { - this.setUtadAdresse3(value); - return this; - } - - public UtadType withUtadAdresseDatoTom(String value) { - this.setUtadAdresseDatoTom(value); - return this; - } - - public UtadType withUtadLand(String value) { - this.setUtadLand(value); - return this; - } - - public UtadType withUtadAdresseFraDato(String value) { - this.setUtadAdresseFraDato(value); - return this; - } - - public UtadType withUtadAdresseTilDato(String value) { - this.setUtadAdresseTilDato(value); - return this; - } - - public UtadType withUtadKilde(String value) { - this.setUtadKilde(value); - return this; - } - - public UtadType withUtadRegistrertAv(String value) { - this.setUtadRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/UtlandbankType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/UtlandbankType.java deleted file mode 100644 index 7073df9d07f..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/UtlandbankType.java +++ /dev/null @@ -1,151 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "utlandbankType", - propOrder = { "utlandbankGironummer", "utlandbankSwiftKode", "utlandbankIban", "utlandbankBankKode", "utlandbankBanknavn", "utlandbankAdresse1", "utlandbankAdresse2", "utlandbankAdresse3", "utlandbankValuta", - "utlandbankLand", "utlandbankFraDato", "utlandbankTilDato", "utlandbankKilde", "utlandbankRegistrertAv" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class UtlandbankType { - - @XmlElement( - required = true - ) - protected String utlandbankGironummer; - @XmlElement( - required = true - ) - protected String utlandbankSwiftKode; - @XmlElement( - required = true - ) - protected String utlandbankIban; - @XmlElement( - required = true - ) - protected String utlandbankBankKode; - @XmlElement( - required = true - ) - protected String utlandbankBanknavn; - @XmlElement( - required = true - ) - protected String utlandbankAdresse1; - @XmlElement( - required = true - ) - protected String utlandbankAdresse2; - @XmlElement( - required = true - ) - protected String utlandbankAdresse3; - @XmlElement( - required = true - ) - protected String utlandbankValuta; - @XmlElement( - required = true - ) - protected String utlandbankLand; - @XmlElement( - required = true - ) - protected String utlandbankFraDato; - @XmlElement( - required = true - ) - protected String utlandbankTilDato; - @XmlElement( - required = true - ) - protected String utlandbankKilde; - @XmlElement( - required = true - ) - protected String utlandbankRegistrertAv; - - public UtlandbankType withUtlandbankGironummer(String value) { - this.setUtlandbankGironummer(value); - return this; - } - - public UtlandbankType withUtlandbankSwiftKode(String value) { - this.setUtlandbankSwiftKode(value); - return this; - } - - public UtlandbankType withUtlandbankIban(String value) { - this.setUtlandbankIban(value); - return this; - } - - public UtlandbankType withUtlandbankBankKode(String value) { - this.setUtlandbankBankKode(value); - return this; - } - - public UtlandbankType withUtlandbankBanknavn(String value) { - this.setUtlandbankBanknavn(value); - return this; - } - - public UtlandbankType withUtlandbankAdresse1(String value) { - this.setUtlandbankAdresse1(value); - return this; - } - - public UtlandbankType withUtlandbankAdresse2(String value) { - this.setUtlandbankAdresse2(value); - return this; - } - - public UtlandbankType withUtlandbankAdresse3(String value) { - this.setUtlandbankAdresse3(value); - return this; - } - - public UtlandbankType withUtlandbankValuta(String value) { - this.setUtlandbankValuta(value); - return this; - } - - public UtlandbankType withUtlandbankLand(String value) { - this.setUtlandbankLand(value); - return this; - } - - public UtlandbankType withUtlandbankFraDato(String value) { - this.setUtlandbankFraDato(value); - return this; - } - - public UtlandbankType withUtlandbankTilDato(String value) { - this.setUtlandbankTilDato(value); - return this; - } - - public UtlandbankType withUtlandbankKilde(String value) { - this.setUtlandbankKilde(value); - return this; - } - - public UtlandbankType withUtlandbankRegistrertAv(String value) { - this.setUtlandbankRegistrertAv(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/UtlandinfoType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/UtlandinfoType.java deleted file mode 100644 index 5ca7c72f85c..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/UtlandinfoType.java +++ /dev/null @@ -1,197 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "utlandinfoType", - propOrder = { "utlandinfoIdOff", "utlandinfoLand", "utlandinfoSektor", "utlandinfoInstitusjon", "utlandinfoKildePin", "utlandinfoFamnavnFodt", "utlandinfoFornavnFodt", "utlandinfoFodested", - "utlandinfoFarsFamnavn", "utlandinfoMorsFamnavn", "utlandinfoFarsFornavn", "utlandinfoMorsFornavn", "utlandinfoNasjonalitet", "utlandinfoSedRef", "utlandinfoNasjonalId", "utlandinfoInstitusjonNavn", - "utlandinfoFraDato", "utlandinfoTilDato", "utlandinfoKilde" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class UtlandinfoType { - - @XmlElement( - required = true - ) - protected String utlandinfoIdOff; - @XmlElement( - required = true - ) - protected String utlandinfoLand; - @XmlElement( - required = true - ) - protected String utlandinfoSektor; - @XmlElement( - required = true - ) - protected String utlandinfoInstitusjon; - @XmlElement( - required = true - ) - protected String utlandinfoKildePin; - @XmlElement( - required = true - ) - protected String utlandinfoFamnavnFodt; - @XmlElement( - required = true - ) - protected String utlandinfoFornavnFodt; - @XmlElement( - required = true - ) - protected String utlandinfoFodested; - @XmlElement( - required = true - ) - protected String utlandinfoFarsFamnavn; - @XmlElement( - required = true - ) - protected String utlandinfoMorsFamnavn; - @XmlElement( - required = true - ) - protected String utlandinfoFarsFornavn; - @XmlElement( - required = true - ) - protected String utlandinfoMorsFornavn; - @XmlElement( - required = true - ) - protected String utlandinfoNasjonalitet; - @XmlElement( - required = true - ) - protected String utlandinfoSedRef; - @XmlElement( - required = true - ) - protected String utlandinfoNasjonalId; - @XmlElement( - required = true - ) - protected String utlandinfoInstitusjonNavn; - @XmlElement( - required = true - ) - protected String utlandinfoFraDato; - @XmlElement( - required = true - ) - protected String utlandinfoTilDato; - @XmlElement( - required = true - ) - protected String utlandinfoKilde; - - public UtlandinfoType withUtlandinfoIdOff(String value) { - this.setUtlandinfoIdOff(value); - return this; - } - - public UtlandinfoType withUtlandinfoLand(String value) { - this.setUtlandinfoLand(value); - return this; - } - - public UtlandinfoType withUtlandinfoSektor(String value) { - this.setUtlandinfoSektor(value); - return this; - } - - public UtlandinfoType withUtlandinfoInstitusjon(String value) { - this.setUtlandinfoInstitusjon(value); - return this; - } - - public UtlandinfoType withUtlandinfoKildePin(String value) { - this.setUtlandinfoKildePin(value); - return this; - } - - public UtlandinfoType withUtlandinfoFamnavnFodt(String value) { - this.setUtlandinfoFamnavnFodt(value); - return this; - } - - public UtlandinfoType withUtlandinfoFornavnFodt(String value) { - this.setUtlandinfoFornavnFodt(value); - return this; - } - - public UtlandinfoType withUtlandinfoFodested(String value) { - this.setUtlandinfoFodested(value); - return this; - } - - public UtlandinfoType withUtlandinfoFarsFamnavn(String value) { - this.setUtlandinfoFarsFamnavn(value); - return this; - } - - public UtlandinfoType withUtlandinfoMorsFamnavn(String value) { - this.setUtlandinfoMorsFamnavn(value); - return this; - } - - public UtlandinfoType withUtlandinfoFarsFornavn(String value) { - this.setUtlandinfoFarsFornavn(value); - return this; - } - - public UtlandinfoType withUtlandinfoMorsFornavn(String value) { - this.setUtlandinfoMorsFornavn(value); - return this; - } - - public UtlandinfoType withUtlandinfoNasjonalitet(String value) { - this.setUtlandinfoNasjonalitet(value); - return this; - } - - public UtlandinfoType withUtlandinfoSedRef(String value) { - this.setUtlandinfoSedRef(value); - return this; - } - - public UtlandinfoType withUtlandinfoNasjonalId(String value) { - this.setUtlandinfoNasjonalId(value); - return this; - } - - public UtlandinfoType withUtlandinfoInstitusjonNavn(String value) { - this.setUtlandinfoInstitusjonNavn(value); - return this; - } - - public UtlandinfoType withUtlandinfoFraDato(String value) { - this.setUtlandinfoFraDato(value); - return this; - } - - public UtlandinfoType withUtlandinfoTilDato(String value) { - this.setUtlandinfoTilDato(value); - return this; - } - - public UtlandinfoType withUtlandinfoKilde(String value) { - this.setUtlandinfoKilde(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/VergeType.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/VergeType.java deleted file mode 100644 index 14f8d037dd5..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/namespacetps/VergeType.java +++ /dev/null @@ -1,123 +0,0 @@ -package no.nav.testnav.libs.domain.dto.namespacetps; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlElement; -import jakarta.xml.bind.annotation.XmlType; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType( - name = "vergeType", - propOrder = { "vergeSaksid", "vergeId", "vergeType", "vergeSakstype", "vergeMandattype", "vergeEmbete", "vergeVedtakDato", "vergeFnr", "vergeFraDato", "vergeTilDato", "vergeKilde" } -) -@Getter -@Setter -@NoArgsConstructor -@EqualsAndHashCode -public class VergeType { - - @XmlElement( - required = true - ) - protected String vergeSaksid; - @XmlElement( - required = true - ) - protected String vergeId; - @XmlElement( - required = true - ) - protected String vergeType; - @XmlElement( - required = true - ) - protected String vergeSakstype; - @XmlElement( - required = true - ) - protected String vergeMandattype; - @XmlElement( - required = true - ) - protected String vergeEmbete; - @XmlElement( - required = true - ) - protected String vergeVedtakDato; - @XmlElement( - required = true - ) - protected String vergeFnr; - @XmlElement( - required = true - ) - protected String vergeFraDato; - @XmlElement( - required = true - ) - protected String vergeTilDato; - @XmlElement( - required = true - ) - protected String vergeKilde; - - public VergeType withVergeSaksid(String value) { - this.setVergeSaksid(value); - return this; - } - - public VergeType withVergeId(String value) { - this.setVergeId(value); - return this; - } - - public VergeType withVergeType(String value) { - this.setVergeType(value); - return this; - } - - public VergeType withVergeSakstype(String value) { - this.setVergeSakstype(value); - return this; - } - - public VergeType withVergeMandattype(String value) { - this.setVergeMandattype(value); - return this; - } - - public VergeType withVergeEmbete(String value) { - this.setVergeEmbete(value); - return this; - } - - public VergeType withVergeVedtakDato(String value) { - this.setVergeVedtakDato(value); - return this; - } - - public VergeType withVergeFnr(String value) { - this.setVergeFnr(value); - return this; - } - - public VergeType withVergeFraDato(String value) { - this.setVergeFraDato(value); - return this; - } - - public VergeType withVergeTilDato(String value) { - this.setVergeTilDato(value); - return this; - } - - public VergeType withVergeKilde(String value) { - this.setVergeKilde(value); - return this; - } -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/GeneringsOrdreDTO.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/GeneringsOrdreDTO.java deleted file mode 100644 index db722b0dfb7..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/GeneringsOrdreDTO.java +++ /dev/null @@ -1,24 +0,0 @@ -package no.nav.testnav.libs.domain.dto.skd.v1; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.Map; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -@JsonIgnoreProperties(ignoreUnknown = true) -public class GeneringsOrdreDTO { - @JsonProperty(required = true) - private final Long avspillergruppeId; - @JsonProperty(required = true) - private final String miljoe; - @JsonProperty(required = true) - private final Map antallMeldingerPerEndringskode; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/MeldingDTO.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/MeldingDTO.java deleted file mode 100644 index b9b3e4c542a..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/MeldingDTO.java +++ /dev/null @@ -1,30 +0,0 @@ -package no.nav.testnav.libs.domain.dto.skd.v1; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -@JsonIgnoreProperties(ignoreUnknown = true) -public class MeldingDTO { - @JsonProperty - private final String foedselsdato; - @JsonProperty - private final String personnummer; - @JsonProperty - private final String fornavn; - @JsonProperty - private final String etternavn; - @JsonProperty - private final String adresse; - @JsonProperty - private final String postnr; - @JsonProperty - private final String by; -} \ No newline at end of file diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/MeldingStatusDTO.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/MeldingStatusDTO.java deleted file mode 100644 index 0cccd90e138..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/MeldingStatusDTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.testnav.libs.domain.dto.skd.v1; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -@JsonIgnoreProperties(ignoreUnknown = true) -public class MeldingStatusDTO { - - @JsonProperty(required = true) - private final String foedselsnummer; - - @JsonProperty(required = true) - private final Long sekvensnummer; - - @JsonProperty(required = true) - private final String status; -} diff --git a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/MeldingerStatusDTO.java b/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/MeldingerStatusDTO.java deleted file mode 100644 index 466131f5d51..00000000000 --- a/libs/domain/src/main/java/no/nav/testnav/libs/domain/dto/skd/v1/MeldingerStatusDTO.java +++ /dev/null @@ -1,24 +0,0 @@ -package no.nav.testnav.libs.domain.dto.skd.v1; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -@JsonIgnoreProperties(ignoreUnknown = true) -public class MeldingerStatusDTO { - @JsonProperty - private int antallSendte; - @JsonProperty - private int antallFeilet; - @JsonProperty - private List statusFraFeilendeMeldinger; -} diff --git a/proxies/aareg-proxy/config.yml b/proxies/aareg-proxy/config.yml index cb12f1916b1..4add3a01bb9 100644 --- a/proxies/aareg-proxy/config.yml +++ b/proxies/aareg-proxy/config.yml @@ -46,8 +46,6 @@ spec: cluster: dev-gcp - application: testnav-oversikt-frontend cluster: dev-gcp - - application: testnav-arbeidsforhold-service - cluster: dev-gcp - application: testnav-levende-arbeidsforhold-service cluster: dev-gcp - application: testnorge-statisk-data-forvalter diff --git a/proxies/aareg-synt-services-proxy/Dockerfile b/proxies/aareg-synt-services-proxy/Dockerfile deleted file mode 100644 index 4a36f93546f..00000000000 --- a/proxies/aareg-synt-services-proxy/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM ghcr.io/navikt/baseimages/temurin:21 -LABEL maintainer="Team Dolly" - -ENV JAVA_OPTS="-Dspring.profiles.active=prod" - -ADD /build/libs/app.jar /app/app.jar - -EXPOSE 8080 diff --git a/proxies/aareg-synt-services-proxy/README.md b/proxies/aareg-synt-services-proxy/README.md deleted file mode 100644 index 674eee89b18..00000000000 --- a/proxies/aareg-synt-services-proxy/README.md +++ /dev/null @@ -1,3 +0,0 @@ -## Lokal kjøring -* [Generelt.](../../docs/local_general.md) -* [Secret Manager.](../../docs/local_secretmanager.md) \ No newline at end of file diff --git a/proxies/aareg-synt-services-proxy/build.gradle b/proxies/aareg-synt-services-proxy/build.gradle deleted file mode 100644 index 7d905e49431..00000000000 --- a/proxies/aareg-synt-services-proxy/build.gradle +++ /dev/null @@ -1,10 +0,0 @@ -plugins { - id "dolly-proxies" -} - -sonarqube { - properties { - property "sonar.projectKey", "aareg-synt-services-proxy" - property "sonar.projectName", "aareg-synt-services-proxy" - } -} \ No newline at end of file diff --git a/proxies/aareg-synt-services-proxy/config.yml b/proxies/aareg-synt-services-proxy/config.yml deleted file mode 100644 index 29634122a02..00000000000 --- a/proxies/aareg-synt-services-proxy/config.yml +++ /dev/null @@ -1,53 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: aareg-synt-services-proxy - namespace: dolly - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - webproxy: true - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - accessPolicy: - inbound: - rules: - - application: team-dolly-lokal-app - cluster: dev-gcp - - application: testnav-oppsummeringsdokument-service - cluster: dev-gcp - liveness: - path: /internal/health/liveness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/health/readiness - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - replicas: - min: 1 - max: 1 - resources: - requests: - cpu: 200m - memory: 4000Mi - limits: - memory: 5000Mi - ingresses: - - "https://aareg-synt-services-proxy.dev-fss-pub.nais.io" \ No newline at end of file diff --git a/proxies/aareg-synt-services-proxy/gradle/wrapper/gradle-wrapper.jar b/proxies/aareg-synt-services-proxy/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL diff --git a/proxies/aareg-synt-services-proxy/gradle/wrapper/gradle-wrapper.properties b/proxies/aareg-synt-services-proxy/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 48c0a02ca41..00000000000 --- a/proxies/aareg-synt-services-proxy/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/proxies/aareg-synt-services-proxy/gradlew b/proxies/aareg-synt-services-proxy/gradlew deleted file mode 100755 index 3da45c161b0..00000000000 --- a/proxies/aareg-synt-services-proxy/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright ? 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions ?$var?, ?${var}?, ?${var:-default}?, ?${var+SET}?, -# ?${var#prefix}?, ?${var%suffix}?, and ?$( cmd )?; -# * compound commands having a testable exit status, especially ?case?; -# * various built-in commands including ?command?, ?set?, and ?ulimit?. -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/proxies/aareg-synt-services-proxy/gradlew.bat b/proxies/aareg-synt-services-proxy/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/proxies/aareg-synt-services-proxy/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/proxies/aareg-synt-services-proxy/gradlewUpdate.sh b/proxies/aareg-synt-services-proxy/gradlewUpdate.sh deleted file mode 100755 index e5ee6361152..00000000000 --- a/proxies/aareg-synt-services-proxy/gradlewUpdate.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -gradle wrapper \ No newline at end of file diff --git a/proxies/aareg-synt-services-proxy/settings.gradle b/proxies/aareg-synt-services-proxy/settings.gradle deleted file mode 100644 index 9f7a44768f5..00000000000 --- a/proxies/aareg-synt-services-proxy/settings.gradle +++ /dev/null @@ -1,18 +0,0 @@ -plugins { - id "com.gradle.develocity" version "3.19" -} - -rootProject.name = "aareg-synt-services-proxy" - -includeBuild "../../plugins/java" - -includeBuild "../../libs/reactive-core" -includeBuild "../../libs/reactive-proxy" -includeBuild "../../libs/testing" - -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/terms-of-service" - termsOfUseAgree = "yes" - } -} diff --git a/proxies/aareg-synt-services-proxy/src/main/java/no/nav/testnav/proxies/aaregsyntservicesproxy/AaregSyntServiceProxyApplicationStarter.java b/proxies/aareg-synt-services-proxy/src/main/java/no/nav/testnav/proxies/aaregsyntservicesproxy/AaregSyntServiceProxyApplicationStarter.java deleted file mode 100644 index ffca0834865..00000000000 --- a/proxies/aareg-synt-services-proxy/src/main/java/no/nav/testnav/proxies/aaregsyntservicesproxy/AaregSyntServiceProxyApplicationStarter.java +++ /dev/null @@ -1,38 +0,0 @@ -package no.nav.testnav.proxies.aaregsyntservicesproxy; - -import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer; -import no.nav.testnav.libs.reactivecore.config.CoreConfig; -import no.nav.testnav.libs.reactiveproxy.config.SecurityConfig; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.cloud.gateway.route.RouteLocator; -import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Import; - -@Import({ - CoreConfig.class, - SecurityConfig.class -}) -@SpringBootApplication -public class AaregSyntServiceProxyApplicationStarter { - - public static void main(String[] args) { - new SpringApplicationBuilder(AaregSyntServiceProxyApplicationStarter.class) - .initializers(new NaisEnvironmentApplicationContextInitializer()) - .run(args); - } - - @Bean - RouteLocator customRouteLocator(RouteLocatorBuilder builder) { - return builder - .routes() - .route(spec -> spec - .path("/**") - .and() - .not(not -> not.path("/internal/**")) - .uri("http://aareg-synt-services.arbeidsforhold.svc.nais.local")) - .build(); - } - -} \ No newline at end of file diff --git a/proxies/aareg-synt-services-proxy/src/main/resources/application-local.yml b/proxies/aareg-synt-services-proxy/src/main/resources/application-local.yml deleted file mode 100644 index cfb3ace7ac1..00000000000 --- a/proxies/aareg-synt-services-proxy/src/main/resources/application-local.yml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - config: - import: "sm://" \ No newline at end of file diff --git a/proxies/aareg-synt-services-proxy/src/main/resources/application.yml b/proxies/aareg-synt-services-proxy/src/main/resources/application.yml deleted file mode 100644 index dd50a976163..00000000000 --- a/proxies/aareg-synt-services-proxy/src/main/resources/application.yml +++ /dev/null @@ -1,19 +0,0 @@ -spring: - application: - name: aareg-synt-services-proxy - description: Proxy for aareg-synt-services som legger på sikkerhet. - config: - import: "classpath:dolly-application.yml" - security: - oauth2: - resourceserver: - aad: - issuer-uri: ${AZURE_OPENID_CONFIG_ISSUER} - accepted-audience: ${AZURE_APP_CLIENT_ID}, api:// ${AZURE_APP_CLIENT_ID} - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - accepted-audience: ${TOKEN_X_CLIENT_ID} - cloud: - gateway: - httpclient: - response-timeout: 600s \ No newline at end of file diff --git a/proxies/aareg-synt-services-proxy/src/main/resources/logback-spring.xml b/proxies/aareg-synt-services-proxy/src/main/resources/logback-spring.xml deleted file mode 100644 index ae836bf1b11..00000000000 --- a/proxies/aareg-synt-services-proxy/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - true - - 10280 - 20 - ^sun\.reflect\..*\.invoke - ^net\.sf\.cglib\.proxy\.MethodProxy\.invoke - java\.util\.concurrent\..* - org\.apache\.catalina\..* - org\.apache\.coyote\..* - org\.apache\.tomcat\..* - - - - - - - - - - - - - %d{HH:mm:ss.SSS} | %5p | %logger{25} | %m%n - - utf8 - - - - - - - - - \ No newline at end of file diff --git a/proxies/aareg-synt-services-proxy/src/test/java/no/nav/testnav/proxies/aaregsyntservicesproxy/ApplicationContextTest.java b/proxies/aareg-synt-services-proxy/src/test/java/no/nav/testnav/proxies/aaregsyntservicesproxy/ApplicationContextTest.java deleted file mode 100644 index 63c2e9d0ee9..00000000000 --- a/proxies/aareg-synt-services-proxy/src/test/java/no/nav/testnav/proxies/aaregsyntservicesproxy/ApplicationContextTest.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.testnav.proxies.aaregsyntservicesproxy; - -import no.nav.dolly.libs.test.DollySpringBootTest; -import no.nav.dolly.libs.test.DollyApplicationContextTest; - -@DollySpringBootTest -class ApplicationContextTest extends DollyApplicationContextTest { -} diff --git a/proxies/aareg-synt-services-proxy/src/test/resources/application-test.yml b/proxies/aareg-synt-services-proxy/src/test/resources/application-test.yml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/proxies/arbeidssoekerregisteret-proxy/config.yml b/proxies/arbeidssoekerregisteret-proxy/config.yml index 5d9811e0de9..2e634f3a638 100644 --- a/proxies/arbeidssoekerregisteret-proxy/config.yml +++ b/proxies/arbeidssoekerregisteret-proxy/config.yml @@ -37,6 +37,7 @@ spec: inbound: rules: - application: team-dolly-lokal-app + - application: dolly-idporten - application: dolly-frontend - application: dolly-frontend-dev - application: dolly-backend