From 6de0163bab2db379ed7b51af3c6ac94338b5f840 Mon Sep 17 00:00:00 2001 From: Cato Olsen Date: Thu, 8 Feb 2024 12:12:16 +0100 Subject: [PATCH 1/5] feature/forbedring_workflows (#3405) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Optimalisert workflows (apps, proxies, libs) for vår bruk. - Overgang til tokenless deploy for alle workflows. --- .github/workflows/alert-dolly.yml | 8 +- .github/workflows/all.workflows.yml | 42 ++----- .github/workflows/app.adresse-service.yml | 6 +- .github/workflows/app.amelding-service.yml | 6 +- .../app.app-tilgang-analyse-service.yml | 6 +- .../workflows/app.arbeidsforhold-service.yml | 6 +- .../app.batch-bestilling-service.yml | 6 +- .github/workflows/app.brreg-stub.yml | 6 +- .github/workflows/app.bruker-service.yml | 6 +- .github/workflows/app.budpro-service.yml | 6 +- .github/workflows/app.dolly-backend.yml | 6 +- .github/workflows/app.dolly-frontend.yml | 7 +- .github/workflows/app.dollystatus.yml | 7 +- .../app.endringsmelding-frontend.yml | 7 +- .../workflows/app.endringsmelding-service.yml | 6 +- .../app.ereg-batch-status-service.yml | 6 +- .github/workflows/app.faste-data-frontend.yml | 7 +- ...erer-arbeidsforhold-populasjon-service.yml | 6 +- .../workflows/app.generer-navn-service.yml | 6 +- ...enerer-organisasjon-populasjon-service.yml | 6 +- .../app.generer-synt-amelding-service.yml | 6 +- .../app.geografiske-kodeverk-service.yml | 6 +- .../workflows/app.helsepersonell-service.yml | 6 +- .../app.inntektsmelding-generator-service.yml | 6 +- .../workflows/app.inntektsmelding-service.yml | 6 +- .../app.jenkins-batch-status-service.yml | 6 +- .../workflows/app.joark-dokument-service.yml | 6 +- .github/workflows/app.miljoer-service.yml | 6 +- .../app.oppsummeringsdokument-service.yml | 6 +- .../app.organisasjon-bestilling-service.yml | 6 +- .../app.organisasjon-faste-data-service.yml | 6 +- .../workflows/app.organisasjon-forvalter.yml | 6 +- .../app.organisasjon-mottak-service.yml | 6 +- .../workflows/app.organisasjon-service.yml | 6 +- .../app.organisasjon-tilgang-frontend.yml | 7 +- .../app.organisasjon-tilgang-service.yml | 6 +- .github/workflows/app.orgnummer-service.yml | 6 +- .github/workflows/app.oversikt-frontend.yml | 7 +- .github/workflows/app.pdl-forvalter.yml | 6 +- .../app.person-faste-data-service.yml | 6 +- ...pp.person-organisasjon-tilgang-service.yml | 6 +- .../workflows/app.person-search-service.yml | 6 +- .github/workflows/app.person-service.yml | 6 +- .github/workflows/app.profil-api.yml | 6 +- .github/workflows/app.sykemelding-api.yml | 6 +- .../workflows/app.synt-sykemelding-api.yml | 6 +- .../app.synt-vedtakshistorikk-service.yml | 6 +- .../workflows/app.tenor-search-service.yml | 6 +- .github/workflows/app.testnav-ident-pool.yml | 6 +- .../app.testnorge-statisk-data-forvalter.yml | 6 +- .github/workflows/app.tilbakemelding-api.yml | 6 +- .../workflows/app.tps-messaging-service.yml | 6 +- .github/workflows/app.udi-stub.yml | 6 +- .github/workflows/app.varslinger-service.yml | 6 +- .github/workflows/build.yml | 6 +- .github/workflows/common.cypress.yml | 2 +- .github/workflows/common.integration-test.yml | 4 +- .github/workflows/common.java-build.yml | 32 ------ .github/workflows/common.js.build.yml | 34 ------ .github/workflows/common.js.publish.yml | 38 ------- .github/workflows/common.scan.sonar.yml | 36 ------ .github/workflows/common.workflow.backend.yml | 73 ++++++------ .../workflows/common.workflow.frontend.yml | 107 ++++++++---------- .../common.workflow.libs.backend.yml | 63 +++++++++++ .../common.workflow.libs.frontend.yml | 55 +++++++++ .github/workflows/idporten.yml | 10 +- .github/workflows/kafka-topics.yml | 8 +- .github/workflows/lib.commands.yml | 20 +--- .github/workflows/lib.csv-converter.yml | 20 +--- .../workflows/lib.data-transfer-objects.yml | 20 +--- .github/workflows/lib.domain.yml | 20 +--- .../workflows/lib.frontend.dolly-assets.yml | 19 +--- .../lib.frontend.dolly-komponenter.yml | 23 +--- .github/workflows/lib.frontend.dolly-lib.yml | 19 +--- .github/workflows/lib.integration-test.yml | 20 +--- .github/workflows/lib.kafka-config.yml | 20 +--- .github/workflows/lib.kafka-producers.yml | 20 +--- .github/workflows/lib.reactive-core.yml | 20 +--- .github/workflows/lib.reactive-frontend.yml | 20 +--- .github/workflows/lib.reactive-proxy.yml | 20 +--- .github/workflows/lib.reactive-security.yml | 20 +--- .../lib.reactive-session-security.yml | 20 +--- .github/workflows/lib.security-core.yml | 20 +--- .../workflows/lib.security-token-service.yml | 20 +--- .github/workflows/lib.servlet-core.yml | 20 +--- .../lib.servlet-insecure-security.yml | 20 +--- .github/workflows/lib.servlet-security.yml | 20 +--- .github/workflows/lib.slack.yml | 24 ---- .github/workflows/lib.testing.yml | 20 +--- .github/workflows/maskinporten.yml | 10 +- .github/workflows/opensearch.yml | 8 +- .github/workflows/proxy.aareg-proxy.yml | 6 +- .../proxy.aareg-synt-services-proxy.yml | 6 +- .../proxy.arbeidsplassencv-proxy.yml | 6 +- .../proxy.arena-forvalteren-proxy.yml | 6 +- .github/workflows/proxy.batch-adeo-proxy.yml | 6 +- .github/workflows/proxy.brregstub-proxy.yml | 6 +- .github/workflows/proxy.dokarkiv-proxy.yml | 6 +- .github/workflows/proxy.ereg-proxy.yml | 6 +- .github/workflows/proxy.histark-proxy.yml | 6 +- .github/workflows/proxy.inntektstub-proxy.yml | 6 +- .github/workflows/proxy.inst-proxy.yml | 6 +- .../proxy.kontoregister-person-proxy.yml | 6 +- .github/workflows/proxy.krrstub-proxy.yml | 6 +- .github/workflows/proxy.medl-proxy.yml | 6 +- .github/workflows/proxy.norg2-proxy.yml | 6 +- .github/workflows/proxy.pdl-proxy.yml | 6 +- .../proxy.pensjon-testdata-facade-proxy.yml | 6 +- .github/workflows/proxy.saf-proxy.yml | 6 +- .github/workflows/proxy.sigrunstub-proxy.yml | 6 +- .../proxy.skjermingsregister-proxy.yml | 6 +- .../proxy.synthdata-meldekort-proxy.yml | 6 +- .../workflows/proxy.tps-forvalteren-proxy.yml | 6 +- .github/workflows/proxy.udistub-proxy.yml | 6 +- .github/workflows/redis-dev.yml | 8 +- .github/workflows/redis.yml | 8 +- .github/workflows/release.yml | 4 +- .github/workflows/tests.yml | 3 +- 118 files changed, 428 insertions(+), 1032 deletions(-) delete mode 100644 .github/workflows/common.java-build.yml delete mode 100644 .github/workflows/common.js.build.yml delete mode 100644 .github/workflows/common.js.publish.yml delete mode 100644 .github/workflows/common.scan.sonar.yml create mode 100644 .github/workflows/common.workflow.libs.backend.yml create mode 100644 .github/workflows/common.workflow.libs.frontend.yml delete mode 100644 .github/workflows/lib.slack.yml diff --git a/.github/workflows/alert-dolly.yml b/.github/workflows/alert-dolly.yml index f137b6c5faf..c10a4f3fdc3 100644 --- a/.github/workflows/alert-dolly.yml +++ b/.github/workflows/alert-dolly.yml @@ -8,12 +8,14 @@ jobs: apply-alerts: name: Apply alerts to cluster runs-on: ubuntu-latest + permissions: + contents: read + id-token: write steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: deploy to dev - uses: nais/deploy/actions/deploy@v1 + uses: nais/deploy/actions/deploy@v2 env: - APIKEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} CLUSTER: dev-gcp RESOURCE: .nais/alerting-dolly.yml \ No newline at end of file diff --git a/.github/workflows/all.workflows.yml b/.github/workflows/all.workflows.yml index 84f13aa5f02..38fd815bb4c 100644 --- a/.github/workflows/all.workflows.yml +++ b/.github/workflows/all.workflows.yml @@ -9,7 +9,7 @@ on: - "frontend" type: type: choice - description: "App or proxy. Used to resolve the working directory together with name, as /." + description: "Apps or proxies. Used to resolve the working directory together with name, as /." options: - "apps" - "proxies" @@ -28,14 +28,14 @@ on: type: boolean description: "Deploy? Make sure the effective working directory contains a NAIS manifest as named below! Note: For dolly-frontend, this will also deploy with config.idporten.yml." default: false - nais-manifest: - type: string - description: "Custom NAIS manifest filename." - default: "config.yml" force-deploy-test: type: boolean description: "Deploy to test? Make sure the effective working directory contains a config.test.yml! Note: For dolly-frontend, this will also deploy with config.unstable.yml." default: false + sonar-enabled: + type: boolean + description: "Run Sonar scan?" + default: true permissions: contents: read @@ -43,16 +43,7 @@ permissions: jobs: - start: - runs-on: ubuntu-latest - steps: - - name: "Log inputs" - run: | - echo "branch: ${{ github.ref_name }}" - echo "inputs: ${{ toJSON(inputs) }}" - backend: - needs: start if: inputs.workflow == 'backend' uses: ./.github/workflows/common.workflow.backend.yml with: @@ -62,17 +53,10 @@ jobs: deploy-tag: "" force-deploy: ${{ inputs.force-deploy }} force-deploy-test: ${{ inputs.force-deploy-test }} - permissions: - contents: read - id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + sonar-enabled: ${{ inputs.sonar-enabled }} + secrets: inherit frontend: - needs: start if: inputs.workflow == 'frontend' uses: ./.github/workflows/common.workflow.frontend.yml with: @@ -80,17 +64,9 @@ jobs: working-directory: "${{ inputs.type }}/${{ inputs.name }}" image-suffix: ${{ inputs.name }} deploy-tag: "" - nais-manifest: ${{ inputs.nais-manifest }} force-deploy: ${{ inputs.force-deploy }} force-deploy-test: ${{ inputs.force-deploy-test }} force-deploy-idporten: ${{ inputs.name == 'dolly-frontend' && inputs.force-deploy }} force-deploy-unstable: ${{ inputs.name == 'dolly-frontend' && inputs.force-deploy-test }} - permissions: - contents: read - id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - READER_TOKEN: ${{ secrets.READER_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} \ No newline at end of file + sonar-enabled: ${{ inputs.sonar-enabled }} + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/app.adresse-service.yml b/.github/workflows/app.adresse-service.yml index 8acaea880af..1d9e5a693fd 100644 --- a/.github/workflows/app.adresse-service.yml +++ b/.github/workflows/app.adresse-service.yml @@ -19,8 +19,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} \ No newline at end of file + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/app.amelding-service.yml b/.github/workflows/app.amelding-service.yml index 77017ca6d9f..4ca6ecf0943 100644 --- a/.github/workflows/app.amelding-service.yml +++ b/.github/workflows/app.amelding-service.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.app-tilgang-analyse-service.yml b/.github/workflows/app.app-tilgang-analyse-service.yml index 3c5f17f27fa..3193c80d81f 100644 --- a/.github/workflows/app.app-tilgang-analyse-service.yml +++ b/.github/workflows/app.app-tilgang-analyse-service.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.arbeidsforhold-service.yml b/.github/workflows/app.arbeidsforhold-service.yml index 339f7da9e05..fd352934840 100644 --- a/.github/workflows/app.arbeidsforhold-service.yml +++ b/.github/workflows/app.arbeidsforhold-service.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.batch-bestilling-service.yml b/.github/workflows/app.batch-bestilling-service.yml index acc02fe8548..d2fd49c3391 100644 --- a/.github/workflows/app.batch-bestilling-service.yml +++ b/.github/workflows/app.batch-bestilling-service.yml @@ -22,8 +22,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.brreg-stub.yml b/.github/workflows/app.brreg-stub.yml index 7d4a1591b6a..f486b493200 100644 --- a/.github/workflows/app.brreg-stub.yml +++ b/.github/workflows/app.brreg-stub.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.bruker-service.yml b/.github/workflows/app.bruker-service.yml index 8de7a0b70ad..fb9dd8ff020 100644 --- a/.github/workflows/app.bruker-service.yml +++ b/.github/workflows/app.bruker-service.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.budpro-service.yml b/.github/workflows/app.budpro-service.yml index a3311297486..489c3c21fee 100644 --- a/.github/workflows/app.budpro-service.yml +++ b/.github/workflows/app.budpro-service.yml @@ -22,8 +22,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.dolly-backend.yml b/.github/workflows/app.dolly-backend.yml index e8299e69245..91a4c83fa95 100644 --- a/.github/workflows/app.dolly-backend.yml +++ b/.github/workflows/app.dolly-backend.yml @@ -23,8 +23,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} \ No newline at end of file + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/app.dolly-frontend.yml b/.github/workflows/app.dolly-frontend.yml index e39c0e746e1..b8938892174 100644 --- a/.github/workflows/app.dolly-frontend.yml +++ b/.github/workflows/app.dolly-frontend.yml @@ -35,9 +35,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - READER_TOKEN: ${{ secrets.READER_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.dollystatus.yml b/.github/workflows/app.dollystatus.yml index 730f43e2f30..d4d4d53546c 100644 --- a/.github/workflows/app.dollystatus.yml +++ b/.github/workflows/app.dollystatus.yml @@ -15,9 +15,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - READER_TOKEN: ${{ secrets.READER_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.endringsmelding-frontend.yml b/.github/workflows/app.endringsmelding-frontend.yml index a05e180e445..0e2feae5349 100644 --- a/.github/workflows/app.endringsmelding-frontend.yml +++ b/.github/workflows/app.endringsmelding-frontend.yml @@ -19,9 +19,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - READER_TOKEN: ${{ secrets.READER_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.endringsmelding-service.yml b/.github/workflows/app.endringsmelding-service.yml index e6ecb801a90..cc1ff61cc1d 100644 --- a/.github/workflows/app.endringsmelding-service.yml +++ b/.github/workflows/app.endringsmelding-service.yml @@ -19,8 +19,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.ereg-batch-status-service.yml b/.github/workflows/app.ereg-batch-status-service.yml index a85fa1addd1..f9f8e2ac8fd 100644 --- a/.github/workflows/app.ereg-batch-status-service.yml +++ b/.github/workflows/app.ereg-batch-status-service.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.faste-data-frontend.yml b/.github/workflows/app.faste-data-frontend.yml index 7587b562734..9b70f555e74 100644 --- a/.github/workflows/app.faste-data-frontend.yml +++ b/.github/workflows/app.faste-data-frontend.yml @@ -19,9 +19,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - READER_TOKEN: ${{ secrets.READER_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.generer-arbeidsforhold-populasjon-service.yml b/.github/workflows/app.generer-arbeidsforhold-populasjon-service.yml index ff7aef85a87..b3c6e0ae6ae 100644 --- a/.github/workflows/app.generer-arbeidsforhold-populasjon-service.yml +++ b/.github/workflows/app.generer-arbeidsforhold-populasjon-service.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.generer-navn-service.yml b/.github/workflows/app.generer-navn-service.yml index 6053e0beffd..49c9f19449d 100644 --- a/.github/workflows/app.generer-navn-service.yml +++ b/.github/workflows/app.generer-navn-service.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.generer-organisasjon-populasjon-service.yml b/.github/workflows/app.generer-organisasjon-populasjon-service.yml index 0ef92eaaa2c..9f8acf25d08 100644 --- a/.github/workflows/app.generer-organisasjon-populasjon-service.yml +++ b/.github/workflows/app.generer-organisasjon-populasjon-service.yml @@ -25,8 +25,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.generer-synt-amelding-service.yml b/.github/workflows/app.generer-synt-amelding-service.yml index 6f9b0273a65..07a4959b9f4 100644 --- a/.github/workflows/app.generer-synt-amelding-service.yml +++ b/.github/workflows/app.generer-synt-amelding-service.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.geografiske-kodeverk-service.yml b/.github/workflows/app.geografiske-kodeverk-service.yml index 0dcc356b185..4defc06331c 100644 --- a/.github/workflows/app.geografiske-kodeverk-service.yml +++ b/.github/workflows/app.geografiske-kodeverk-service.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.helsepersonell-service.yml b/.github/workflows/app.helsepersonell-service.yml index 4f90de43a9b..0d6ef0d170d 100644 --- a/.github/workflows/app.helsepersonell-service.yml +++ b/.github/workflows/app.helsepersonell-service.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.inntektsmelding-generator-service.yml b/.github/workflows/app.inntektsmelding-generator-service.yml index c78500e6eb4..e635b582b95 100644 --- a/.github/workflows/app.inntektsmelding-generator-service.yml +++ b/.github/workflows/app.inntektsmelding-generator-service.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.inntektsmelding-service.yml b/.github/workflows/app.inntektsmelding-service.yml index 837f9221c41..5055dd43a71 100644 --- a/.github/workflows/app.inntektsmelding-service.yml +++ b/.github/workflows/app.inntektsmelding-service.yml @@ -19,8 +19,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.jenkins-batch-status-service.yml b/.github/workflows/app.jenkins-batch-status-service.yml index 9987827a628..abfdf4f8402 100644 --- a/.github/workflows/app.jenkins-batch-status-service.yml +++ b/.github/workflows/app.jenkins-batch-status-service.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.joark-dokument-service.yml b/.github/workflows/app.joark-dokument-service.yml index f64331dd625..8cee3172ca2 100644 --- a/.github/workflows/app.joark-dokument-service.yml +++ b/.github/workflows/app.joark-dokument-service.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.miljoer-service.yml b/.github/workflows/app.miljoer-service.yml index bdd7c42dd71..3f74924820b 100644 --- a/.github/workflows/app.miljoer-service.yml +++ b/.github/workflows/app.miljoer-service.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.oppsummeringsdokument-service.yml b/.github/workflows/app.oppsummeringsdokument-service.yml index 85cca7f8edf..1a6f227bfb8 100644 --- a/.github/workflows/app.oppsummeringsdokument-service.yml +++ b/.github/workflows/app.oppsummeringsdokument-service.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.organisasjon-bestilling-service.yml b/.github/workflows/app.organisasjon-bestilling-service.yml index 5d8e2ce8f35..903d696dda7 100644 --- a/.github/workflows/app.organisasjon-bestilling-service.yml +++ b/.github/workflows/app.organisasjon-bestilling-service.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.organisasjon-faste-data-service.yml b/.github/workflows/app.organisasjon-faste-data-service.yml index f0e03bf4f8f..fdfa1bc0257 100644 --- a/.github/workflows/app.organisasjon-faste-data-service.yml +++ b/.github/workflows/app.organisasjon-faste-data-service.yml @@ -25,8 +25,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.organisasjon-forvalter.yml b/.github/workflows/app.organisasjon-forvalter.yml index 72b5f6861c9..fc9acfc26ff 100644 --- a/.github/workflows/app.organisasjon-forvalter.yml +++ b/.github/workflows/app.organisasjon-forvalter.yml @@ -25,8 +25,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.organisasjon-mottak-service.yml b/.github/workflows/app.organisasjon-mottak-service.yml index 67dca1c75e7..00ade707220 100644 --- a/.github/workflows/app.organisasjon-mottak-service.yml +++ b/.github/workflows/app.organisasjon-mottak-service.yml @@ -24,8 +24,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.organisasjon-service.yml b/.github/workflows/app.organisasjon-service.yml index 6ccf1c20ea5..98e04c2185f 100644 --- a/.github/workflows/app.organisasjon-service.yml +++ b/.github/workflows/app.organisasjon-service.yml @@ -22,8 +22,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.organisasjon-tilgang-frontend.yml b/.github/workflows/app.organisasjon-tilgang-frontend.yml index 2b415a11c87..f9361c46812 100644 --- a/.github/workflows/app.organisasjon-tilgang-frontend.yml +++ b/.github/workflows/app.organisasjon-tilgang-frontend.yml @@ -19,9 +19,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - READER_TOKEN: ${{ secrets.READER_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} \ No newline at end of file + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/app.organisasjon-tilgang-service.yml b/.github/workflows/app.organisasjon-tilgang-service.yml index fabd9193dce..2057885c7ff 100644 --- a/.github/workflows/app.organisasjon-tilgang-service.yml +++ b/.github/workflows/app.organisasjon-tilgang-service.yml @@ -17,8 +17,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.orgnummer-service.yml b/.github/workflows/app.orgnummer-service.yml index 591148ded99..d0b77ea9709 100644 --- a/.github/workflows/app.orgnummer-service.yml +++ b/.github/workflows/app.orgnummer-service.yml @@ -22,8 +22,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.oversikt-frontend.yml b/.github/workflows/app.oversikt-frontend.yml index 6ebf48e69fc..7523948aa0c 100644 --- a/.github/workflows/app.oversikt-frontend.yml +++ b/.github/workflows/app.oversikt-frontend.yml @@ -19,9 +19,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - READER_TOKEN: ${{ secrets.READER_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.pdl-forvalter.yml b/.github/workflows/app.pdl-forvalter.yml index 98a372deb3f..351872df7a3 100644 --- a/.github/workflows/app.pdl-forvalter.yml +++ b/.github/workflows/app.pdl-forvalter.yml @@ -22,8 +22,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.person-faste-data-service.yml b/.github/workflows/app.person-faste-data-service.yml index 99c4dc32e8a..27a4f546098 100644 --- a/.github/workflows/app.person-faste-data-service.yml +++ b/.github/workflows/app.person-faste-data-service.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.person-organisasjon-tilgang-service.yml b/.github/workflows/app.person-organisasjon-tilgang-service.yml index 4d2730bf7c1..e5976bee414 100644 --- a/.github/workflows/app.person-organisasjon-tilgang-service.yml +++ b/.github/workflows/app.person-organisasjon-tilgang-service.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.person-search-service.yml b/.github/workflows/app.person-search-service.yml index 991727895cb..f62702c4f0d 100644 --- a/.github/workflows/app.person-search-service.yml +++ b/.github/workflows/app.person-search-service.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.person-service.yml b/.github/workflows/app.person-service.yml index de812278908..5ca03046837 100644 --- a/.github/workflows/app.person-service.yml +++ b/.github/workflows/app.person-service.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.profil-api.yml b/.github/workflows/app.profil-api.yml index 80d2adf4334..52be5e8d0f2 100644 --- a/.github/workflows/app.profil-api.yml +++ b/.github/workflows/app.profil-api.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.sykemelding-api.yml b/.github/workflows/app.sykemelding-api.yml index 4d72174bee7..e0c753fa319 100644 --- a/.github/workflows/app.sykemelding-api.yml +++ b/.github/workflows/app.sykemelding-api.yml @@ -19,8 +19,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.synt-sykemelding-api.yml b/.github/workflows/app.synt-sykemelding-api.yml index 6d8c1fc2098..02c11f0cf9c 100644 --- a/.github/workflows/app.synt-sykemelding-api.yml +++ b/.github/workflows/app.synt-sykemelding-api.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.synt-vedtakshistorikk-service.yml b/.github/workflows/app.synt-vedtakshistorikk-service.yml index 6b5bbb48c6b..6859c17f98f 100644 --- a/.github/workflows/app.synt-vedtakshistorikk-service.yml +++ b/.github/workflows/app.synt-vedtakshistorikk-service.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.tenor-search-service.yml b/.github/workflows/app.tenor-search-service.yml index e7c256f6a16..0daf67eb2f2 100644 --- a/.github/workflows/app.tenor-search-service.yml +++ b/.github/workflows/app.tenor-search-service.yml @@ -19,8 +19,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.testnav-ident-pool.yml b/.github/workflows/app.testnav-ident-pool.yml index 91eeb585370..dbe8b61277d 100644 --- a/.github/workflows/app.testnav-ident-pool.yml +++ b/.github/workflows/app.testnav-ident-pool.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.testnorge-statisk-data-forvalter.yml b/.github/workflows/app.testnorge-statisk-data-forvalter.yml index 4e9a952dfda..aa71a077e87 100644 --- a/.github/workflows/app.testnorge-statisk-data-forvalter.yml +++ b/.github/workflows/app.testnorge-statisk-data-forvalter.yml @@ -27,8 +27,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.tilbakemelding-api.yml b/.github/workflows/app.tilbakemelding-api.yml index e7bfacd165b..3797097f960 100644 --- a/.github/workflows/app.tilbakemelding-api.yml +++ b/.github/workflows/app.tilbakemelding-api.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.tps-messaging-service.yml b/.github/workflows/app.tps-messaging-service.yml index be914c409c6..73ab0d76054 100644 --- a/.github/workflows/app.tps-messaging-service.yml +++ b/.github/workflows/app.tps-messaging-service.yml @@ -19,8 +19,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.udi-stub.yml b/.github/workflows/app.udi-stub.yml index 63dfc1eaf31..c88b7a6f023 100644 --- a/.github/workflows/app.udi-stub.yml +++ b/.github/workflows/app.udi-stub.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/app.varslinger-service.yml b/.github/workflows/app.varslinger-service.yml index f31627c2694..f4a5ce1f473 100644 --- a/.github/workflows/app.varslinger-service.yml +++ b/.github/workflows/app.varslinger-service.yml @@ -21,8 +21,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d74c6f544af..b0da88e14e6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,11 +16,11 @@ jobs: runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Git" run: git fetch --unshallow - name: "Java" - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: 21 @@ -28,7 +28,7 @@ jobs: env: NAV_TOKEN: ${{ secrets.NAV_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GITHUB_USERNAME: ${{ secrets.GITHUB_USERNAME }} + GITHUB_USERNAME: token uses: gradle/gradle-build-action@v2 with: arguments: build --scan diff --git a/.github/workflows/common.cypress.yml b/.github/workflows/common.cypress.yml index 39fc13f0cb4..17df8f8ab7c 100644 --- a/.github/workflows/common.cypress.yml +++ b/.github/workflows/common.cypress.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Setup" uses: actions/setup-node@v3 with: diff --git a/.github/workflows/common.integration-test.yml b/.github/workflows/common.integration-test.yml index 24fecafed3b..4f79adf29ae 100644 --- a/.github/workflows/common.integration-test.yml +++ b/.github/workflows/common.integration-test.yml @@ -17,11 +17,11 @@ jobs: runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Git" run: git fetch --unshallow - name: "Java" - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: 21 distribution: 'temurin' diff --git a/.github/workflows/common.java-build.yml b/.github/workflows/common.java-build.yml deleted file mode 100644 index 4e55631a90c..00000000000 --- a/.github/workflows/common.java-build.yml +++ /dev/null @@ -1,32 +0,0 @@ -on: - workflow_call: - inputs: - working-directory: - type: string - required: true - secrets: - NAV_TOKEN: - required: false - -jobs: - build: - name: Build Backend - runs-on: ubuntu-latest - if: ${{ github.actor != 'dependabot[bot]' }} - steps: - - name: "Checkout" - uses: actions/checkout@v3 - - name: "Java" - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: 21 - - name: "Gradle" - env: - GITHUB_USERNAME: token - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - uses: gradle/gradle-build-action@v2 - with: - build-root-directory: ${{ inputs.working-directory }} - arguments: build --scan - cache-read-only: false diff --git a/.github/workflows/common.js.build.yml b/.github/workflows/common.js.build.yml deleted file mode 100644 index 270cde5244a..00000000000 --- a/.github/workflows/common.js.build.yml +++ /dev/null @@ -1,34 +0,0 @@ -on: - workflow_call: - secrets: - READER_TOKEN: - required: false - inputs: - working-directory: - type: string - required: true - - -jobs: - build: - runs-on: ubuntu-latest - permissions: - contents: write - packages: write - steps: - - uses: actions/checkout@v3 - - name: 'Setup Node' - uses: actions/setup-node@v3 - with: - node-version: 20.x - registry-url: https://npm.pkg.github.com/ - scope: "@navikt" - - - name: Npm install - env: - NODE_AUTH_TOKEN: ${{ secrets.READER_TOKEN }} - working-directory: ${{ inputs.working-directory }} - run: npm install - - name: Build code - run: npm run build - working-directory: ${{ inputs.working-directory }} diff --git a/.github/workflows/common.js.publish.yml b/.github/workflows/common.js.publish.yml deleted file mode 100644 index 50e98346790..00000000000 --- a/.github/workflows/common.js.publish.yml +++ /dev/null @@ -1,38 +0,0 @@ -on: - workflow_call: - secrets: - READER_TOKEN: - required: false - inputs: - working-directory: - type: string - required: true - -jobs: - build: - permissions: - contents: write - packages: write - runs-on: ubuntu-latest - if: "!contains(github.event.head_commit.message, '[skip ci]')" - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: '20.x' - registry-url: 'https://npm.pkg.github.com' - scope: '@navikt' - - - name: Install - run: npm ci - working-directory: ${{ inputs.working-directory }} - env: - NODE_AUTH_TOKEN: ${{ secrets.READER_TOKEN }} - - name: Build - run: npm run build - working-directory: ${{ inputs.working-directory }} - - name: Deploy to GPR - run: npm publish - working-directory: ${{ inputs.working-directory }} - env: - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/common.scan.sonar.yml b/.github/workflows/common.scan.sonar.yml deleted file mode 100644 index 8730135526a..00000000000 --- a/.github/workflows/common.scan.sonar.yml +++ /dev/null @@ -1,36 +0,0 @@ -on: - workflow_call: - inputs: - working-directory: - type: string - required: true - secrets: - SONAR_TOKEN: - required: true - NAV_TOKEN: - required: false - -jobs: - sonar: - runs-on: ubuntu-latest - if: ${{ github.actor != 'dependabot[bot]' }} - steps: - - name: "Checkout" - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: "Java" - uses: actions/setup-java@v3 - with: - distribution: temurin - java-version: 21 - - name: "Gradle" - env: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - uses: gradle/gradle-build-action@v2 - with: - build-root-directory: ${{ inputs.working-directory }} - arguments: test jacocoTestReport sonar --scan - cache-read-only: false diff --git a/.github/workflows/common.workflow.backend.yml b/.github/workflows/common.workflow.backend.yml index bed676cceb0..ec73d478b6a 100644 --- a/.github/workflows/common.workflow.backend.yml +++ b/.github/workflows/common.workflow.backend.yml @@ -44,8 +44,6 @@ on: required: false default: true secrets: - NAIS_DOLLY_DEPLOY_API_KEY: - required: true NAIS_WORKLOAD_IDENTITY_PROVIDER: required: true NAV_TOKEN: @@ -53,10 +51,6 @@ on: SONAR_TOKEN: required: true -env: - do-deploy-test: ${{ inputs.force-deploy-test || (!contains(github.event.head_commit.message, '#nodeploy') && (inputs.deploy-tag-test != '') && (github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, inputs.deploy-tag-test))) }} - do-deploy: ${{ inputs.force-deploy || (!contains(github.event.head_commit.message, '#nodeploy') && (inputs.deploy-tag != '') && (github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, inputs.deploy-tag))) }} - jobs: start: @@ -68,46 +62,47 @@ jobs: echo "inputs: ${{ toJSON(inputs) }}" echo "env: ${{ toJSON(env) }}" echo "commit: ${{ github.event.head.commit_message }}" - - sonar: - needs: start - if: inputs.sonar-enabled - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - uses: ./.github/workflows/common.scan.sonar.yml - with: - working-directory: ${{ inputs.working-directory }} + outputs: + do-deploy-test: ${{ inputs.force-deploy-test || (!contains(github.event.head_commit.message, '#nodeploy') && (inputs.deploy-tag-test != '') && (github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, inputs.deploy-tag-test))) }} + do-deploy: ${{ inputs.force-deploy || (!contains(github.event.head_commit.message, '#nodeploy') && (inputs.deploy-tag != '') && (github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, inputs.deploy-tag))) }} + artifact: ${{ github.run_id }}-failure build: needs: start if: github.actor != 'dependabot[bot]' runs-on: ubuntu-latest - permissions: - contents: read - id-token: write steps: - name: "Checkout" - uses: actions/checkout@v3 - - name: "Java" - uses: actions/setup-java@v3 + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: "Setup" + uses: actions/setup-java@v4 with: distribution: temurin java-version: 21 - name: "Gradle" - env: - GITHUB_USERNAME: token - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - uses: gradle/gradle-build-action@v2 + id: gradle + uses: gradle/gradle-build-action@v3 with: build-root-directory: ${{ inputs.working-directory }} - arguments: build --scan + arguments: build ${{ inputs.sonar-enabled && 'jacocoTestReport sonar -Dsonar.gradle.skipCompile=true' || ''}} --scan cache-read-only: false + env: + NAV_TOKEN: ${{ secrets.NAV_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + - name: "Reporting" + if: failure() && steps.gradle.outcome == 'failure' + uses: actions/upload-artifact@v4 + with: + name: ${{ needs.start.outputs.artifact}} + path: ${{ inputs.working-directory }}/build/reports + retention-days: 7 - name: "Docker" id: docker-build-push if: | - env.do-deploy-test == 'true' || - env.do-deploy == 'true' + needs.start.outputs.do-deploy == 'true' || + needs.start.outputs.do-deploy-test == 'true' uses: nais/docker-build-push@v0 with: team: dolly @@ -118,37 +113,33 @@ jobs: image_suffix: ${{ inputs.image-suffix }} outputs: image: ${{ steps.docker-build-push.outputs.image }} - do-deploy-test: ${{ env.do-deploy-test }} - do-deploy: ${{ env.do-deploy }} deploy: - needs: build - if: needs.build.outputs.do-deploy == 'true' + needs: [start, build] + if: needs.start.outputs.do-deploy == 'true' concurrency: ${{ inputs.image-suffix }} runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Deploy" - uses: nais/deploy/actions/deploy@v1 + uses: nais/deploy/actions/deploy@v2 env: - APIKEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} CLUSTER: ${{ inputs.cluster }} RESOURCE: ${{ inputs.working-directory }}/${{ inputs.nais-manifest }} VAR: image=${{ needs.build.outputs.image }} deploy-test: - needs: build - if: needs.build.outputs.do-deploy-test == 'true' + needs: [start, build] + if: needs.start.outputs.do-deploy-test == 'true' concurrency: ${{ inputs.image-suffix }}-test runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Deploy (test)" - uses: nais/deploy/actions/deploy@v1 + uses: nais/deploy/actions/deploy@v2 env: - APIKEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} CLUSTER: ${{ inputs.cluster }} RESOURCE: ${{ inputs.working-directory }}/config.test.yml VAR: image=${{ needs.build.outputs.image }} \ No newline at end of file diff --git a/.github/workflows/common.workflow.frontend.yml b/.github/workflows/common.workflow.frontend.yml index e62ce024c0d..6b5396592a2 100644 --- a/.github/workflows/common.workflow.frontend.yml +++ b/.github/workflows/common.workflow.frontend.yml @@ -15,11 +15,6 @@ on: description: "The Docker image suffix used for this particular workflow, e.g. dolly-frontend. Defaults to the workflow name." required: false default: ${{ github.workflow }} - nais-manifest: - type: string - description: "The NAIS manifest file. Make sure it exists in the working-directory. Defaults to config.yml." - required: false - default: "config.yml" deploy-tag: type: string description: "The commit message tag that will trigger a deployment on a commit to a non-master branch, e.g. #deploy-frontend. Make sure it is not a substring of other deploy tags." @@ -62,8 +57,6 @@ on: required: false default: true secrets: - NAIS_DOLLY_DEPLOY_API_KEY: - required: true NAIS_WORKLOAD_IDENTITY_PROVIDER: required: true NAV_TOKEN: @@ -73,12 +66,6 @@ on: SONAR_TOKEN: required: true -env: - do-deploy: ${{ inputs.force-deploy || (!contains(github.event.head_commit.message, '#nodeploy') && (inputs.deploy-tag != '') && (github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, inputs.deploy-tag))) }} - do-deploy-test: ${{ inputs.force-deploy-test || (!contains(github.event.head_commit.message, '#nodeploy') && inputs.deploy-tag-test != '' && (github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, inputs.deploy-tag-test))) }} - do-deploy-idporten: ${{ inputs.force-deploy-idporten || (!contains(github.event.head_commit.message, '#nodeploy') && inputs.deploy-tag-idporten != '' && (github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, inputs.deploy-tag-idporten))) }} - do-deploy-unstable: ${{ inputs.force-deploy-unstable || (!contains(github.event.head_commit.message, '#nodeploy') && (inputs.deploy-tag-unstable != '') && (github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, inputs.deploy-tag-unstable))) }} - jobs: start: @@ -90,16 +77,12 @@ jobs: echo "inputs: ${{ toJSON(inputs) }}" echo "env: ${{ toJSON(env) }}" echo "commit: ${{ github.event.head.commit_message }}" - - sonar: - needs: start - if: inputs.sonar-enabled - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - uses: ./.github/workflows/common.scan.sonar.yml - with: - working-directory: ${{ inputs.working-directory }} + outputs: + do-deploy: ${{ inputs.force-deploy || (!contains(github.event.head_commit.message, '#nodeploy') && (inputs.deploy-tag != '') && (github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, inputs.deploy-tag))) }} + do-deploy-test: ${{ inputs.force-deploy-test || (!contains(github.event.head_commit.message, '#nodeploy') && inputs.deploy-tag-test != '' && (github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, inputs.deploy-tag-test))) }} + do-deploy-idporten: ${{ inputs.force-deploy-idporten || (!contains(github.event.head_commit.message, '#nodeploy') && inputs.deploy-tag-idporten != '' && (github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, inputs.deploy-tag-idporten))) }} + do-deploy-unstable: ${{ inputs.force-deploy-unstable || (!contains(github.event.head_commit.message, '#nodeploy') && (inputs.deploy-tag-unstable != '') && (github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, inputs.deploy-tag-unstable))) }} + artifact: ${{ github.run_id }}-failure build: needs: start @@ -107,18 +90,18 @@ jobs: runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Setup (Node)" - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: '20.x' registry-url: 'https://npm.pkg.github.com' scope: '@navikt' - name: "Install (Node)" - env: - NODE_AUTH_TOKEN: ${{ secrets.READER_TOKEN }} working-directory: ${{ inputs.working-directory }}/src/main/js run: npm ci + env: + NODE_AUTH_TOKEN: ${{ secrets.READER_TOKEN }} - name: "Build (Node)" working-directory: ${{ inputs.working-directory }}/src/main/js run: npm run build @@ -126,26 +109,34 @@ jobs: working-directory: ${{ inputs.working-directory }}/src/main/js run: mv build ../resources/static - name: "Java" - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: 21 - name: "Gradle" - env: - GITHUB_USERNAME: token - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - uses: gradle/gradle-build-action@v2 + id: gradle + uses: gradle/gradle-build-action@v3 with: build-root-directory: ${{ inputs.working-directory }} - arguments: build --scan + arguments: build ${{ inputs.sonar-enabled && 'jacocoTestReport sonar -Dsonar.gradle.skipCompile=true' || '' }} --scan cache-read-only: false + env: + NAV_TOKEN: ${{ secrets.NAV_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + - name: "Reporting" + if: failure() && steps.gradle.outcome == 'failure' + uses: actions/upload-artifact@v4 + with: + name: ${{ needs.start.outputs.artifact}} + path: ${{ inputs.working-directory }}/build/reports + retention-days: 7 - name: "Docker" id: docker-build-push if: | - env.do-deploy-unstable == 'true' || - env.do-deploy-idporten == 'true' || - env.do-deploy-test == 'true' || - env.do-deploy == 'true' + needs.start.outputs.do-deploy-unstable == 'true' || + needs.start.outputs.do-deploy-idporten == 'true' || + needs.start.outputs.do-deploy-test == 'true' || + needs.start.outputs.do-deploy == 'true' uses: nais/docker-build-push@v0 with: team: dolly @@ -156,73 +147,65 @@ jobs: image_suffix: ${{ inputs.image-suffix }} outputs: image: ${{ steps.docker-build-push.outputs.image }} - do-deploy-unstable: ${{ env.do-deploy-unstable }} - do-deploy-idporten: ${{ env.do-deploy-idporten }} - do-deploy-test: ${{ env.do-deploy-test }} - do-deploy: ${{ env.do-deploy }} deploy: - needs: build - if: needs.build.outputs.do-deploy == 'true' + needs: [start, build] + if: needs.start.outputs.do-deploy == 'true' concurrency: ${{ inputs.image-suffix }} runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Deploy" - uses: nais/deploy/actions/deploy@v1 + uses: nais/deploy/actions/deploy@v2 env: - APIKEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} CLUSTER: ${{ inputs.cluster }} - RESOURCE: ${{ inputs.working-directory }}/${{ inputs.nais-manifest }} + RESOURCE: ${{ inputs.working-directory }}/config.yml VAR: image=${{ needs.build.outputs.image }} deploy-test: - needs: build - if: needs.build.outputs.do-deploy-test == 'true' + needs: [start, build] + if: needs.start.outputs.do-deploy-test == 'true' concurrency: ${{ inputs.image-suffix }}-test runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Deploy (test)" - uses: nais/deploy/actions/deploy@v1 + uses: nais/deploy/actions/deploy@v2 env: - APIKEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} CLUSTER: ${{ inputs.cluster }} RESOURCE: ${{ inputs.working-directory }}/config.test.yml VAR: image=${{ needs.build.outputs.image }} # Only used by dolly-frontend. deploy-idporten: - needs: build - if: needs.build.outputs.do-deploy-idporten == 'true' + needs: [start, build] + if: needs.start.outputs.do-deploy-idporten == 'true' concurrency: ${{ inputs.image-suffix }}-idporten runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Deploy (idporten)" - uses: nais/deploy/actions/deploy@v1 + uses: nais/deploy/actions/deploy@v2 env: - APIKEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} CLUSTER: ${{ inputs.cluster }} RESOURCE: ${{ inputs.working-directory }}/config.idporten.yml VAR: image=${{ needs.build.outputs.image }} # Only used by dolly-frontend. deploy-unstable: - needs: build - if: needs.build.outputs.do-deploy-unstable == 'true' + needs: [start, build] + if: needs.start.outputs.do-deploy-unstable == 'true' concurrency: ${{ inputs.image-suffix }}-unstable runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Deploy (unstable)" - uses: nais/deploy/actions/deploy@v1 + uses: nais/deploy/actions/deploy@v2 env: - APIKEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} CLUSTER: ${{ inputs.cluster }} RESOURCE: ${{ inputs.working-directory }}/config.unstable.yml VAR: image=${{ needs.build.outputs.image }} \ No newline at end of file diff --git a/.github/workflows/common.workflow.libs.backend.yml b/.github/workflows/common.workflow.libs.backend.yml new file mode 100644 index 00000000000..56e6d190f51 --- /dev/null +++ b/.github/workflows/common.workflow.libs.backend.yml @@ -0,0 +1,63 @@ +on: + workflow_call: + inputs: + sonar-enabled: + type: boolean + description: "Whether to run SonarQube analysis or not." + required: false + default: true + working-directory: + type: string + description: "The working directory for the job, e.g. libs/commands (without leading/trailing slash)." + required: true + secrets: + NAV_TOKEN: + required: true + SONAR_TOKEN: + required: true + +jobs: + + start: + runs-on: ubuntu-latest + steps: + - name: "Logging" + run: | + echo "branch: ${{ github.ref }}" + echo "inputs: ${{ toJSON(inputs) }}" + echo "env: ${{ toJSON(env) }}" + echo "commit: ${{ github.event.head.commit_message }}" + outputs: + artifact: ${{ github.run_id }}-failure + + build: + needs: start + if: ${{ github.actor != 'dependabot[bot]' }} + runs-on: ubuntu-latest + steps: + - name: "Checkout" + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: "Setup" + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 21 + - name: "Gradle" + id: gradle + uses: gradle/gradle-build-action@v3 + with: + build-root-directory: ${{ inputs.working-directory }} + arguments: build ${{ inputs.sonar-enabled && 'jacocoTestReport sonar -Dsonar.gradle.skipCompile=true' || '' }} --scan + cache-read-only: false + env: + NAV_TOKEN: ${{ secrets.NAV_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + - name: "Reporting" + if: failure() && steps.gradle.outcome == 'failure' + uses: actions/upload-artifact@v4 + with: + name: ${{ needs.start.outputs.artifact}} + path: ${{ inputs.working-directory }}/build/reports + retention-days: 7 \ No newline at end of file diff --git a/.github/workflows/common.workflow.libs.frontend.yml b/.github/workflows/common.workflow.libs.frontend.yml new file mode 100644 index 00000000000..2045a21a9e5 --- /dev/null +++ b/.github/workflows/common.workflow.libs.frontend.yml @@ -0,0 +1,55 @@ +on: + workflow_call: + inputs: + working-directory: + type: string + description: "The working directory for the job, e.g. libs/commands (without leading/trailing slash)." + required: true + secrets: + READER_TOKEN: + required: true + +jobs: + + start: + runs-on: ubuntu-latest + steps: + - name: "Logging" + run: | + echo "branch: ${{ github.ref }}" + echo "inputs: ${{ toJSON(inputs) }}" + echo "env: ${{ toJSON(env) }}" + echo "commit: ${{ github.event.head.commit_message }}" + + build: + needs: start + if: ${{ github.actor != 'dependabot[bot]' }} + runs-on: ubuntu-latest + steps: + - name: "Checkout" + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: "Setup" + uses: actions/setup-node@v4 + with: + node-version: 20.x + registry-url: https://npm.pkg.github.com/ + scope: "@navikt" + - name: "Install" + run: npm install + working-directory: ${{ inputs.working-directory }} + env: + NODE_AUTH_TOKEN: ${{ secrets.READER_TOKEN }} + - name: "Build" + run: npm run build + working-directory: ${{ inputs.working-directory }} + - name: "Publish" + if: | + (github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, '#publish-libs')) && + (!contains(github.event.head_commit.message, '[skip ci]')) + run: npm publish + working-directory: ${{ inputs.working-directory }} + env: + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + \ No newline at end of file diff --git a/.github/workflows/idporten.yml b/.github/workflows/idporten.yml index 92aec749c09..f7f74d0b59e 100644 --- a/.github/workflows/idporten.yml +++ b/.github/workflows/idporten.yml @@ -11,12 +11,12 @@ jobs: deploy-idporten: name: Deploy idporten runs-on: ubuntu-latest + permissions: + contents: read + id-token: write steps: - - uses: actions/checkout@v3 - - uses: nais/deploy/actions/deploy@v1 - with: - team: dolly + - uses: actions/checkout@v4 + - uses: nais/deploy/actions/deploy@v2 env: - APIKEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} CLUSTER: prod-gcp RESOURCE: .nais/idporten.yml diff --git a/.github/workflows/kafka-topics.yml b/.github/workflows/kafka-topics.yml index 7235d59a96e..cbeeeb676d3 100644 --- a/.github/workflows/kafka-topics.yml +++ b/.github/workflows/kafka-topics.yml @@ -13,11 +13,13 @@ jobs: deploy-kafka-topics-dev: name: Deploy to Aiven Dev runs-on: ubuntu-latest + permissions: + contents: read + id-token: write steps: - - uses: actions/checkout@v3 - - uses: nais/deploy/actions/deploy@v1 + - uses: actions/checkout@v4 + - uses: nais/deploy/actions/deploy@v2 env: - APIKEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} CLUSTER: dev-gcp VAR: kafka-pool=nav-dev RESOURCE: .nais/topics.yml \ No newline at end of file diff --git a/.github/workflows/lib.commands.yml b/.github/workflows/lib.commands.yml index 5423653c03d..024386b48f7 100644 --- a/.github/workflows/lib.commands.yml +++ b/.github/workflows/lib.commands.yml @@ -1,4 +1,4 @@ -name: Lib commands +name: commands on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.commands.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/commands/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/commands/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/commands' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.csv-converter.yml b/.github/workflows/lib.csv-converter.yml index ee256830fbf..cd135c78b2e 100644 --- a/.github/workflows/lib.csv-converter.yml +++ b/.github/workflows/lib.csv-converter.yml @@ -1,4 +1,4 @@ -name: Lib csv-converter +name: csv-converter on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.csv-converter.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/csv-converter/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/csv-converter/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/csv-converter' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.data-transfer-objects.yml b/.github/workflows/lib.data-transfer-objects.yml index beaf28cc0f6..34cb149eca6 100644 --- a/.github/workflows/lib.data-transfer-objects.yml +++ b/.github/workflows/lib.data-transfer-objects.yml @@ -1,4 +1,4 @@ -name: Lib data-transfer-objects +name: data-transfer-objects on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.data-transfer-objects.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/data-transfer-objects/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/data-transfer-objects/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/data-transfer-objects' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.domain.yml b/.github/workflows/lib.domain.yml index 2f5f100fa90..c0accda3d06 100644 --- a/.github/workflows/lib.domain.yml +++ b/.github/workflows/lib.domain.yml @@ -1,4 +1,4 @@ -name: Lib domain +name: domain on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.domain.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/domain/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/domain/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/domain' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.frontend.dolly-assets.yml b/.github/workflows/lib.frontend.dolly-assets.yml index 49a865fe465..d918815ada6 100644 --- a/.github/workflows/lib.frontend.dolly-assets.yml +++ b/.github/workflows/lib.frontend.dolly-assets.yml @@ -1,4 +1,4 @@ -name: Frontend lib dolly-assets +name: dolly-assets on: push: @@ -7,20 +7,11 @@ on: - .github/workflows/lib.frontend.dolly-assets.yml jobs: - build: - name: Build - permissions: - contents: write - packages: write - uses: ./.github/workflows/common.js.build.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.frontend.yml with: - working-directory: 'navikt/dolly-assets/' - publish: - name: Publish + working-directory: 'navikt/dolly-assets' permissions: contents: write packages: write - uses: ./.github/workflows/common.js.publish.yml - if: ${{ github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, '#publish-libs') }} - with: - working-directory: 'navikt/dolly-assets/' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.frontend.dolly-komponenter.yml b/.github/workflows/lib.frontend.dolly-komponenter.yml index 4129a9a047f..4ada60ac058 100644 --- a/.github/workflows/lib.frontend.dolly-komponenter.yml +++ b/.github/workflows/lib.frontend.dolly-komponenter.yml @@ -1,4 +1,4 @@ -name: Frontend lib dolly-komponenter +name: dolly-komponenter on: push: @@ -7,24 +7,11 @@ on: - .github/workflows/lib.frontend.dolly-komponenter.yml jobs: - build: - name: Build - permissions: - contents: write - packages: write - uses: ./.github/workflows/common.js.build.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.frontend.yml with: - working-directory: 'navikt/dolly-komponenter/' - secrets: - READER_TOKEN: ${{ secrets.READER_TOKEN }} - publish: - name: Publish + working-directory: 'navikt/dolly-komponenter' permissions: contents: write packages: write - uses: ./.github/workflows/common.js.publish.yml - if: ${{ github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, '#publish-libs') }} - with: - working-directory: 'navikt/dolly-komponenter/' - secrets: - READER_TOKEN: ${{ secrets.READER_TOKEN }} + secrets: inherit diff --git a/.github/workflows/lib.frontend.dolly-lib.yml b/.github/workflows/lib.frontend.dolly-lib.yml index beafc7d0fa1..674fb2d881c 100644 --- a/.github/workflows/lib.frontend.dolly-lib.yml +++ b/.github/workflows/lib.frontend.dolly-lib.yml @@ -1,4 +1,4 @@ -name: Frontend lib dolly-lib +name: dolly-lib on: push: @@ -7,20 +7,11 @@ on: - .github/workflows/lib.frontend.dolly-lib.yml jobs: - build: - name: Build - permissions: - contents: write - packages: write - uses: ./.github/workflows/common.js.build.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.frontend.yml with: - working-directory: 'navikt/dolly-lib/' - publish: - name: Publish + working-directory: 'navikt/dolly-lib' permissions: contents: write packages: write - uses: ./.github/workflows/common.js.publish.yml - if: ${{ github.ref == 'refs/heads/master' || contains(github.event.head_commit.message, '#publish-libs') }} - with: - working-directory: 'navikt/dolly-lib/' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.integration-test.yml b/.github/workflows/lib.integration-test.yml index 2f980bbc402..04074566673 100644 --- a/.github/workflows/lib.integration-test.yml +++ b/.github/workflows/lib.integration-test.yml @@ -1,4 +1,4 @@ -name: Lib integration-test +name: integration-test on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.reactive-core.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/integration-test/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/integration-test/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/integration-test' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.kafka-config.yml b/.github/workflows/lib.kafka-config.yml index 3de776a97ca..542bb5ece3b 100644 --- a/.github/workflows/lib.kafka-config.yml +++ b/.github/workflows/lib.kafka-config.yml @@ -1,4 +1,4 @@ -name: Lib kafka-config +name: kafka-config on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.kafka-config.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/kafka-config/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/kafka-config/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/kafka-config' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.kafka-producers.yml b/.github/workflows/lib.kafka-producers.yml index db8390fc400..cc8ccb27a49 100644 --- a/.github/workflows/lib.kafka-producers.yml +++ b/.github/workflows/lib.kafka-producers.yml @@ -1,4 +1,4 @@ -name: Lib kafka-producers +name: kafka-producers on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.kafka-producers.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/kafka-producers/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/kafka-producers/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/kafka-producers' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.reactive-core.yml b/.github/workflows/lib.reactive-core.yml index 0c1fb160faf..b9a701d1e43 100644 --- a/.github/workflows/lib.reactive-core.yml +++ b/.github/workflows/lib.reactive-core.yml @@ -1,4 +1,4 @@ -name: Lib reactive-core +name: reactive-core on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.reactive-core.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/reactive-core/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/reactive-core/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/reactive-core' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.reactive-frontend.yml b/.github/workflows/lib.reactive-frontend.yml index 06b412ac11b..4f92ae87e1b 100644 --- a/.github/workflows/lib.reactive-frontend.yml +++ b/.github/workflows/lib.reactive-frontend.yml @@ -1,4 +1,4 @@ -name: Lib reactive-frontend +name: reactive-frontend on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.reactive-frontend.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/reactive-frontend/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/reactive-frontend/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/reactive-frontend' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.reactive-proxy.yml b/.github/workflows/lib.reactive-proxy.yml index ce4bdcedf71..e01b695b0fc 100644 --- a/.github/workflows/lib.reactive-proxy.yml +++ b/.github/workflows/lib.reactive-proxy.yml @@ -1,4 +1,4 @@ -name: Lib reactive-proxy +name: reactive-proxy on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.reactive-proxy.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/reactive-proxy/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/reactive-proxy/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} + working-directory: 'libs/reactive-proxy' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.reactive-security.yml b/.github/workflows/lib.reactive-security.yml index b0aff0b2130..3c287c5ad0a 100644 --- a/.github/workflows/lib.reactive-security.yml +++ b/.github/workflows/lib.reactive-security.yml @@ -1,4 +1,4 @@ -name: Lib reactive-security +name: reactive-security on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.reactive-security.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/reactive-security/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/reactive-security/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/reactive-security' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.reactive-session-security.yml b/.github/workflows/lib.reactive-session-security.yml index 949dcc08c3d..f9a633266bb 100644 --- a/.github/workflows/lib.reactive-session-security.yml +++ b/.github/workflows/lib.reactive-session-security.yml @@ -1,4 +1,4 @@ -name: Lib reactive-session-security +name: reactive-session-security on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.reactive-session-security.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/reactive-session-security/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/reactive-session-security/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/reactive-session-security' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.security-core.yml b/.github/workflows/lib.security-core.yml index 664974f7004..7a5faa7cb11 100644 --- a/.github/workflows/lib.security-core.yml +++ b/.github/workflows/lib.security-core.yml @@ -1,4 +1,4 @@ -name: Lib security-core +name: security-core on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.security-core.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/security-core/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/security-core/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/security-core' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.security-token-service.yml b/.github/workflows/lib.security-token-service.yml index 4fb2ae974fd..ed95e46fb93 100644 --- a/.github/workflows/lib.security-token-service.yml +++ b/.github/workflows/lib.security-token-service.yml @@ -1,4 +1,4 @@ -name: Lib security-token-service +name: security-token-service on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.security-token-service.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/security-token-service/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/security-token-service/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/security-token-service' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.servlet-core.yml b/.github/workflows/lib.servlet-core.yml index b8eea07a532..ec24d7bc64c 100644 --- a/.github/workflows/lib.servlet-core.yml +++ b/.github/workflows/lib.servlet-core.yml @@ -1,4 +1,4 @@ -name: Lib servlet-core +name: servlet-core on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.servlet-core.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/servlet-core/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/servlet-core/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} + working-directory: 'libs/servlet-core' + secrets: inherit diff --git a/.github/workflows/lib.servlet-insecure-security.yml b/.github/workflows/lib.servlet-insecure-security.yml index f9358cba54c..a1f69cfa306 100644 --- a/.github/workflows/lib.servlet-insecure-security.yml +++ b/.github/workflows/lib.servlet-insecure-security.yml @@ -1,4 +1,4 @@ -name: Lib servlet-insecure-security +name: servlet-insecure-security on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.servlet-insecure-security.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/servlet-insecure-security/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/servlet-insecure-security/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/servlet-insecure-security' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.servlet-security.yml b/.github/workflows/lib.servlet-security.yml index 763a82cba9d..534b8bd2364 100644 --- a/.github/workflows/lib.servlet-security.yml +++ b/.github/workflows/lib.servlet-security.yml @@ -1,4 +1,4 @@ -name: Lib servlet-security +name: servlet-security on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.commanservlet-securityds.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/servlet-security/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/servlet-security/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/servlet-security' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/lib.slack.yml b/.github/workflows/lib.slack.yml deleted file mode 100644 index 07cdc9a7898..00000000000 --- a/.github/workflows/lib.slack.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Lib servlet-security - -on: - push: - paths: - - libs/servlet-security/** - - .github/workflows/lib.servlet-security.yml - -jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml - with: - working-directory: 'libs/servlet-security/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/servlet-security/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/lib.testing.yml b/.github/workflows/lib.testing.yml index 16212e5742d..14f45d07c62 100644 --- a/.github/workflows/lib.testing.yml +++ b/.github/workflows/lib.testing.yml @@ -1,4 +1,4 @@ -name: Lib testing +name: testing on: push: @@ -7,18 +7,8 @@ on: - .github/workflows/lib.testing.yml jobs: - scan: - name: Scan - uses: ./.github/workflows/common.scan.sonar.yml + workflow: + uses: ./.github/workflows/common.workflow.libs.backend.yml with: - working-directory: 'libs/testing/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - build: - name: Build - uses: ./.github/workflows/common.java-build.yml - with: - working-directory: 'libs/testing/' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + working-directory: 'libs/testing' + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/maskinporten.yml b/.github/workflows/maskinporten.yml index 5aeecc39997..d17fe4bfaf5 100644 --- a/.github/workflows/maskinporten.yml +++ b/.github/workflows/maskinporten.yml @@ -11,12 +11,12 @@ jobs: deploy-maskinporten: name: Deploy maskinporten runs-on: ubuntu-latest + permissions: + contents: read + id-token: write steps: - - uses: actions/checkout@v3 - - uses: nais/deploy/actions/deploy@v1 - with: - team: dolly + - uses: actions/checkout@v4 + - uses: nais/deploy/actions/deploy@v2 env: - APIKEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} CLUSTER: prod-gcp RESOURCE: .nais/maskinporten.yml diff --git a/.github/workflows/opensearch.yml b/.github/workflows/opensearch.yml index 5d5db84f73c..0a0a7fad174 100644 --- a/.github/workflows/opensearch.yml +++ b/.github/workflows/opensearch.yml @@ -13,10 +13,12 @@ jobs: deploy-opensearch: name: Deploy opensearch runs-on: ubuntu-latest + permissions: + contents: read + id-token: write steps: - - uses: actions/checkout@v3 - - uses: nais/deploy/actions/deploy@v1 + - uses: actions/checkout@v4 + - uses: nais/deploy/actions/deploy@v2 env: - APIKEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} CLUSTER: dev-gcp RESOURCE: .nais/opensearch.yml \ No newline at end of file diff --git a/.github/workflows/proxy.aareg-proxy.yml b/.github/workflows/proxy.aareg-proxy.yml index 28d7ddc113a..632e76c7e4a 100644 --- a/.github/workflows/proxy.aareg-proxy.yml +++ b/.github/workflows/proxy.aareg-proxy.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.aareg-synt-services-proxy.yml b/.github/workflows/proxy.aareg-synt-services-proxy.yml index 244813526fc..0e22fc20172 100644 --- a/.github/workflows/proxy.aareg-synt-services-proxy.yml +++ b/.github/workflows/proxy.aareg-synt-services-proxy.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.arbeidsplassencv-proxy.yml b/.github/workflows/proxy.arbeidsplassencv-proxy.yml index 404f0a8c062..8f0f7971e44 100644 --- a/.github/workflows/proxy.arbeidsplassencv-proxy.yml +++ b/.github/workflows/proxy.arbeidsplassencv-proxy.yml @@ -19,8 +19,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.arena-forvalteren-proxy.yml b/.github/workflows/proxy.arena-forvalteren-proxy.yml index be18f3e63fa..4331b3f2b5f 100644 --- a/.github/workflows/proxy.arena-forvalteren-proxy.yml +++ b/.github/workflows/proxy.arena-forvalteren-proxy.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.batch-adeo-proxy.yml b/.github/workflows/proxy.batch-adeo-proxy.yml index 5baf1f00748..9d791c38e8c 100644 --- a/.github/workflows/proxy.batch-adeo-proxy.yml +++ b/.github/workflows/proxy.batch-adeo-proxy.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.brregstub-proxy.yml b/.github/workflows/proxy.brregstub-proxy.yml index 5e6995ee696..ab04f705939 100644 --- a/.github/workflows/proxy.brregstub-proxy.yml +++ b/.github/workflows/proxy.brregstub-proxy.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.dokarkiv-proxy.yml b/.github/workflows/proxy.dokarkiv-proxy.yml index 4d16fb4ff2a..a6b575f9806 100644 --- a/.github/workflows/proxy.dokarkiv-proxy.yml +++ b/.github/workflows/proxy.dokarkiv-proxy.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.ereg-proxy.yml b/.github/workflows/proxy.ereg-proxy.yml index 8ecffe0130e..a197a017fe1 100644 --- a/.github/workflows/proxy.ereg-proxy.yml +++ b/.github/workflows/proxy.ereg-proxy.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.histark-proxy.yml b/.github/workflows/proxy.histark-proxy.yml index cd477338e80..046bc8be64e 100644 --- a/.github/workflows/proxy.histark-proxy.yml +++ b/.github/workflows/proxy.histark-proxy.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.inntektstub-proxy.yml b/.github/workflows/proxy.inntektstub-proxy.yml index 0d0ff4f0b24..e73bfc8e7c9 100644 --- a/.github/workflows/proxy.inntektstub-proxy.yml +++ b/.github/workflows/proxy.inntektstub-proxy.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.inst-proxy.yml b/.github/workflows/proxy.inst-proxy.yml index efcf944cc00..9c0ef661478 100644 --- a/.github/workflows/proxy.inst-proxy.yml +++ b/.github/workflows/proxy.inst-proxy.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.kontoregister-person-proxy.yml b/.github/workflows/proxy.kontoregister-person-proxy.yml index 2618e3be7d7..d2290ff5e0f 100644 --- a/.github/workflows/proxy.kontoregister-person-proxy.yml +++ b/.github/workflows/proxy.kontoregister-person-proxy.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.krrstub-proxy.yml b/.github/workflows/proxy.krrstub-proxy.yml index 83f126d1f55..3ede6c3da23 100644 --- a/.github/workflows/proxy.krrstub-proxy.yml +++ b/.github/workflows/proxy.krrstub-proxy.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.medl-proxy.yml b/.github/workflows/proxy.medl-proxy.yml index 816b6fa3ad9..43ec423a15e 100644 --- a/.github/workflows/proxy.medl-proxy.yml +++ b/.github/workflows/proxy.medl-proxy.yml @@ -22,8 +22,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.norg2-proxy.yml b/.github/workflows/proxy.norg2-proxy.yml index eeeab46890a..8e2af7ab410 100644 --- a/.github/workflows/proxy.norg2-proxy.yml +++ b/.github/workflows/proxy.norg2-proxy.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.pdl-proxy.yml b/.github/workflows/proxy.pdl-proxy.yml index f9070b8401a..6e62a33f63d 100644 --- a/.github/workflows/proxy.pdl-proxy.yml +++ b/.github/workflows/proxy.pdl-proxy.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.pensjon-testdata-facade-proxy.yml b/.github/workflows/proxy.pensjon-testdata-facade-proxy.yml index cecc122f40a..9b4fbacd883 100644 --- a/.github/workflows/proxy.pensjon-testdata-facade-proxy.yml +++ b/.github/workflows/proxy.pensjon-testdata-facade-proxy.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.saf-proxy.yml b/.github/workflows/proxy.saf-proxy.yml index 8ad13efbf17..1b391d20770 100644 --- a/.github/workflows/proxy.saf-proxy.yml +++ b/.github/workflows/proxy.saf-proxy.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.sigrunstub-proxy.yml b/.github/workflows/proxy.sigrunstub-proxy.yml index 5ce006a6a9c..bf1c3192427 100644 --- a/.github/workflows/proxy.sigrunstub-proxy.yml +++ b/.github/workflows/proxy.sigrunstub-proxy.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.skjermingsregister-proxy.yml b/.github/workflows/proxy.skjermingsregister-proxy.yml index 227bcde795b..75f5ee4bc6e 100644 --- a/.github/workflows/proxy.skjermingsregister-proxy.yml +++ b/.github/workflows/proxy.skjermingsregister-proxy.yml @@ -19,8 +19,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.synthdata-meldekort-proxy.yml b/.github/workflows/proxy.synthdata-meldekort-proxy.yml index ef36d482a0e..d4c0203c9b9 100644 --- a/.github/workflows/proxy.synthdata-meldekort-proxy.yml +++ b/.github/workflows/proxy.synthdata-meldekort-proxy.yml @@ -19,8 +19,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.tps-forvalteren-proxy.yml b/.github/workflows/proxy.tps-forvalteren-proxy.yml index 7a81ab1a699..4622be4ffa0 100644 --- a/.github/workflows/proxy.tps-forvalteren-proxy.yml +++ b/.github/workflows/proxy.tps-forvalteren-proxy.yml @@ -18,8 +18,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/proxy.udistub-proxy.yml b/.github/workflows/proxy.udistub-proxy.yml index 9784f847502..030f7c9c4bd 100644 --- a/.github/workflows/proxy.udistub-proxy.yml +++ b/.github/workflows/proxy.udistub-proxy.yml @@ -20,8 +20,4 @@ jobs: permissions: contents: read id-token: write - secrets: - NAIS_DOLLY_DEPLOY_API_KEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} - NAIS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + secrets: inherit diff --git a/.github/workflows/redis-dev.yml b/.github/workflows/redis-dev.yml index ba969b5608a..8d81f66df80 100644 --- a/.github/workflows/redis-dev.yml +++ b/.github/workflows/redis-dev.yml @@ -10,10 +10,12 @@ jobs: deploy-redis: name: Deploy redis runs-on: ubuntu-latest + permissions: + contents: read + id-token: write steps: - - uses: actions/checkout@v3 - - uses: nais/deploy/actions/deploy@v1 + - uses: actions/checkout@v4 + - uses: nais/deploy/actions/deploy@v2 env: - APIKEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} CLUSTER: dev-gcp RESOURCE: .nais/redis-dev.yml \ No newline at end of file diff --git a/.github/workflows/redis.yml b/.github/workflows/redis.yml index 20918085bd6..9b5521f36dd 100644 --- a/.github/workflows/redis.yml +++ b/.github/workflows/redis.yml @@ -12,10 +12,12 @@ jobs: deploy-redis: name: Deploy redis runs-on: ubuntu-latest + permissions: + contents: read + id-token: write steps: - - uses: actions/checkout@v3 - - uses: nais/deploy/actions/deploy@v1 + - uses: actions/checkout@v4 + - uses: nais/deploy/actions/deploy@v2 env: - APIKEY: ${{ secrets.NAIS_DOLLY_DEPLOY_API_KEY }} CLUSTER: dev-gcp RESOURCE: .nais/redis.yml \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a10faee9a95..98810bf15c3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,11 +16,11 @@ jobs: runs-on: ubuntu-latest steps: - name: "Checkout" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Fetch git history" run: git fetch --unshallow - name: "Java" - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: 21 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0fb86632182..0a27c9e4c1e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -24,5 +24,4 @@ jobs: with: working-directory: 'apps/person-organisasjon-tilgang-service/' healthcheck: 'http://localhost:8001/internal/isAlive' - secrets: - NAV_TOKEN: ${{ secrets.NAV_TOKEN }} \ No newline at end of file + secrets: inherit \ No newline at end of file From fffbf7a044af3e77336452821cc546691e3e2260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristen=20H=C3=A6rum?= Date: Thu, 8 Feb 2024 13:51:14 +0100 Subject: [PATCH 2/5] =?UTF-8?q?Oppdatert=20mapping=20av=20localdate=20->?= =?UTF-8?q?=20localdatetime=20#deploy-test-dolly-ba=E2=80=A6=20(#3410)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Oppdatert mapping LocalDate -> LocalDateTime + Oppdatert XML-konvertering --- .../InntektsmeldingMappingStrategy.java | 104 ++++++++- .../RsInntektsmelding.java | 155 +++++++++----- .../InntektsmeldingMappingStrategyTest.java | 199 ++++++++++++++++++ .../util/XmlConverter.java | 7 + .../util/XmlInntektsmelding201809.java | 20 +- .../util/XmlInntektsmelding201812.java | 20 +- .../InntektsmeldingApplicationStarter.java | 2 +- .../v1/RsInntektsmeldingRequest.java | 4 +- .../v1/rs/RsArbeidsforhold.java | 4 +- .../v1/rs/RsDelvisFravaer.java | 8 +- .../v1/rs/RsEndringIRefusjon.java | 4 +- .../v1/rs/RsGraderingIForeldrepenger.java | 4 + .../v1/rs/RsInntektsmelding.java | 4 +- .../v1/rs/RsNaturalytelseDetaljer.java | 6 +- .../v1/rs/RsPeriode.java | 10 +- .../v1/rs/RsRefusjon.java | 4 +- .../v1/rs/RsUtsettelseAvForeldrepenger.java | 4 + 17 files changed, 460 insertions(+), 99 deletions(-) create mode 100644 apps/dolly-backend/src/test/java/no/nav/dolly/bestilling/inntektsmelding/mapper/InntektsmeldingMappingStrategyTest.java diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/mapper/InntektsmeldingMappingStrategy.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/mapper/InntektsmeldingMappingStrategy.java index de3fd9f129c..dd7ceac5fe8 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/mapper/InntektsmeldingMappingStrategy.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/mapper/InntektsmeldingMappingStrategy.java @@ -8,11 +8,18 @@ import no.nav.testnav.libs.dto.dokarkiv.v1.RsJoarkMetadata; import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.RsInntektsmeldingRequest; import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.enums.AarsakInnsendingKodeListe; +import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsArbeidsforhold; import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsAvsendersystem; +import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsDelvisFravaer; +import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsEndringIRefusjon; import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsKontaktinformasjon; +import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsNaturalytelseDetaljer; +import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsPeriode; +import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsRefusjon; import no.nav.testnav.libs.dto.inntektsmeldingservice.v1.requests.InntektsmeldingRequest; import org.springframework.stereotype.Component; +import java.time.LocalDate; import java.time.LocalDateTime; import static java.util.Objects.isNull; @@ -40,14 +47,15 @@ public void register(MapperFactory factory) { public void mapAtoB(RsInntektsmelding rsInntektsmelding, InntektsmeldingRequest inntektsmelding, MappingContext context) { - if (isNull(rsInntektsmelding.getJoarkMetadata())) { + if (isNull(inntektsmelding.getJoarkMetadata())) { inntektsmelding.setJoarkMetadata(new RsJoarkMetadata()); } + inntektsmelding.getJoarkMetadata().setAvsenderMottakerIdType( - (!inntektsmelding.getInntekter().isEmpty() && - nonNull(inntektsmelding.getInntekter().getFirst().getArbeidsgiver()) ? - Avsendertype.ORGNR : Avsendertype.FNR).name() - ); + (!rsInntektsmelding.getInntekter().isEmpty() && + nonNull(rsInntektsmelding.getInntekter().getFirst().getArbeidsgiver()) ? + Avsendertype.ORGNR : Avsendertype.FNR).name()); + inntektsmelding.setArbeidstakerFnr((String) context.getProperty("ident")); } }) @@ -80,9 +88,95 @@ public void mapAtoB(RsInntektsmelding.Inntektsmelding rsInntektsmelding, } inntektsmelding.getAvsendersystem().setSystemnavn("Dolly"); inntektsmelding.getAvsendersystem().setSystemversjon("2.0"); + + inntektsmelding.setStartdatoForeldrepengeperiode(toLocalDateTime(rsInntektsmelding.getStartdatoForeldrepengeperiode())); + } + }) + + .exclude("startdatoForeldrepengeperiode") + .byDefault() + .register(); + + factory.classMap(RsInntektsmelding.RsArbeidsforhold.class, RsArbeidsforhold.class) + .customize(new CustomMapper<>() { + @Override + public void mapAtoB(RsInntektsmelding.RsArbeidsforhold rsArbeidsforhold, + RsArbeidsforhold arbeidsforhold, MappingContext context) { + + arbeidsforhold.setFoersteFravaersdag(toLocalDateTime(rsArbeidsforhold.getFoersteFravaersdag())); + } + }) + .exclude("foersteFravaersdag") + .byDefault() + .register(); + + factory.classMap(RsInntektsmelding.RsDelvisFravaer.class, RsDelvisFravaer.class) + .customize(new CustomMapper<>() { + @Override + public void mapAtoB(RsInntektsmelding.RsDelvisFravaer rsDelvisFravaer, + RsDelvisFravaer delvisFravaer, MappingContext context) { + + delvisFravaer.setDato(toLocalDateTime(rsDelvisFravaer.getDato())); + } + }) + .exclude("dato") + .byDefault() + .register(); + + factory.classMap(RsInntektsmelding.RsNaturalYtelseDetaljer.class, RsNaturalytelseDetaljer.class) + .customize(new CustomMapper<>() { + @Override + public void mapAtoB(RsInntektsmelding.RsNaturalYtelseDetaljer rsNaturalYtelseDetaljer, + RsNaturalytelseDetaljer naturalytelseDetaljer, MappingContext context) { + + naturalytelseDetaljer.setFom(toLocalDateTime(rsNaturalYtelseDetaljer.getFom())); + } + }) + .exclude("fom") + .byDefault() + .register(); + + factory.classMap(RsInntektsmelding.RsRefusjon.class, RsRefusjon.class) + .customize(new CustomMapper<>() { + @Override + public void mapAtoB(RsInntektsmelding.RsRefusjon rsRefusjon, + RsRefusjon refusjon, MappingContext context) { + + refusjon.setRefusjonsopphoersdato(toLocalDateTime(rsRefusjon.getRefusjonsopphoersdato())); } }) + .exclude("refusjonsopphoersdato") .byDefault() .register(); + + factory.classMap(RsInntektsmelding.RsEndringIRefusjon.class, RsEndringIRefusjon.class) + .customize(new CustomMapper<>() { + @Override + public void mapAtoB(RsInntektsmelding.RsEndringIRefusjon rsRefusjon, + RsEndringIRefusjon refusjon, MappingContext context) { + + refusjon.setEndringsdato(toLocalDateTime(rsRefusjon.getEndringsdato())); + } + }) + .exclude("endringsdato") + .byDefault() + .register(); + + factory.classMap(RsInntektsmelding.RsPeriode.class, RsPeriode.class) + .customize(new CustomMapper<>() { + @Override + public void mapAtoB(RsInntektsmelding.RsPeriode rsPeriode, + RsPeriode periode, MappingContext context) { + + periode.setFom(toLocalDateTime(rsPeriode.getFom())); + periode.setTom(toLocalDateTime(rsPeriode.getTom())); + } + }) + .register(); + } + + private static LocalDateTime toLocalDateTime(LocalDate localDate) { + + return nonNull(localDate) ? localDate.atStartOfDay() : null; } } \ No newline at end of file diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/inntektsmeldingstub/RsInntektsmelding.java b/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/inntektsmeldingstub/RsInntektsmelding.java index 7f1b84503d7..52cb563c079 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/inntektsmeldingstub/RsInntektsmelding.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/inntektsmeldingstub/RsInntektsmelding.java @@ -1,33 +1,41 @@ package no.nav.dolly.domain.resultset.inntektsmeldingstub; -import com.fasterxml.jackson.annotation.JsonInclude; import lombok.AllArgsConstructor; -import lombok.Getter; +import lombok.Builder; +import lombok.Data; 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.LocalDate; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; -@Getter -@Setter +import static java.util.Objects.isNull; + +@Data +@Builder @NoArgsConstructor @AllArgsConstructor -@JsonInclude(JsonInclude.Include.NON_NULL) public class RsInntektsmelding { private List inntekter; private JoarkMetadata joarkMetadata; - @Getter - @Setter + public List getInntekter() { + + if (isNull(inntekter)) { + inntekter = new ArrayList<>(); + } + return inntekter; + } + + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class JoarkMetadata { private String avsenderMottakerIdType; @@ -45,11 +53,10 @@ public static class JoarkMetadata { private String variantformatOriginal; } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class Inntektsmelding { private AarsakTilInnsendingType aarsakTilInnsending; @@ -67,25 +74,32 @@ public static class Inntektsmelding { private LocalDate startdatoForeldrepengeperiode; private RsSykepengerIArbeidsgiverperioden sykepengerIArbeidsgiverperioden; private YtelseType ytelse; + + public List getPleiepengerPerioder() { + + if (isNull(pleiepengerPerioder)) { + pleiepengerPerioder = new ArrayList<>(); + } + return pleiepengerPerioder; + } } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsSykepengerIArbeidsgiverperioden { private List arbeidsgiverperiodeListe; private BegrunnelseForReduksjonEllerIkkeUtbetaltType begrunnelseForReduksjonEllerIkkeUtbetalt; private Double bruttoUtbetalt; + } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsRefusjon { private List endringIRefusjonListe; @@ -94,11 +108,10 @@ public static class RsRefusjon { private LocalDate refusjonsopphoersdato; } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsEndringIRefusjon { @Field(type = FieldType.Date, format = DateFormat.basic_date, pattern = "uuuu-MM-dd") @@ -106,11 +119,10 @@ public static class RsEndringIRefusjon { private Double refusjonsbeloepPrMnd; } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsNaturalYtelseDetaljer { private Double beloepPrMnd; @@ -119,23 +131,37 @@ public static class RsNaturalYtelseDetaljer { private NaturalytelseType naturalytelseType; } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsOmsorgspenger { private List delvisFravaersListe; private List fravaersPerioder; private Boolean harUtbetaltPliktigeDager; + + public List getDelvisFravaersListe() { + + if (isNull(delvisFravaersListe)) { + delvisFravaersListe = new ArrayList<>(); + } + return delvisFravaersListe; + } + + public List getFravaersPerioder() { + + if (isNull(fravaersPerioder)) { + fravaersPerioder = new ArrayList<>(); + } + return fravaersPerioder; + } } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsDelvisFravaer { @Field(type = FieldType.Date, format = DateFormat.basic_date, pattern = "uuuu-MM-dd") @@ -143,11 +169,10 @@ public static class RsDelvisFravaer { private Double timer; } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsAvsendersystem { @Field(type = FieldType.Date, format = DateFormat.date_hour_minute_second, pattern = "uuuu-MM-dd'T'HH:mm:ss") @@ -156,44 +181,40 @@ public static class RsAvsendersystem { private String systemversjon; } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsArbeidsgiver { private RsKontaktinformasjon kontaktinformasjon; private String virksomhetsnummer; } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsArbeidsgiverPrivat { private RsKontaktinformasjon kontaktinformasjon; private String arbeidsgiverFnr; } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsKontaktinformasjon { private String kontaktinformasjonNavn; private String telefonnummer; } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsArbeidsforhold { private String arbeidsforholdId; @@ -203,45 +224,65 @@ public static class RsArbeidsforhold { private LocalDate foersteFravaersdag; private List graderingIForeldrepengerListe; private List utsettelseAvForeldrepengerListe; + + public List getAvtaltFerieListe() { + + if (isNull(avtaltFerieListe)) { + avtaltFerieListe = new ArrayList<>(); + } + return avtaltFerieListe; + } + + public List getGraderingIForeldrepengerListe() { + + if (isNull(graderingIForeldrepengerListe)) { + graderingIForeldrepengerListe = new ArrayList<>(); + } + return graderingIForeldrepengerListe; + } + + public List getUtsettelseAvForeldrepengerListe() { + + if (isNull(utsettelseAvForeldrepengerListe)) { + utsettelseAvForeldrepengerListe = new ArrayList<>(); + } + return utsettelseAvForeldrepengerListe; + } } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsUtsettelseAvForeldrepenger { private AarsakTilUtsettelseType aarsakTilUtsettelse; private RsPeriode periode; } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsGraderingIForeldrepenger { private Integer arbeidstidprosent; private RsPeriode periode; } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsAltinnInntekt { private AarsakVedEndringType aarsakVedEndring; private Double beloep; } - @Getter - @Setter + @Data + @Builder @NoArgsConstructor @AllArgsConstructor - @JsonInclude(JsonInclude.Include.NON_NULL) public static class RsPeriode { @Field(type = FieldType.Date, format = DateFormat.basic_date, pattern = "uuuu-MM-dd") diff --git a/apps/dolly-backend/src/test/java/no/nav/dolly/bestilling/inntektsmelding/mapper/InntektsmeldingMappingStrategyTest.java b/apps/dolly-backend/src/test/java/no/nav/dolly/bestilling/inntektsmelding/mapper/InntektsmeldingMappingStrategyTest.java new file mode 100644 index 00000000000..c168d7524de --- /dev/null +++ b/apps/dolly-backend/src/test/java/no/nav/dolly/bestilling/inntektsmelding/mapper/InntektsmeldingMappingStrategyTest.java @@ -0,0 +1,199 @@ +package no.nav.dolly.bestilling.inntektsmelding.mapper; + +import ma.glasnost.orika.MapperFacade; +import no.nav.dolly.domain.resultset.inntektsmeldingstub.AarsakTilInnsendingType; +import no.nav.dolly.domain.resultset.inntektsmeldingstub.AarsakTilUtsettelseType; +import no.nav.dolly.domain.resultset.inntektsmeldingstub.AarsakVedEndringType; +import no.nav.dolly.domain.resultset.inntektsmeldingstub.BegrunnelseForReduksjonEllerIkkeUtbetaltType; +import no.nav.dolly.domain.resultset.inntektsmeldingstub.NaturalytelseType; +import no.nav.dolly.domain.resultset.inntektsmeldingstub.RsInntektsmelding; +import no.nav.dolly.domain.resultset.inntektsmeldingstub.YtelseType; +import no.nav.dolly.mapper.MappingContextUtils; +import no.nav.dolly.mapper.strategy.LocalDateCustomMapping; +import no.nav.dolly.mapper.utils.MapperTestUtils; +import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.enums.AarsakInnsendingKodeListe; +import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.enums.YtelseKodeListe; +import no.nav.testnav.libs.dto.inntektsmeldingservice.v1.requests.InntektsmeldingRequest; +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.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.is; + + +@ExtendWith(MockitoExtension.class) +public class InntektsmeldingMappingStrategyTest { + + private static final LocalDate START_DATO = LocalDate.of(2020, 1, 1); + private static final LocalDate SLUTT_DATO = LocalDate.of(2023, 12, 31); + private static final LocalDateTime INNSENDING_TIDSPUNKT = LocalDateTime.of(2024, 2, 8, 9, 48); + + private static final String DUMMY = "dummy"; + + private MapperFacade mapperFacade; + + @BeforeEach + void setup() { + mapperFacade = MapperTestUtils.createMapperFacadeForMappingStrategy(new LocalDateCustomMapping(), new InntektsmeldingMappingStrategy()); + } + + @Test + void mapJoarkdataAllefelter() { + + var target = mapperFacade.map(populateRsInntektsmelding(), InntektsmeldingRequest.class); + assertThat(target.getJoarkMetadata().getJournalpostType(), is(equalTo(DUMMY))); + assertThat(target.getJoarkMetadata().getAvsenderMottakerIdType(), is(equalTo("ORGNR"))); + assertThat(target.getJoarkMetadata().getBrukerIdType(), is(equalTo(DUMMY))); + assertThat(target.getJoarkMetadata().getTema(), is(equalTo(DUMMY))); + assertThat(target.getJoarkMetadata().getTittel(), is(equalTo(DUMMY))); + assertThat(target.getJoarkMetadata().getKanal(), is(equalTo(DUMMY))); + assertThat(target.getJoarkMetadata().getEksternReferanseId(), is(equalTo(DUMMY))); + assertThat(target.getJoarkMetadata().getFiltypeOriginal(), is(equalTo(DUMMY))); + assertThat(target.getJoarkMetadata().getFiltypeArkiv(), is(equalTo(DUMMY))); + assertThat(target.getJoarkMetadata().getVariantformatOriginal(), is(equalTo(DUMMY))); + assertThat(target.getJoarkMetadata().getVariantformatArkiv(), is(equalTo(DUMMY))); + assertThat(target.getJoarkMetadata().getBrevkode(), is(equalTo(DUMMY))); + assertThat(target.getJoarkMetadata().getBrevkategori(), is(equalTo(DUMMY))); + } + + @Test + void mapJoarkdataEmptyyMedIdent() { + + var context = MappingContextUtils.getMappingContext(); + context.setProperty("ident", "123"); + + var kilde = populateRsInntektsmelding(); + kilde.setJoarkMetadata(null); + + var target = mapperFacade.map(new RsInntektsmelding(), InntektsmeldingRequest.class, context); + assertThat(target.getArbeidstakerFnr(), is(equalTo("123"))); + assertThat(target.getJoarkMetadata().getAvsenderMottakerIdType(), is(equalTo("FNR"))); + } + + @Test + void mapInntektsmeldingSjekkeEnumFelter() { + + var target = mapperFacade.map(populateRsInntektsmelding(), InntektsmeldingRequest.class).getInntekter().getFirst(); + assertThat(target.getAarsakTilInnsending(), is(equalTo(AarsakInnsendingKodeListe.NY))); + assertThat(target.getArbeidsforhold().getBeregnetInntekt().getAarsakVedEndring(), is(equalTo("TARIFFENDRING"))); + assertThat(target.getArbeidsforhold().getUtsettelseAvForeldrepengerListe().getFirst().getAarsakTilUtsettelse(), is(equalTo("LOVBESTEMT_FERIE"))); + assertThat(target.getSykepengerIArbeidsgiverperioden().getBegrunnelseForReduksjonEllerIkkeUtbetalt(), is(equalTo("BETVILER_ARBEIDSUFOERHET"))); + assertThat(target.getYtelse(), is(equalTo(YtelseKodeListe.OPPLAERINGSPENGER))); + assertThat(target.getOpphoerAvNaturalytelseListe().getFirst().getNaturalytelseType(), is(equalTo("BEDRIFTSBARNEHAGEPLASS"))); + assertThat(target.getGjenopptakelseNaturalytelseListe().getFirst().getNaturalytelseType(), is(equalTo("BEDRIFTSBARNEHAGEPLASS"))); + } + + + private RsInntektsmelding populateRsInntektsmelding() { + + return RsInntektsmelding.builder() + .joarkMetadata(RsInntektsmelding.JoarkMetadata.builder() + .avsenderMottakerIdType(DUMMY) + .brevkategori(DUMMY) + .brevkode(DUMMY) + .brukerIdType(DUMMY) + .eksternReferanseId(DUMMY) + .filtypeArkiv(DUMMY) + .filtypeOriginal(DUMMY) + .journalpostType(DUMMY) + .kanal(DUMMY) + .tema(DUMMY) + .tittel(DUMMY) + .variantformatArkiv(DUMMY) + .variantformatOriginal(DUMMY) + .build()) + .inntekter(List.of(RsInntektsmelding.Inntektsmelding.builder() + .aarsakTilInnsending(AarsakTilInnsendingType.NY) + .arbeidsforhold(RsInntektsmelding.RsArbeidsforhold.builder() + .arbeidsforholdId("1") + .avtaltFerieListe(List.of(getPeriode())) + .beregnetInntekt(RsInntektsmelding.RsAltinnInntekt.builder() + .aarsakVedEndring(AarsakVedEndringType.TARIFFENDRING) + .beloep(1.0) + .build()) + .foersteFravaersdag(START_DATO) + .graderingIForeldrepengerListe(List.of(RsInntektsmelding.RsGraderingIForeldrepenger.builder() + .arbeidstidprosent(100) + .periode(getPeriode()) + .build())) + .utsettelseAvForeldrepengerListe(List.of(RsInntektsmelding.RsUtsettelseAvForeldrepenger.builder() + .aarsakTilUtsettelse(AarsakTilUtsettelseType.LOVBESTEMT_FERIE) + .periode(getPeriode()) + .build())) + .build()) + .arbeidsgiver(RsInntektsmelding.RsArbeidsgiver.builder() + .kontaktinformasjon(getKontaktinformasjon()) + .virksomhetsnummer(DUMMY) + .build()) + .arbeidsgiverPrivat(RsInntektsmelding.RsArbeidsgiverPrivat.builder() + .kontaktinformasjon(getKontaktinformasjon()) + .arbeidsgiverFnr(DUMMY) + .build()) + .avsendersystem(RsInntektsmelding.RsAvsendersystem.builder() + .innsendingstidspunkt(INNSENDING_TIDSPUNKT) + .systemnavn(DUMMY) + .systemversjon("1") + .build()) + .gjenopptakelseNaturalytelseListe(List.of(getNaturalYtelser())) + .naerRelasjon(true) + .omsorgspenger(RsInntektsmelding.RsOmsorgspenger.builder() + .delvisFravaersListe(List.of(RsInntektsmelding.RsDelvisFravaer.builder() + .dato(START_DATO) + .timer(100.0) + .build())) + .fravaersPerioder(List.of(getPeriode())) + .harUtbetaltPliktigeDager(true) + .build()) + .opphoerAvNaturalytelseListe(List.of(getNaturalYtelser())) + .pleiepengerPerioder(List.of(getPeriode())) + .refusjon(RsInntektsmelding.RsRefusjon.builder() + .endringIRefusjonListe(List.of(RsInntektsmelding.RsEndringIRefusjon.builder() + .endringsdato(START_DATO) + .refusjonsbeloepPrMnd(1000.0) + .build())) + .refusjonsbeloepPrMnd(500.0) + .refusjonsopphoersdato(SLUTT_DATO) + .build()) + .startdatoForeldrepengeperiode(START_DATO) + .sykepengerIArbeidsgiverperioden(RsInntektsmelding.RsSykepengerIArbeidsgiverperioden.builder() + .arbeidsgiverperiodeListe(List.of(getPeriode())) + .bruttoUtbetalt(100.0) + .begrunnelseForReduksjonEllerIkkeUtbetalt(BegrunnelseForReduksjonEllerIkkeUtbetaltType.BETVILER_ARBEIDSUFOERHET) + .build()) + .ytelse(YtelseType.OPPLAERINGSPENGER) + .build())) + .build(); + } + + private static RsInntektsmelding.RsPeriode getPeriode() { + + return RsInntektsmelding.RsPeriode.builder() + .fom(START_DATO) + .tom(SLUTT_DATO) + .build(); + } + + private static RsInntektsmelding.RsKontaktinformasjon getKontaktinformasjon() { + + return RsInntektsmelding.RsKontaktinformasjon.builder() + .kontaktinformasjonNavn(DUMMY) + .telefonnummer(DUMMY) + .build(); + } + + private static RsInntektsmelding.RsNaturalYtelseDetaljer getNaturalYtelser() { + + return RsInntektsmelding.RsNaturalYtelseDetaljer.builder() + .beloepPrMnd(1000.0) + .naturalytelseType(NaturalytelseType.BEDRIFTSBARNEHAGEPLASS) + .fom(START_DATO) + .build(); + } +} diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/util/XmlConverter.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/util/XmlConverter.java index da1e0c21542..ea46753e7b0 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/util/XmlConverter.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/util/XmlConverter.java @@ -13,6 +13,8 @@ import java.io.StringWriter; import java.math.BigDecimal; import java.math.BigInteger; +import java.time.LocalDate; +import java.time.LocalDateTime; import static java.util.Objects.nonNull; @@ -82,4 +84,9 @@ public static String toCamelCase(String value) { return nonNull(value) ? CaseUtils.toCamelCase(value, true, '_') : null; } + + public static LocalDate toLocalDate(LocalDateTime localDateTime) { + + return nonNull(localDateTime) ? localDateTime.toLocalDate() : null; + } } diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/util/XmlInntektsmelding201809.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/util/XmlInntektsmelding201809.java index 1bf55d14da7..98dc208fd0e 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/util/XmlInntektsmelding201809.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/util/XmlInntektsmelding201809.java @@ -56,6 +56,7 @@ import static java.util.Objects.isNull; import static no.nav.registre.inntektsmeldinggeneratorservice.util.XmlConverter.toBigDecimal; import static no.nav.registre.inntektsmeldinggeneratorservice.util.XmlConverter.toBigInteger; +import static no.nav.registre.inntektsmeldinggeneratorservice.util.XmlConverter.toLocalDate; public class XmlInntektsmelding201809 { @@ -81,7 +82,7 @@ public static XMLInntektsmeldingM createInntektsmelding(RsInntektsmelding meldin XMLSykepengerIArbeidsgiverperioden.class, createSykepengerIArbeidsgiverperioden(melding.getSykepengerIArbeidsgiverperioden())), new JAXBElement<>(new QName(NAMESPACE_URI, "startdatoForeldrepengerperiode"), - LocalDate.class, melding.getStartdatoForeldrepengeperiode()), + LocalDate.class, toLocalDate(melding.getStartdatoForeldrepengeperiode())), new JAXBElement<>(new QName(NAMESPACE_URI, "opphoerAvNaturalyrelseListe"), XMLOpphoerAvNaturalytelseListe.class, createOpphoerAvNaturalytelseListe(melding.getOpphoerAvNaturalytelseListe())), @@ -132,7 +133,7 @@ private static XMLDelvisFravaersListe createDelvisFravaerListe(List(new QName(NAMESPACE_URI, "dato"), LocalDate.class, delvisFravaer.getDato()), + new JAXBElement<>(new QName(NAMESPACE_URI, "dato"), LocalDate.class, toLocalDate(delvisFravaer.getDato())), new JAXBElement<>(new QName(NAMESPACE_URI, "timer"), BigDecimal.class, toBigDecimal(delvisFravaer.getTimer())) ); } @@ -178,8 +179,8 @@ private static XMLOpphoerAvNaturalytelseListe createOpphoerAvNaturalytelseListe( private static XMLNaturalytelseDetaljer createNaturalytelse(RsNaturalytelseDetaljer detaljer) { return new XMLNaturalytelseDetaljer( - new JAXBElement<>(new QName(NAMESPACE_URI, "naturalytelseType"), String.class, detaljer.getNaturaytelseType()), - new JAXBElement<>(new QName(NAMESPACE_URI, "fom"), LocalDate.class, detaljer.getFom()), + new JAXBElement<>(new QName(NAMESPACE_URI, "naturalytelseType"), String.class, detaljer.getNaturalytelseType()), + new JAXBElement<>(new QName(NAMESPACE_URI, "fom"), LocalDate.class, toLocalDate(detaljer.getFom())), new JAXBElement<>(new QName(NAMESPACE_URI, "beloepPrMnd"), BigDecimal.class, toBigDecimal(detaljer.getBeloepPrMnd()))); } @@ -219,7 +220,8 @@ private static XMLRefusjon createRefusjon(RsRefusjon refusjon) { return new XMLRefusjon( new JAXBElement<>(new QName(NAMESPACE_URI, "refusjonsbeloepPrMnd"), BigDecimal.class, toBigDecimal(refusjon.getRefusjonsbeloepPrMnd())), - new JAXBElement<>(new QName(NAMESPACE_URI, "refusjonsopphoersdato"), LocalDate.class, refusjon.getRefusjonsopphoersdato()), + new JAXBElement<>(new QName(NAMESPACE_URI, "refusjonsopphoersdato"), LocalDate.class, + toLocalDate(refusjon.getRefusjonsopphoersdato())), new JAXBElement<>( new QName(NAMESPACE_URI, "endringIRefusjonListe"), XMLEndringIRefusjonsListe.class, @@ -241,7 +243,7 @@ private static XMLEndringIRefusjon createEndringIRefusjon(RsEndringIRefusjon end } return new XMLEndringIRefusjon( - new JAXBElement<>(new QName(NAMESPACE_URI, "endringsdato"), LocalDate.class, endring.getEndringsdato()), + new JAXBElement<>(new QName(NAMESPACE_URI, "endringsdato"), LocalDate.class, toLocalDate(endring.getEndringsdato())), new JAXBElement<>(new QName(NAMESPACE_URI, "refusjonsbeloepPrMnd"), BigDecimal.class, toBigDecimal(endring.getRefusjonsbeloepPrMnd())) ); } @@ -250,7 +252,7 @@ private static XMLArbeidsforhold createArbeidsforhold(RsArbeidsforhold arbeidsfo return new XMLArbeidsforhold( new JAXBElement<>(new QName(NAMESPACE_URI, "arbeidsforholdId"), String.class, arbeidsforhold.getArbeidsforholdId()), - new JAXBElement<>(new QName(NAMESPACE_URI, "foersteFravaersdag"), LocalDate.class, arbeidsforhold.getFoersteFravaersdag()), + new JAXBElement<>(new QName(NAMESPACE_URI, "foersteFravaersdag"), LocalDate.class, toLocalDate(arbeidsforhold.getFoersteFravaersdag())), new JAXBElement<>(new QName(NAMESPACE_URI, "beregnetInntekt"), XMLInntekt.class, createInntekt(arbeidsforhold.getBeregnetInntekt())), new JAXBElement<>(new QName(NAMESPACE_URI, "avtaltFerieListe"), XMLAvtaltFerieListe.class, createAvtaltFerieListe(arbeidsforhold.getAvtaltFerieListe())), new JAXBElement<>( @@ -305,8 +307,8 @@ private static XMLPeriode createPeriode(RsPeriode periode) { return null; } return new XMLPeriode( - new JAXBElement<>(new QName(NAMESPACE_URI, "fom"), LocalDate.class, periode.getFom()), - new JAXBElement<>(new QName(NAMESPACE_URI, "tom"), LocalDate.class, periode.getTom()) + new JAXBElement<>(new QName(NAMESPACE_URI, "fom"), LocalDate.class, toLocalDate(periode.getFom())), + new JAXBElement<>(new QName(NAMESPACE_URI, "tom"), LocalDate.class, toLocalDate(periode.getTom())) ); } diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/util/XmlInntektsmelding201812.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/util/XmlInntektsmelding201812.java index 5c8c29881e9..cba05b2d20b 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/util/XmlInntektsmelding201812.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/util/XmlInntektsmelding201812.java @@ -56,9 +56,11 @@ import java.util.stream.Collectors; import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; import static no.nav.registre.inntektsmeldinggeneratorservice.util.XmlConverter.toBigDecimal; import static no.nav.registre.inntektsmeldinggeneratorservice.util.XmlConverter.toBigInteger; import static no.nav.registre.inntektsmeldinggeneratorservice.util.XmlConverter.toCamelCase; +import static no.nav.registre.inntektsmeldinggeneratorservice.util.XmlConverter.toLocalDate; @Slf4j public class XmlInntektsmelding201812 { @@ -89,7 +91,7 @@ public static Melding createInntektsmelding(RsInntektsmelding melding) { XMLSykepengerIArbeidsgiverperioden.class, createSykepengerIArbeidsgiverperioden(melding.getSykepengerIArbeidsgiverperioden())), new JAXBElement<>(new QName(NAMESPACE_URI, "startdatoForeldrepengerperiode"), - LocalDate.class, melding.getStartdatoForeldrepengeperiode()), + LocalDate.class, toLocalDate(melding.getStartdatoForeldrepengeperiode())), new JAXBElement<>(new QName(NAMESPACE_URI, "opphoerAvNaturalyrelseListe"), XMLOpphoerAvNaturalytelseListe.class, createOpphoerAvNaturalytelseListe(melding.getOpphoerAvNaturalytelseListe())), @@ -141,7 +143,7 @@ private static XMLDelvisFravaersListe createDelvisFravaerListe(List(new QName(NAMESPACE_URI, "dato"), LocalDate.class, delvisFravaer.getDato()), + new JAXBElement<>(new QName(NAMESPACE_URI, "dato"), LocalDate.class, toLocalDate(delvisFravaer.getDato())), new JAXBElement<>(new QName(NAMESPACE_URI, "timer"), BigDecimal.class, toBigDecimal(delvisFravaer.getTimer())) ); } @@ -185,8 +187,8 @@ private static XMLNaturalytelseDetaljer createNaturalytelse(RsNaturalytelseDetal return new XMLNaturalytelseDetaljer( new JAXBElement<>(new QName(NAMESPACE_URI, "naturalytelseType"), String.class, - toCamelCase(detaljer.getNaturaytelseType())), - new JAXBElement<>(new QName(NAMESPACE_URI, "fom"), LocalDate.class, detaljer.getFom()), + toCamelCase(detaljer.getNaturalytelseType())), + new JAXBElement<>(new QName(NAMESPACE_URI, "fom"), LocalDate.class, toLocalDate(detaljer.getFom())), new JAXBElement<>(new QName(NAMESPACE_URI, "beloepPrMnd"), BigDecimal.class, toBigDecimal(detaljer.getBeloepPrMnd())) ); } @@ -219,7 +221,7 @@ private static XMLRefusjon createRefusjon(RsRefusjon refusjon) { return isNull(refusjon) ? null : new XMLRefusjon( new JAXBElement<>(new QName(NAMESPACE_URI, "refusjonsbeloepPrMnd"), BigDecimal.class, toBigDecimal(refusjon.getRefusjonsbeloepPrMnd())), - new JAXBElement<>(new QName(NAMESPACE_URI, "refusjonsopphoersdato"), LocalDate.class, refusjon.getRefusjonsopphoersdato()), + new JAXBElement<>(new QName(NAMESPACE_URI, "refusjonsopphoersdato"), LocalDate.class, toLocalDate(refusjon.getRefusjonsopphoersdato())), new JAXBElement<>( new QName(NAMESPACE_URI, "endringIRefusjonListe"), XMLEndringIRefusjonsListe.class, @@ -239,7 +241,7 @@ private static XMLEndringIRefusjon createEndringIRefusjon(RsEndringIRefusjon end return isNull(endring) ? null : new XMLEndringIRefusjon( - new JAXBElement<>(new QName(NAMESPACE_URI, "endringsdato"), LocalDate.class, endring.getEndringsdato()), + new JAXBElement<>(new QName(NAMESPACE_URI, "endringsdato"), LocalDate.class, toLocalDate(endring.getEndringsdato())), new JAXBElement<>(new QName(NAMESPACE_URI, "refusjonsbeloepPrMnd"), BigDecimal.class, toBigDecimal(endring.getRefusjonsbeloepPrMnd()))); } @@ -250,7 +252,7 @@ private static XMLArbeidsforhold createArbeidsforhold(RsArbeidsforhold arbeidsfo return new XMLArbeidsforhold( new JAXBElement<>(new QName(NAMESPACE_URI, "arbeidsforholdId"), String.class, toCamelCase(arbeidsforhold.getArbeidsforholdId())), - new JAXBElement<>(new QName(NAMESPACE_URI, "foersteFravaersdag"), LocalDate.class, arbeidsforhold.getFoersteFravaersdag()), + new JAXBElement<>(new QName(NAMESPACE_URI, "foersteFravaersdag"), LocalDate.class, toLocalDate(arbeidsforhold.getFoersteFravaersdag())), new JAXBElement<>(new QName(NAMESPACE_URI, "beregnetInntekt"), XMLInntekt.class, createInntekt(arbeidsforhold.getBeregnetInntekt())), new JAXBElement<>(new QName(NAMESPACE_URI, "avtaltFerieListe"), XMLAvtaltFerieListe.class, createAvtaltFerieListe(arbeidsforhold.getAvtaltFerieListe())), new JAXBElement<>( @@ -314,8 +316,8 @@ private static XMLPeriode createPeriode(RsPeriode periode) { } return new XMLPeriode( - new JAXBElement<>(new QName(NAMESPACE_URI, "fom"), LocalDate.class, periode.getFom()), - new JAXBElement<>(new QName(NAMESPACE_URI, "tom"), LocalDate.class, periode.getTom())); + new JAXBElement<>(new QName(NAMESPACE_URI, "fom"), LocalDate.class, toLocalDate(periode.getFom())), + new JAXBElement<>(new QName(NAMESPACE_URI, "tom"), LocalDate.class, toLocalDate(periode.getTom()))); } private static XMLInntekt createInntekt(RsInntekt inntekt) { diff --git a/apps/inntektsmelding-service/src/main/java/no/nav/registre/testnav/inntektsmeldingservice/InntektsmeldingApplicationStarter.java b/apps/inntektsmelding-service/src/main/java/no/nav/registre/testnav/inntektsmeldingservice/InntektsmeldingApplicationStarter.java index efea22e6623..45b5896d1f5 100644 --- a/apps/inntektsmelding-service/src/main/java/no/nav/registre/testnav/inntektsmeldingservice/InntektsmeldingApplicationStarter.java +++ b/apps/inntektsmelding-service/src/main/java/no/nav/registre/testnav/inntektsmeldingservice/InntektsmeldingApplicationStarter.java @@ -11,4 +11,4 @@ public class InntektsmeldingApplicationStarter { public static void main(String[] args) { SpringApplication.run(InntektsmeldingApplicationStarter.class, args); } -} +} \ No newline at end of file diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/RsInntektsmeldingRequest.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/RsInntektsmeldingRequest.java index 65c8a441eb1..f3f4a2f2cfa 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/RsInntektsmeldingRequest.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/RsInntektsmeldingRequest.java @@ -16,7 +16,7 @@ import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsRefusjon; import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsSykepengerIArbeidsgiverperioden; -import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.Collections; import java.util.List; import java.util.Objects; @@ -48,7 +48,7 @@ public class RsInntektsmeldingRequest { private RsSykepengerIArbeidsgiverperioden sykepengerIArbeidsgiverperioden; - private LocalDate startdatoForeldrepengeperiode; + private LocalDateTime startdatoForeldrepengeperiode; private List opphoerAvNaturalytelseListe; diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsArbeidsforhold.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsArbeidsforhold.java index 645a80c7eca..2e3024a5839 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsArbeidsforhold.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsArbeidsforhold.java @@ -3,7 +3,7 @@ import lombok.Data; import lombok.NoArgsConstructor; -import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.Collections; import java.util.List; import java.util.Objects; @@ -13,7 +13,7 @@ public class RsArbeidsforhold { private String arbeidsforholdId; - private LocalDate foersteFravaersdag; + private LocalDateTime foersteFravaersdag; private RsInntekt beregnetInntekt; private List avtaltFerieListe; private List utsettelseAvForeldrepengerListe; diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsDelvisFravaer.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsDelvisFravaer.java index 972bae42669..1ef341d3f5b 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsDelvisFravaer.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsDelvisFravaer.java @@ -1,14 +1,18 @@ package no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.time.LocalDate; +import java.time.LocalDateTime; @Data +@Builder @NoArgsConstructor +@AllArgsConstructor public class RsDelvisFravaer { - private LocalDate dato; + private LocalDateTime dato; private Double timer; } diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsEndringIRefusjon.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsEndringIRefusjon.java index 44494128e03..974fc65066a 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsEndringIRefusjon.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsEndringIRefusjon.java @@ -4,13 +4,13 @@ import lombok.Data; import lombok.NoArgsConstructor; -import java.time.LocalDate; +import java.time.LocalDateTime; @Data @NoArgsConstructor @AllArgsConstructor public class RsEndringIRefusjon { - private LocalDate endringsdato; + private LocalDateTime endringsdato; private Double refusjonsbeloepPrMnd; } diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsGraderingIForeldrepenger.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsGraderingIForeldrepenger.java index 6e08b95da8f..c93937d3fd6 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsGraderingIForeldrepenger.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsGraderingIForeldrepenger.java @@ -1,10 +1,14 @@ package no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Data +@Builder @NoArgsConstructor +@AllArgsConstructor public class RsGraderingIForeldrepenger { private RsPeriode periode; diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsInntektsmelding.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsInntektsmelding.java index 2793aaaaaf0..f04c319dcf0 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsInntektsmelding.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsInntektsmelding.java @@ -6,7 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; -import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.Collections; import java.util.List; import java.util.Objects; @@ -32,7 +32,7 @@ public class RsInntektsmelding { private RsRefusjon refusjon; private RsOmsorgspenger omsorgspenger; private RsSykepengerIArbeidsgiverperioden sykepengerIArbeidsgiverperioden; - private LocalDate startdatoForeldrepengeperiode; + private LocalDateTime startdatoForeldrepengeperiode; private List opphoerAvNaturalytelseListe; private List gjenopptakelseNaturalytelseListe; private List pleiepengerPerioder; diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsNaturalytelseDetaljer.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsNaturalytelseDetaljer.java index c26537d49a1..aa5c2564510 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsNaturalytelseDetaljer.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsNaturalytelseDetaljer.java @@ -3,13 +3,13 @@ import lombok.Data; import lombok.NoArgsConstructor; -import java.time.LocalDate; +import java.time.LocalDateTime; @Data @NoArgsConstructor public class RsNaturalytelseDetaljer { - private String naturaytelseType; - private LocalDate fom; + private String naturalytelseType; + private LocalDateTime fom; private Double beloepPrMnd; } diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsPeriode.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsPeriode.java index 2db350965d2..a55ec2361eb 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsPeriode.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsPeriode.java @@ -1,14 +1,18 @@ package no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.time.LocalDate; +import java.time.LocalDateTime; @Data +@Builder @NoArgsConstructor +@AllArgsConstructor public class RsPeriode { - private LocalDate fom; - private LocalDate tom; + private LocalDateTime fom; + private LocalDateTime tom; } diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsRefusjon.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsRefusjon.java index 9ebb9cad983..a2d66b83641 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsRefusjon.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsRefusjon.java @@ -3,7 +3,7 @@ import lombok.Data; import lombok.NoArgsConstructor; -import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.Collections; import java.util.List; import java.util.Objects; @@ -13,7 +13,7 @@ public class RsRefusjon { private Double refusjonsbeloepPrMnd; - private LocalDate refusjonsopphoersdato; + private LocalDateTime refusjonsopphoersdato; private List endringIRefusjonListe; public List getEndringIRefusjonListe() { diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsUtsettelseAvForeldrepenger.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsUtsettelseAvForeldrepenger.java index be1d052c1ee..95ca87060b0 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsUtsettelseAvForeldrepenger.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsUtsettelseAvForeldrepenger.java @@ -1,10 +1,14 @@ package no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Data +@Builder @NoArgsConstructor +@AllArgsConstructor public class RsUtsettelseAvForeldrepenger { private RsPeriode periode; From 362fea9969e677ce64d914dbc16240adb49ea882 Mon Sep 17 00:00:00 2001 From: Cato Olsen Date: Thu, 8 Feb 2024 14:12:49 +0100 Subject: [PATCH 3/5] Retter feil i NAIS-manifest som stopper deploy. (#3411) --- apps/sykemelding-api/config.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/sykemelding-api/config.yml b/apps/sykemelding-api/config.yml index eea56030bb8..32325fb4a8c 100644 --- a/apps/sykemelding-api/config.yml +++ b/apps/sykemelding-api/config.yml @@ -70,8 +70,6 @@ spec: external: - host: mqls04.preprod.local ports: - - name: mq - port: 1413 - protocol: TCP + - port: 1413 ingresses: - "https://testnav-sykemelding-api.intern.dev.nav.no" \ No newline at end of file From 9596a50a88bff18ad112e6386ecf7869aeca4b0d Mon Sep 17 00:00:00 2001 From: kristenhaerum Date: Thu, 8 Feb 2024 15:04:21 +0100 Subject: [PATCH 4/5] Lagt til mer logging --- .../v20181211/provider/v2/InntektsmeldingV2Controller.java | 2 +- .../consumer/command/GenererInntektsmeldingCommand.java | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/provider/v2/InntektsmeldingV2Controller.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/provider/v2/InntektsmeldingV2Controller.java index de1ca15add6..ea2e168e5a2 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/provider/v2/InntektsmeldingV2Controller.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/provider/v2/InntektsmeldingV2Controller.java @@ -24,7 +24,7 @@ public class InntektsmeldingV2Controller { @PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_XML_VALUE) public ResponseEntity create(@RequestBody InntektsmeldingDTO inntektsmeldingDTO) { - log.info("Mottok inntektsmeldingDTO: {}", Json.pretty(inntektsmeldingDTO.toMelding())); + log.info("Mottok inntektsmeldingDTO: {}", Json.pretty(inntektsmeldingDTO)); JAXBElement melding = inntektsmeldingDTO.toMelding(); String xml = XmlConverter.toXml(melding, XMLInntektsmeldingM.class); diff --git a/apps/inntektsmelding-service/src/main/java/no/nav/registre/testnav/inntektsmeldingservice/consumer/command/GenererInntektsmeldingCommand.java b/apps/inntektsmelding-service/src/main/java/no/nav/registre/testnav/inntektsmeldingservice/consumer/command/GenererInntektsmeldingCommand.java index 97c16e131f7..18d7874644b 100644 --- a/apps/inntektsmelding-service/src/main/java/no/nav/registre/testnav/inntektsmeldingservice/consumer/command/GenererInntektsmeldingCommand.java +++ b/apps/inntektsmelding-service/src/main/java/no/nav/registre/testnav/inntektsmeldingservice/consumer/command/GenererInntektsmeldingCommand.java @@ -1,10 +1,12 @@ package no.nav.registre.testnav.inntektsmeldingservice.consumer.command; +import io.swagger.v3.oas.annotations.media.Content; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import no.nav.registre.testnav.inntektsmeldingservice.util.WebClientFilter; import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsInntektsmelding; 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; @@ -31,8 +33,9 @@ public Mono call() { .post() .uri("/api/v2/inntektsmelding/2018/12/11") .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) + .contentType(MediaType.APPLICATION_JSON) .acceptCharset(StandardCharsets.UTF_8) - .body(BodyInserters.fromPublisher(Mono.just(dto), RsInntektsmelding.class)) + .bodyValue(dto) .retrieve() .bodyToMono(String.class) .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) From 2de2e1d16ce9b59d5acf84408a512bcc760c7aea Mon Sep 17 00:00:00 2001 From: kristenhaerum Date: Thu, 8 Feb 2024 16:54:25 +0100 Subject: [PATCH 5/5] Improve mapping and logging functionalities --- .../Dockerfile | 2 +- .../build.gradle | 1 + .../mapper/LocalDateCustomMapping.java | 25 +++++++ .../mapper/MapperFacadeConfig.java | 36 +++++++++ .../mapper/MappingContextUtils.java | 73 +++++++++++++++++++ .../mapper/MappingStrategy.java | 19 +++++ .../v20181211/dto/v1/ArbeidsforholdDTO.java | 4 +- .../v20181211/dto/v1/ArbeidsgiverDTO.java | 4 +- .../dto/v1/ArbeidsgiverPrivatDTO.java | 5 +- .../v20181211/dto/v1/AvsendersystemDTO.java | 4 +- .../v20181211/dto/v1/DelvisFravearDTO.java | 4 +- .../v20181211/dto/v1/EndringIRefusjonDTO.java | 4 +- .../dto/v1/GraderingIForeldrepengerDTO.java | 5 +- .../v20181211/dto/v1/InntektDTO.java | 4 +- .../v20181211/dto/v1/InntektsmeldingDTO.java | 4 +- .../dto/v1/KontaktinformasjonDTO.java | 4 +- .../dto/v1/NaturalYtelseDetaljerDTO.java | 4 +- .../v20181211/dto/v1/OmsorgspenegerDTO.java | 5 +- .../v20181211/dto/v1/PeriodeDTO.java | 5 +- .../v20181211/dto/v1/RefusjonDTO.java | 4 +- .../SykepengerIArbeidsgiverperiodenDTO.java | 4 +- .../dto/v1/UtsettelseAvForeldrepengerDTO.java | 4 +- .../v2/InntektsmeldingV2Controller.java | 16 +++- .../src/main/resources/application-prod.yml | 10 +++ .../src/main/resources/application.yml | 4 - .../ApplicationContextTest.java | 4 + 26 files changed, 213 insertions(+), 45 deletions(-) create mode 100644 apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/LocalDateCustomMapping.java create mode 100644 apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/MapperFacadeConfig.java create mode 100644 apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/MappingContextUtils.java create mode 100644 apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/MappingStrategy.java create mode 100644 apps/inntektsmelding-generator-service/src/main/resources/application-prod.yml diff --git a/apps/inntektsmelding-generator-service/Dockerfile b/apps/inntektsmelding-generator-service/Dockerfile index dd8161548f8..72bbb83dea2 100644 --- a/apps/inntektsmelding-generator-service/Dockerfile +++ b/apps/inntektsmelding-generator-service/Dockerfile @@ -1,7 +1,7 @@ FROM ghcr.io/navikt/baseimages/temurin:21 LABEL maintainer="Team Dolly" -ENV JAVA_OPTS="-Dspring.profiles.active=prod" +ENV JAVA_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED -Dspring.profiles.active=prod" ADD /build/libs/app.jar /app/app.jar diff --git a/apps/inntektsmelding-generator-service/build.gradle b/apps/inntektsmelding-generator-service/build.gradle index 1d38132bfbd..618f6feb897 100644 --- a/apps/inntektsmelding-generator-service/build.gradle +++ b/apps/inntektsmelding-generator-service/build.gradle @@ -62,6 +62,7 @@ dependencies { implementation 'javax.activation:activation:1.1.1' implementation 'org.glassfish.jaxb:jaxb-runtime:2.3.8' implementation 'com.sun.xml.bind:jaxb-core:2.3.0.1' + implementation 'ma.glasnost.orika:orika-core:1.5.4' implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml' implementation 'org.apache.commons:commons-text:1.10.0' diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/LocalDateCustomMapping.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/LocalDateCustomMapping.java new file mode 100644 index 00000000000..0961f87743e --- /dev/null +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/LocalDateCustomMapping.java @@ -0,0 +1,25 @@ +package no.nav.registre.inntektsmeldinggeneratorservice.mapper; + +import lombok.extern.slf4j.Slf4j; +import ma.glasnost.orika.MappingContext; +import ma.glasnost.orika.converter.BidirectionalConverter; +import ma.glasnost.orika.metadata.Type; +import org.springframework.stereotype.Component; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Slf4j +@Component +public class LocalDateCustomMapping extends BidirectionalConverter { + + @Override + public LocalDate convertTo(LocalDateTime localDateTime, Type type, MappingContext mappingContext) { + return localDateTime.toLocalDate(); + } + + @Override + public LocalDateTime convertFrom(LocalDate localDate, Type type, MappingContext mappingContext) { + return localDate.atStartOfDay(); + } +} \ No newline at end of file diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/MapperFacadeConfig.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/MapperFacadeConfig.java new file mode 100644 index 00000000000..e319e91403d --- /dev/null +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/MapperFacadeConfig.java @@ -0,0 +1,36 @@ +package no.nav.registre.inntektsmeldinggeneratorservice.mapper; + +import ma.glasnost.orika.CustomConverter; +import ma.glasnost.orika.MapperFacade; +import ma.glasnost.orika.impl.DefaultMapperFactory; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.List; + +import static java.util.Objects.nonNull; + +@Configuration +public class MapperFacadeConfig { + + @Bean + MapperFacade mapperFacade(List mappingStrategies, List customConverters) { + DefaultMapperFactory mapperFactory = new DefaultMapperFactory.Builder().build(); + + if (nonNull(mappingStrategies)) { + for (MappingStrategy mapper : mappingStrategies) { + mapper.register(mapperFactory); + } + } + + if (nonNull(customConverters)) { + for (CustomConverter converter : customConverters) { + mapperFactory.getConverterFactory().registerConverter(converter); + } + } + + return mapperFactory.getMapperFacade(); + + } + +} diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/MappingContextUtils.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/MappingContextUtils.java new file mode 100644 index 00000000000..69ed01b2499 --- /dev/null +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/MappingContextUtils.java @@ -0,0 +1,73 @@ +package no.nav.registre.inntektsmeldinggeneratorservice.mapper; + +import lombok.experimental.UtilityClass; +import ma.glasnost.orika.MappingContext; +import ma.glasnost.orika.MappingContextFactory; +import ma.glasnost.orika.impl.DefaultMapperFactory; + +/** + * The utility class to get {@link MappingContext} configured by Orika + * and ready to be used by {@link ma.glasnost.orika.MapperFacade#map(Object, Class)}. + */ +@UtilityClass +public final class MappingContextUtils { + + private static final MappingContextFactory MAPPING_CONTEXT_FACTORY; + + static { + MAPPING_CONTEXT_FACTORY = new CustomDefaultMapperFactory.Builder().build().getContextFactory(); + } + + /** + * Gets {@link MappingContext} ready to be used by {@link ma.glasnost.orika.MapperFacade#map(Object, Class)}. + * Manual creation of {@link MappingContext} does not work. Please see the link below. + * + * @return {@link MappingContext} + * @see https://github.com/orika-mapper/orika/issues/354 + */ + public static MappingContext getMappingContext() { + return MAPPING_CONTEXT_FACTORY.getContext(); + } + + /** + * The custom {@link DefaultMapperFactory} to expose getter + * for {@link MappingContextFactory} so {@link MappingContext} with prefilled globalProperties can be created. + * + * @author Dmitry Lebedko (dmitry.lebedko@t-systems.com) + */ + private static class CustomDefaultMapperFactory extends DefaultMapperFactory { + + /** + * Constructs a new instance of DefaultMapperFactory + * + * @param builder {@link MapperFactoryBuilder} + */ + protected CustomDefaultMapperFactory(MapperFactoryBuilder builder) { + super(builder); + } + + /** + * Gets {@link MappingContextFactory}. + * + * @return {@link MappingContextFactory} + */ + public MappingContextFactory getContextFactory() { + return contextFactory; + } + + public static class Builder extends DefaultMapperFactory.MapperFactoryBuilder { + + @Override + public CustomDefaultMapperFactory build() { + return new CustomDefaultMapperFactory(this); + } + + @Override + protected Builder self() { + return this; + } + + } + + } +} \ No newline at end of file diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/MappingStrategy.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/MappingStrategy.java new file mode 100644 index 00000000000..c25e31d383b --- /dev/null +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/mapper/MappingStrategy.java @@ -0,0 +1,19 @@ +package no.nav.registre.inntektsmeldinggeneratorservice.mapper; + +import ma.glasnost.orika.MapperFactory; + +@FunctionalInterface +public interface MappingStrategy { + + /** + * A callback for registering criteria on the provided {@link MapperFactory}. + *

+ *

{@code
+     *
+     * @Override public void register(MapperFactory factory) {
+     * factory.registerMapper(arbeidsfordelingToRestArbeidsfordeling());
+     * }
+     * }
+ */ + void register(MapperFactory factory); +} diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/ArbeidsforholdDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/ArbeidsforholdDTO.java index be41d9d4b65..5eaa58cedb0 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/ArbeidsforholdDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/ArbeidsforholdDTO.java @@ -2,8 +2,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLArbeidsforhold; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLAvtaltFerieListe; @@ -14,7 +14,7 @@ import java.time.LocalDate; import java.util.List; -@Value +@Data @NoArgsConstructor(force = true) public class ArbeidsforholdDTO implements ToXmlElement { @JsonProperty diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/ArbeidsgiverDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/ArbeidsgiverDTO.java index 3c63bbcd454..db590f3c38a 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/ArbeidsgiverDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/ArbeidsgiverDTO.java @@ -2,13 +2,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.validation.constraints.Size; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLArbeidsgiver; -@Value +@Data @NoArgsConstructor(force = true) public class ArbeidsgiverDTO implements ToXmlElement { @JsonProperty(required = true) diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/ArbeidsgiverPrivatDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/ArbeidsgiverPrivatDTO.java index c541b11de2b..23f90c5f7df 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/ArbeidsgiverPrivatDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/ArbeidsgiverPrivatDTO.java @@ -2,13 +2,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.validation.constraints.Size; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLArbeidsgiverPrivat; - -@Value +@Data @NoArgsConstructor(force = true) public class ArbeidsgiverPrivatDTO implements ToXmlElement { diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/AvsendersystemDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/AvsendersystemDTO.java index dc513e3bb62..b219ac9ab85 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/AvsendersystemDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/AvsendersystemDTO.java @@ -1,14 +1,14 @@ package no.nav.registre.inntektsmeldinggeneratorservice.v20181211.dto.v1; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLAvsendersystem; import java.time.LocalDateTime; -@Value +@Data @NoArgsConstructor(force = true) public class AvsendersystemDTO implements ToXmlElement { @JsonProperty(required = true) diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/DelvisFravearDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/DelvisFravearDTO.java index edae4a19155..ba7ffe9ef34 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/DelvisFravearDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/DelvisFravearDTO.java @@ -1,8 +1,8 @@ package no.nav.registre.inntektsmeldinggeneratorservice.v20181211.dto.v1; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLDelvisFravaer; @@ -10,7 +10,7 @@ import java.time.LocalDate; import java.util.List; -@Value +@Data @NoArgsConstructor(force = true) public class DelvisFravearDTO implements ToXmlElement { @JsonProperty diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/EndringIRefusjonDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/EndringIRefusjonDTO.java index 6d00a64c683..852b67d177a 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/EndringIRefusjonDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/EndringIRefusjonDTO.java @@ -1,8 +1,8 @@ package no.nav.registre.inntektsmeldinggeneratorservice.v20181211.dto.v1; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLEndringIRefusjon; @@ -10,7 +10,7 @@ import java.time.LocalDate; import java.util.List; -@Value +@Data @NoArgsConstructor(force = true) public class EndringIRefusjonDTO implements ToXmlElement { @JsonProperty diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/GraderingIForeldrepengerDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/GraderingIForeldrepengerDTO.java index 235d635ccda..86c5c285add 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/GraderingIForeldrepengerDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/GraderingIForeldrepengerDTO.java @@ -1,16 +1,15 @@ package no.nav.registre.inntektsmeldinggeneratorservice.v20181211.dto.v1; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLGraderingIForeldrepenger; import java.math.BigInteger; import java.util.List; - -@Value +@Data @NoArgsConstructor(force = true) public class GraderingIForeldrepengerDTO implements ToXmlElement { @JsonProperty diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/InntektDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/InntektDTO.java index 14ee32b7622..65deb1d25b6 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/InntektDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/InntektDTO.java @@ -2,8 +2,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLInntekt; import org.apache.commons.text.CaseUtils; @@ -12,7 +12,7 @@ import static org.apache.commons.lang3.StringUtils.isBlank; -@Value +@Data @NoArgsConstructor(force = true) public class InntektDTO implements ToXmlElement { @JsonProperty diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/InntektsmeldingDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/InntektsmeldingDTO.java index 10994cb9804..e62a04b3a23 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/InntektsmeldingDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/InntektsmeldingDTO.java @@ -1,8 +1,8 @@ package no.nav.registre.inntektsmeldinggeneratorservice.v20181211.dto.v1; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLGjenopptakelseNaturalytelseListe; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLInntektsmeldingM; @@ -17,7 +17,7 @@ import static org.apache.commons.lang3.StringUtils.isBlank; -@Value +@Data @NoArgsConstructor(force = true) public class InntektsmeldingDTO implements ToXmlElement { diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/KontaktinformasjonDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/KontaktinformasjonDTO.java index 330f3e546b4..a3173dc3fa1 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/KontaktinformasjonDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/KontaktinformasjonDTO.java @@ -2,12 +2,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.validation.constraints.Size; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLKontaktinformasjon; -@Value +@Data @NoArgsConstructor(force = true) public class KontaktinformasjonDTO implements ToXmlElement { @JsonProperty(required = true) diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/NaturalYtelseDetaljerDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/NaturalYtelseDetaljerDTO.java index 5f62a3e3698..3c05df84102 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/NaturalYtelseDetaljerDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/NaturalYtelseDetaljerDTO.java @@ -1,8 +1,8 @@ package no.nav.registre.inntektsmeldinggeneratorservice.v20181211.dto.v1; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLNaturalytelseDetaljer; import org.apache.commons.text.CaseUtils; @@ -13,7 +13,7 @@ import static org.apache.commons.lang3.StringUtils.isBlank; -@Value +@Data @NoArgsConstructor(force = true) public class NaturalYtelseDetaljerDTO implements ToXmlElement { diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/OmsorgspenegerDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/OmsorgspenegerDTO.java index 8224c7e2d2e..0f10abfb077 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/OmsorgspenegerDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/OmsorgspenegerDTO.java @@ -1,8 +1,8 @@ package no.nav.registre.inntektsmeldinggeneratorservice.v20181211.dto.v1; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLDelvisFravaersListe; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLFravaersPeriodeListe; @@ -10,8 +10,7 @@ import java.util.List; - -@Value +@Data @NoArgsConstructor(force = true) public class OmsorgspenegerDTO implements ToXmlElement { diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/PeriodeDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/PeriodeDTO.java index 64db65add8e..4574743582a 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/PeriodeDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/PeriodeDTO.java @@ -1,16 +1,15 @@ package no.nav.registre.inntektsmeldinggeneratorservice.v20181211.dto.v1; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLPeriode; import java.time.LocalDate; import java.util.List; - -@Value +@Data @NoArgsConstructor(force = true) public class PeriodeDTO implements ToXmlElement { @JsonProperty diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/RefusjonDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/RefusjonDTO.java index b1306d0841b..c614fb4179b 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/RefusjonDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/RefusjonDTO.java @@ -1,8 +1,8 @@ package no.nav.registre.inntektsmeldinggeneratorservice.v20181211.dto.v1; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLEndringIRefusjonsListe; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLRefusjon; @@ -11,7 +11,7 @@ import java.time.LocalDate; import java.util.List; -@Value +@Data @NoArgsConstructor(force = true) public class RefusjonDTO implements ToXmlElement { diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/SykepengerIArbeidsgiverperiodenDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/SykepengerIArbeidsgiverperiodenDTO.java index 7262e4deee5..975c13021d4 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/SykepengerIArbeidsgiverperiodenDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/SykepengerIArbeidsgiverperiodenDTO.java @@ -1,8 +1,8 @@ package no.nav.registre.inntektsmeldinggeneratorservice.v20181211.dto.v1; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLArbeidsgiverperiodeListe; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLSykepengerIArbeidsgiverperioden; @@ -13,7 +13,7 @@ import static org.apache.commons.lang3.StringUtils.isBlank; -@Value +@Data @NoArgsConstructor(force = true) public class SykepengerIArbeidsgiverperiodenDTO implements ToXmlElement { @JsonProperty diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/UtsettelseAvForeldrepengerDTO.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/UtsettelseAvForeldrepengerDTO.java index 8b8090e2b7a..e4e329641e0 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/UtsettelseAvForeldrepengerDTO.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/dto/v1/UtsettelseAvForeldrepengerDTO.java @@ -2,14 +2,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import lombok.NoArgsConstructor; -import lombok.Value; import no.seres.xsd.nav.inntektsmelding_m._20181211.ObjectFactory; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLUtsettelseAvForeldrepenger; import java.util.List; -@Value +@Data @NoArgsConstructor(force = true) public class UtsettelseAvForeldrepengerDTO implements ToXmlElement { diff --git a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/provider/v2/InntektsmeldingV2Controller.java b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/provider/v2/InntektsmeldingV2Controller.java index ea2e168e5a2..dba42562271 100644 --- a/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/provider/v2/InntektsmeldingV2Controller.java +++ b/apps/inntektsmelding-generator-service/src/main/java/no/nav/registre/inntektsmeldinggeneratorservice/v20181211/provider/v2/InntektsmeldingV2Controller.java @@ -3,8 +3,10 @@ import io.swagger.v3.core.util.Json; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import ma.glasnost.orika.MapperFacade; import no.nav.registre.inntektsmeldinggeneratorservice.util.XmlConverter; import no.nav.registre.inntektsmeldinggeneratorservice.v20181211.dto.v1.InntektsmeldingDTO; +import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsInntektsmelding; import no.seres.xsd.nav.inntektsmelding_m._20181211.XMLInntektsmeldingM; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; @@ -22,10 +24,16 @@ @RequiredArgsConstructor public class InntektsmeldingV2Controller { + private final MapperFacade mapperFacade; + @PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_XML_VALUE) - public ResponseEntity create(@RequestBody InntektsmeldingDTO inntektsmeldingDTO) { - log.info("Mottok inntektsmeldingDTO: {}", Json.pretty(inntektsmeldingDTO)); - JAXBElement melding = inntektsmeldingDTO.toMelding(); + public ResponseEntity create(@RequestBody RsInntektsmelding request) { + + log.info("Mottok inntektsmelding: {}", Json.pretty(request)); + + var inntektsmelding = mapperFacade.map(request, InntektsmeldingDTO.class); + + JAXBElement melding = inntektsmelding.toMelding(); String xml = XmlConverter.toXml(melding, XMLInntektsmeldingM.class); if (!XmlConverter.validate(xml, XMLInntektsmeldingM.class)) { @@ -33,7 +41,7 @@ public ResponseEntity create(@RequestBody InntektsmeldingDTO inntektsmel .status(HttpStatus.INTERNAL_SERVER_ERROR) .body("Validering av opprett xml feilet"); } - log.info("Genererte XML for inntektsmelding: {}", Json.pretty(xml)); + log.info("Genererte XML for inntektsmelding: {}", xml); return ResponseEntity.ok(xml); } diff --git a/apps/inntektsmelding-generator-service/src/main/resources/application-prod.yml b/apps/inntektsmelding-generator-service/src/main/resources/application-prod.yml new file mode 100644 index 00000000000..6227cb2ec92 --- /dev/null +++ b/apps/inntektsmelding-generator-service/src/main/resources/application-prod.yml @@ -0,0 +1,10 @@ + +spring: + security: + oauth2: + resourceserver: + tokenx: + issuer-uri: ${TOKEN_X_ISSUER} + jwk-set-uri: ${TOKEN_X_JWKS_URI} + accepted-audience: ${TOKEN_X_CLIENT_ID} + diff --git a/apps/inntektsmelding-generator-service/src/main/resources/application.yml b/apps/inntektsmelding-generator-service/src/main/resources/application.yml index acd2b99aafa..110264c0e1e 100644 --- a/apps/inntektsmelding-generator-service/src/main/resources/application.yml +++ b/apps/inntektsmelding-generator-service/src/main/resources/application.yml @@ -13,10 +13,6 @@ spring: issuer-uri: ${AAD_ISSUER_URI}/v2.0 jwk-set-uri: ${AAD_ISSUER_URI}/discovery/v2.0/keys accepted-audience: ${azure.app.client.id}, api://${azure.app.client.id} - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - jwk-set-uri: ${TOKEN_X_JWKS_URI} - accepted-audience: ${TOKEN_X_CLIENT_ID} cloud: vault: enabled: false diff --git a/apps/inntektsmelding-generator-service/src/test/java/no/nav/registre/inntektsmeldinggeneratorservice/ApplicationContextTest.java b/apps/inntektsmelding-generator-service/src/test/java/no/nav/registre/inntektsmeldinggeneratorservice/ApplicationContextTest.java index faee7505b3e..29b0d23a6a1 100644 --- a/apps/inntektsmelding-generator-service/src/test/java/no/nav/registre/inntektsmeldinggeneratorservice/ApplicationContextTest.java +++ b/apps/inntektsmelding-generator-service/src/test/java/no/nav/registre/inntektsmeldinggeneratorservice/ApplicationContextTest.java @@ -1,5 +1,6 @@ package no.nav.registre.inntektsmeldinggeneratorservice; +import ma.glasnost.orika.MapperFacade; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; @@ -13,6 +14,9 @@ public class ApplicationContextTest { @MockBean public JwtDecoder jwtDecoder; + @MockBean + public MapperFacade mapperFacade; + @Test @SuppressWarnings("java:S2699") void load_app_context() {