From e04d6e133408df5445446651d9ade12cb1f76a30 Mon Sep 17 00:00:00 2001 From: David Wass Date: Tue, 7 Apr 2026 15:47:17 +0100 Subject: [PATCH 1/9] CCM-16444 Populate config table --- .../dispatch_internal_repo_workflow.sh | 13 ++++- .github/workflows/stage-3-build.yaml | 28 +++++++++ .../letter-variant/digitrials-aspiring.json | 38 ++++++++++++ .../letter-variant/digitrials-dmapp.json | 38 ++++++++++++ .../digitrials-globalminds.json | 38 ++++++++++++ .../letter-variant/digitrials-mymelanoma.json | 38 ++++++++++++ .../letter-variant/digitrials-ofh.json | 38 ++++++++++++ .../digitrials-prostateprogress.json | 38 ++++++++++++ .../letter-variant/digitrials-protectc.json | 38 ++++++++++++ .../letter-variant/digitrials-restore.json | 38 ++++++++++++ .../letter-variant/gpreg-admail.json | 35 +++++++++++ .../nces-abnormal-results-braille.json | 31 ++++++++++ .../letter-variant/nces-abnormal-results.json | 31 ++++++++++ .../letter-variant/nces-invites-braille.json | 31 ++++++++++ .../letter-variant/nces-invites.json | 31 ++++++++++ .../letter-variant/nces-standard-braille.json | 31 ++++++++++ .../letter-variant/nces-standard.json | 31 ++++++++++ .../letter-variant/notify-audio.json | 30 ++++++++++ .../letter-variant/notify-braille.json | 30 ++++++++++ .../notify-digital-letters-standard.json | 31 ++++++++++ .../letter-variant/notify-first.json | 30 ++++++++++ .../notify-standard-colour.json | 34 +++++++++++ .../letter-variant/notify-standard.json | 30 ++++++++++ .../digitrials-aspiring.json | 58 +++++++++++++++++++ .../digitrials-globalminds.json | 56 ++++++++++++++++++ .../digitrials-mymelanoma.json | 55 ++++++++++++++++++ .../pack-specification/digitrials-ofh.json | 55 ++++++++++++++++++ .../digitrials-prostateprogress.json | 55 ++++++++++++++++++ .../digitrials-restore.json | 58 +++++++++++++++++++ .../nces-abnormal-results-braille.json | 53 +++++++++++++++++ .../nces-abnormal-results.json | 53 +++++++++++++++++ .../nces-invites-braille.json | 51 ++++++++++++++++ .../pack-specification/nces-invites.json | 50 ++++++++++++++++ .../notify-admail-whitemail.json | 51 ++++++++++++++++ .../pack-specification/notify-admail.json | 54 +++++++++++++++++ .../pack-specification/notify-audio.json | 48 +++++++++++++++ .../notify-braille-whitemail.json | 49 ++++++++++++++++ .../pack-specification/notify-braille.json | 48 +++++++++++++++ .../pack-specification/notify-c4.json | 48 +++++++++++++++ .../pack-specification/notify-c5-colour.json | 52 +++++++++++++++++ .../notify-c5-whitemail.json | 48 +++++++++++++++ .../pack-specification/notify-c5.json | 48 +++++++++++++++ .../pack-specification/notify-first.json | 48 +++++++++++++++ .../pack-specification/notify-sameday.json | 51 ++++++++++++++++ .../datagraphic-datagraphic.json | 7 +++ .../synertec-synertec.json | 7 +++ .../datagraphic-digitrials-aspiring.json | 7 +++ .../datagraphic-digitrials-globalminds.json | 7 +++ .../datagraphic-digitrials-mymelanoma.json | 7 +++ .../datagraphic-digitrials-ofh.json | 7 +++ ...tagraphic-digitrials-prostateprogress.json | 7 +++ .../datagraphic-digitrials-restore.json | 7 +++ .../datagraphic-notify-admail.json | 7 +++ .../datagraphic-notify-audio.json | 7 +++ .../datagraphic-notify-braille-whitemail.json | 7 +++ .../datagraphic-notify-braille.json | 7 +++ .../supplier-pack/datagraphic-notify-c4.json | 7 +++ .../datagraphic-notify-c5-colour.json | 7 +++ .../datagraphic-notify-c5-whitemail.json | 7 +++ .../supplier-pack/datagraphic-notify-c5.json | 7 +++ .../datagraphic-notify-first.json | 7 +++ .../datagraphic-notify-sameday.json | 7 +++ .../supplier-pack/mba-notify-audio.json | 7 +++ .../mba-notify-braille-whitemail.json | 7 +++ .../supplier-pack/mba-notify-braille.json | 7 +++ .../supplier-pack/mba-notify-c4.json | 7 +++ .../mba-notify-c5-whitemail.json | 7 +++ .../supplier-pack/mba-notify-c5.json | 7 +++ .../supplier-pack/mba-notify-first.json | 7 +++ .../supplier-pack/mba-notify-sameday.json | 7 +++ ...ynertec-nces-abnormal-results-braille.json | 7 +++ .../synertec-nces-abnormal-results.json | 7 +++ .../synertec-nces-invites-braille.json | 7 +++ .../supplier-pack/synertec-nces-invites.json | 7 +++ .../synertec-notify-admail-whitemail.json | 7 +++ .../supplier-pack/synertec-notify-admail.json | 7 +++ .../supplier-pack/synertec-notify-audio.json | 7 +++ .../synertec-notify-braille-whitemail.json | 7 +++ .../synertec-notify-braille.json | 7 +++ .../supplier-pack/synertec-notify-c4.json | 7 +++ .../synertec-notify-c5-colour.json | 7 +++ .../synertec-notify-c5-whitemail.json | 7 +++ .../supplier-pack/synertec-notify-c5.json | 7 +++ .../supplier-pack/synertec-notify-first.json | 7 +++ .../synertec-notify-sameday.json | 7 +++ config/suppliers/supplier/datagraphic.json | 7 +++ config/suppliers/supplier/mba.json | 7 +++ config/suppliers/supplier/supplier1.json | 7 +++ config/suppliers/supplier/supplier2.json | 7 +++ config/suppliers/supplier/synertec.json | 7 +++ config/suppliers/volume-group/accessible.json | 8 +++ config/suppliers/volume-group/bau.json | 8 +++ .../suppliers/volume-group/datagraphic.json | 7 +++ config/suppliers/volume-group/sameday.json | 8 +++ config/suppliers/volume-group/synertec.json | 7 +++ .../api/ddb_table_supplier_configuration.tf | 12 ++-- 96 files changed, 2205 insertions(+), 7 deletions(-) create mode 100644 config/suppliers/letter-variant/digitrials-aspiring.json create mode 100644 config/suppliers/letter-variant/digitrials-dmapp.json create mode 100644 config/suppliers/letter-variant/digitrials-globalminds.json create mode 100644 config/suppliers/letter-variant/digitrials-mymelanoma.json create mode 100644 config/suppliers/letter-variant/digitrials-ofh.json create mode 100644 config/suppliers/letter-variant/digitrials-prostateprogress.json create mode 100644 config/suppliers/letter-variant/digitrials-protectc.json create mode 100644 config/suppliers/letter-variant/digitrials-restore.json create mode 100644 config/suppliers/letter-variant/gpreg-admail.json create mode 100644 config/suppliers/letter-variant/nces-abnormal-results-braille.json create mode 100644 config/suppliers/letter-variant/nces-abnormal-results.json create mode 100644 config/suppliers/letter-variant/nces-invites-braille.json create mode 100644 config/suppliers/letter-variant/nces-invites.json create mode 100644 config/suppliers/letter-variant/nces-standard-braille.json create mode 100644 config/suppliers/letter-variant/nces-standard.json create mode 100644 config/suppliers/letter-variant/notify-audio.json create mode 100644 config/suppliers/letter-variant/notify-braille.json create mode 100644 config/suppliers/letter-variant/notify-digital-letters-standard.json create mode 100644 config/suppliers/letter-variant/notify-first.json create mode 100644 config/suppliers/letter-variant/notify-standard-colour.json create mode 100644 config/suppliers/letter-variant/notify-standard.json create mode 100644 config/suppliers/pack-specification/digitrials-aspiring.json create mode 100644 config/suppliers/pack-specification/digitrials-globalminds.json create mode 100644 config/suppliers/pack-specification/digitrials-mymelanoma.json create mode 100644 config/suppliers/pack-specification/digitrials-ofh.json create mode 100644 config/suppliers/pack-specification/digitrials-prostateprogress.json create mode 100644 config/suppliers/pack-specification/digitrials-restore.json create mode 100644 config/suppliers/pack-specification/nces-abnormal-results-braille.json create mode 100644 config/suppliers/pack-specification/nces-abnormal-results.json create mode 100644 config/suppliers/pack-specification/nces-invites-braille.json create mode 100644 config/suppliers/pack-specification/nces-invites.json create mode 100644 config/suppliers/pack-specification/notify-admail-whitemail.json create mode 100644 config/suppliers/pack-specification/notify-admail.json create mode 100644 config/suppliers/pack-specification/notify-audio.json create mode 100644 config/suppliers/pack-specification/notify-braille-whitemail.json create mode 100644 config/suppliers/pack-specification/notify-braille.json create mode 100644 config/suppliers/pack-specification/notify-c4.json create mode 100644 config/suppliers/pack-specification/notify-c5-colour.json create mode 100644 config/suppliers/pack-specification/notify-c5-whitemail.json create mode 100644 config/suppliers/pack-specification/notify-c5.json create mode 100644 config/suppliers/pack-specification/notify-first.json create mode 100644 config/suppliers/pack-specification/notify-sameday.json create mode 100644 config/suppliers/supplier-allocation/datagraphic-datagraphic.json create mode 100644 config/suppliers/supplier-allocation/synertec-synertec.json create mode 100644 config/suppliers/supplier-pack/datagraphic-digitrials-aspiring.json create mode 100644 config/suppliers/supplier-pack/datagraphic-digitrials-globalminds.json create mode 100644 config/suppliers/supplier-pack/datagraphic-digitrials-mymelanoma.json create mode 100644 config/suppliers/supplier-pack/datagraphic-digitrials-ofh.json create mode 100644 config/suppliers/supplier-pack/datagraphic-digitrials-prostateprogress.json create mode 100644 config/suppliers/supplier-pack/datagraphic-digitrials-restore.json create mode 100644 config/suppliers/supplier-pack/datagraphic-notify-admail.json create mode 100644 config/suppliers/supplier-pack/datagraphic-notify-audio.json create mode 100644 config/suppliers/supplier-pack/datagraphic-notify-braille-whitemail.json create mode 100644 config/suppliers/supplier-pack/datagraphic-notify-braille.json create mode 100644 config/suppliers/supplier-pack/datagraphic-notify-c4.json create mode 100644 config/suppliers/supplier-pack/datagraphic-notify-c5-colour.json create mode 100644 config/suppliers/supplier-pack/datagraphic-notify-c5-whitemail.json create mode 100644 config/suppliers/supplier-pack/datagraphic-notify-c5.json create mode 100644 config/suppliers/supplier-pack/datagraphic-notify-first.json create mode 100644 config/suppliers/supplier-pack/datagraphic-notify-sameday.json create mode 100644 config/suppliers/supplier-pack/mba-notify-audio.json create mode 100644 config/suppliers/supplier-pack/mba-notify-braille-whitemail.json create mode 100644 config/suppliers/supplier-pack/mba-notify-braille.json create mode 100644 config/suppliers/supplier-pack/mba-notify-c4.json create mode 100644 config/suppliers/supplier-pack/mba-notify-c5-whitemail.json create mode 100644 config/suppliers/supplier-pack/mba-notify-c5.json create mode 100644 config/suppliers/supplier-pack/mba-notify-first.json create mode 100644 config/suppliers/supplier-pack/mba-notify-sameday.json create mode 100644 config/suppliers/supplier-pack/synertec-nces-abnormal-results-braille.json create mode 100644 config/suppliers/supplier-pack/synertec-nces-abnormal-results.json create mode 100644 config/suppliers/supplier-pack/synertec-nces-invites-braille.json create mode 100644 config/suppliers/supplier-pack/synertec-nces-invites.json create mode 100644 config/suppliers/supplier-pack/synertec-notify-admail-whitemail.json create mode 100644 config/suppliers/supplier-pack/synertec-notify-admail.json create mode 100644 config/suppliers/supplier-pack/synertec-notify-audio.json create mode 100644 config/suppliers/supplier-pack/synertec-notify-braille-whitemail.json create mode 100644 config/suppliers/supplier-pack/synertec-notify-braille.json create mode 100644 config/suppliers/supplier-pack/synertec-notify-c4.json create mode 100644 config/suppliers/supplier-pack/synertec-notify-c5-colour.json create mode 100644 config/suppliers/supplier-pack/synertec-notify-c5-whitemail.json create mode 100644 config/suppliers/supplier-pack/synertec-notify-c5.json create mode 100644 config/suppliers/supplier-pack/synertec-notify-first.json create mode 100644 config/suppliers/supplier-pack/synertec-notify-sameday.json create mode 100644 config/suppliers/supplier/datagraphic.json create mode 100644 config/suppliers/supplier/mba.json create mode 100644 config/suppliers/supplier/supplier1.json create mode 100644 config/suppliers/supplier/supplier2.json create mode 100644 config/suppliers/supplier/synertec.json create mode 100644 config/suppliers/volume-group/accessible.json create mode 100644 config/suppliers/volume-group/bau.json create mode 100644 config/suppliers/volume-group/datagraphic.json create mode 100644 config/suppliers/volume-group/sameday.json create mode 100644 config/suppliers/volume-group/synertec.json diff --git a/.github/scripts/dispatch_internal_repo_workflow.sh b/.github/scripts/dispatch_internal_repo_workflow.sh index 714a3fed5..599292976 100755 --- a/.github/scripts/dispatch_internal_repo_workflow.sh +++ b/.github/scripts/dispatch_internal_repo_workflow.sh @@ -104,6 +104,10 @@ while [[ $# -gt 0 ]]; do version="$2" shift 2 ;; + --tableName) # Table name (optional) + tableName="$2" + shift 2 + ;; *) echo "[ERROR] Unknown argument: $1" exit 1 @@ -202,6 +206,10 @@ if [[ -z "$version" ]]; then version="" fi +if [{ -z "$tableName" }]; then + tableName="" +fi + echo "==================== Workflow Dispatch Parameters ====================" echo " infraRepoName: $infraRepoName" echo " releaseVersion: $releaseVersion" @@ -221,6 +229,7 @@ echo " apimEnvironment: $apimEnvironment" echo " boundedContext: $boundedContext" echo " targetDomain: $targetDomain" echo " version: $version" +echo " tableName: $tableName" DISPATCH_EVENT=$(jq -ncM \ --arg infraRepoName "$infraRepoName" \ @@ -240,6 +249,7 @@ DISPATCH_EVENT=$(jq -ncM \ --arg boundedContext "$boundedContext" \ --arg targetDomain "$targetDomain" \ --arg version "$version" \ + --arg tableName "$tableName" \ '{ "ref": "'"$internalRef"'", "inputs": ( @@ -255,6 +265,7 @@ DISPATCH_EVENT=$(jq -ncM \ (if $boundedContext != "" then { "boundedContext": $boundedContext } else {} end) + (if $targetDomain != "" then { "targetDomain": $targetDomain } else {} end) + (if $version != "" then { "version": $version } else {} end) + + (if $tableName != "" then { "tableName": $tableName } else {} end) + (if $targetAccountGroup != "" then { "targetAccountGroup": $targetAccountGroup } else {} end) + { "releaseVersion": $releaseVersion, @@ -269,7 +280,7 @@ echo "[INFO] Triggering workflow '$targetWorkflow' in nhs-notify-internal..." echo "[DEBUG] Dispatch event payload: $DISPATCH_EVENT" trigger_response=$(curl -s -L \ - --fail \ + --fail-with-body \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer ${PR_TRIGGER_PAT}" \ diff --git a/.github/workflows/stage-3-build.yaml b/.github/workflows/stage-3-build.yaml index 3d476c2d6..516bc9473 100644 --- a/.github/workflows/stage-3-build.yaml +++ b/.github/workflows/stage-3-build.yaml @@ -184,3 +184,31 @@ jobs: runId: "${{ github.run_id }}" buildSandbox: true releaseVersion: ${{ github.head_ref || github.ref_name }} + populate-config: + name: "Populate Supplier Config" + runs-on: ubuntu-latest + needs: [pr-create-dynamic-environment] + timeout-minutes: 10 + + steps: + - name: "Checkout code" + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 + - name: Set Environment Name + id: set-environment + run: echo "environment_name=${{ inputs.pr_number != '' && format('pr{0}', inputs.pr_number) || 'main' }}" >> $GITHUB_OUTPUT + - name: "Trigger populate config workflow in internal repo" + env: + APP_CLIENT_ID: ${{ secrets.APP_CLIENT_ID }} + APP_PEM_FILE: ${{ secrets.APP_PEM_FILE }} + PR_NUMBER: ${{ inputs.pr_number }} + shell: bash + run: | + .github/scripts/dispatch_internal_repo_workflow.sh \ + --infraRepoName "$(echo ${{ github.repository }} | cut -d'/' -f2)" \ + --releaseVersion ${{ github.head_ref || github.ref_name }} \ + --targetWorkflow "publish-supplier-config.yaml" \ + --targetEnvironment "${{ steps.set-environment.outputs.environment_name }}" \ + --targetComponent "config" \ + --targetAccountGroup "nhs-notify-suppliers-dev" \ + --tableName "supplier-config" \ + --internalRef "feature/CCM-12444-supplier-config-publishing-workflow" diff --git a/config/suppliers/letter-variant/digitrials-aspiring.json b/config/suppliers/letter-variant/digitrials-aspiring.json new file mode 100644 index 000000000..35a395c46 --- /dev/null +++ b/config/suppliers/letter-variant/digitrials-aspiring.json @@ -0,0 +1,38 @@ +{ + "campaignIds": [ + "digitrials-aspiring" + ], + "clientId": "digitrials", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 3 + }, + "sides": { + "operator": "LESS_THAN", + "value": 6 + } + }, + "description": "Colour printing, ASPIRING envelope, Attachment", + "id": "digitrials-aspiring", + "name": "Digitrials - ASPIRING", + "packSpecificationIds": [ + "digitrials-aspiring" + ], + "status": "INT", + "supplierId": "datagraphic", + "type": "STANDARD", + "volumeGroupId": "datagraphic" +} diff --git a/config/suppliers/letter-variant/digitrials-dmapp.json b/config/suppliers/letter-variant/digitrials-dmapp.json new file mode 100644 index 000000000..aa7ba5188 --- /dev/null +++ b/config/suppliers/letter-variant/digitrials-dmapp.json @@ -0,0 +1,38 @@ +{ + "campaignIds": [ + "digitrials-dmapp" + ], + "clientId": "digitrials", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Admail, colour printing", + "id": "digitrials-dmapp", + "name": "Digitrials - DMAPP", + "packSpecificationIds": [ + "notify-admail" + ], + "status": "INT", + "supplierId": "datagraphic", + "type": "STANDARD", + "volumeGroupId": "datagraphic" +} diff --git a/config/suppliers/letter-variant/digitrials-globalminds.json b/config/suppliers/letter-variant/digitrials-globalminds.json new file mode 100644 index 000000000..717c4d0a3 --- /dev/null +++ b/config/suppliers/letter-variant/digitrials-globalminds.json @@ -0,0 +1,38 @@ +{ + "campaignIds": [ + "digitrials-globalminds" + ], + "clientId": "digitrials", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Admail?, colour printing, booklet", + "id": "digitrials-globalminds", + "name": "Digitrials - Global Minds", + "packSpecificationIds": [ + "digitrials-globalminds" + ], + "status": "INT", + "supplierId": "datagraphic", + "type": "STANDARD", + "volumeGroupId": "datagraphic" +} diff --git a/config/suppliers/letter-variant/digitrials-mymelanoma.json b/config/suppliers/letter-variant/digitrials-mymelanoma.json new file mode 100644 index 000000000..75414128a --- /dev/null +++ b/config/suppliers/letter-variant/digitrials-mymelanoma.json @@ -0,0 +1,38 @@ +{ + "campaignIds": [ + "digitrials-mymelanoma" + ], + "clientId": "digitrials", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Admail, colour printing, MyMelanoma envelope", + "id": "digitrials-mymelanoma", + "name": "Digitrials - MyMelanoma", + "packSpecificationIds": [ + "digitrials-mymelanoma" + ], + "status": "INT", + "supplierId": "datagraphic", + "type": "STANDARD", + "volumeGroupId": "datagraphic" +} diff --git a/config/suppliers/letter-variant/digitrials-ofh.json b/config/suppliers/letter-variant/digitrials-ofh.json new file mode 100644 index 000000000..7fd4b6f58 --- /dev/null +++ b/config/suppliers/letter-variant/digitrials-ofh.json @@ -0,0 +1,38 @@ +{ + "campaignIds": [ + "digitrials-ofh" + ], + "clientId": "digitrials", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Admail, colour printing, OFH envelope", + "id": "digitrials-ofh", + "name": "Digitrials - Our Future Health", + "packSpecificationIds": [ + "digitrials-ofh" + ], + "status": "PROD", + "supplierId": "datagraphic", + "type": "STANDARD", + "volumeGroupId": "datagraphic" +} diff --git a/config/suppliers/letter-variant/digitrials-prostateprogress.json b/config/suppliers/letter-variant/digitrials-prostateprogress.json new file mode 100644 index 000000000..712599250 --- /dev/null +++ b/config/suppliers/letter-variant/digitrials-prostateprogress.json @@ -0,0 +1,38 @@ +{ + "campaignIds": [ + "digitrials-prostateprogress" + ], + "clientId": "digitrials", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 4 + }, + "sides": { + "operator": "LESS_THAN", + "value": 8 + } + }, + "description": "Colour printing, PP envelope, Attachment", + "id": "digitrials-prostateprogress", + "name": "Digitrials - Prostate Progress", + "packSpecificationIds": [ + "digitrials-prostateprogress" + ], + "status": "INT", + "supplierId": "datagraphic", + "type": "STANDARD", + "volumeGroupId": "datagraphic" +} diff --git a/config/suppliers/letter-variant/digitrials-protectc.json b/config/suppliers/letter-variant/digitrials-protectc.json new file mode 100644 index 000000000..156ff14b3 --- /dev/null +++ b/config/suppliers/letter-variant/digitrials-protectc.json @@ -0,0 +1,38 @@ +{ + "campaignIds": [ + "digitrials-protectc" + ], + "clientId": "digitrials", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Economy, colour printing", + "id": "digitrials-protectc", + "name": "Digitrials - PROTECT-C", + "packSpecificationIds": [ + "notify-c5-colour" + ], + "status": "INT", + "supplierId": "datagraphic", + "type": "STANDARD", + "volumeGroupId": "datagraphic" +} diff --git a/config/suppliers/letter-variant/digitrials-restore.json b/config/suppliers/letter-variant/digitrials-restore.json new file mode 100644 index 000000000..de6be6f3a --- /dev/null +++ b/config/suppliers/letter-variant/digitrials-restore.json @@ -0,0 +1,38 @@ +{ + "campaignIds": [ + "digitrials-restore" + ], + "clientId": "digitrials", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Admail?, colour printing, booklet", + "id": "digitrials-restore", + "name": "Digitrials - Restore", + "packSpecificationIds": [ + "digitrials-restore" + ], + "status": "INT", + "supplierId": "datagraphic", + "type": "STANDARD", + "volumeGroupId": "datagraphic" +} diff --git a/config/suppliers/letter-variant/gpreg-admail.json b/config/suppliers/letter-variant/gpreg-admail.json new file mode 100644 index 000000000..8679e96e9 --- /dev/null +++ b/config/suppliers/letter-variant/gpreg-admail.json @@ -0,0 +1,35 @@ +{ + "clientId": "gp-reg", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Letter with admail postage tariff", + "id": "gpreg-admail", + "name": "Admail letter", + "packSpecificationIds": [ + "notify-admail" + ], + "status": "INT", + "supplierId": "synertec", + "type": "STANDARD", + "volumeGroupId": "synertec" +} diff --git a/config/suppliers/letter-variant/nces-abnormal-results-braille.json b/config/suppliers/letter-variant/nces-abnormal-results-braille.json new file mode 100644 index 000000000..0a42c9415 --- /dev/null +++ b/config/suppliers/letter-variant/nces-abnormal-results-braille.json @@ -0,0 +1,31 @@ +{ + "clientId": "nces", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 1 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 4 + }, + "sides": { + "operator": "LESS_THAN", + "value": 8 + } + }, + "description": "Same Day, Braille, Whitemail, Booklet", + "id": "nces-abnormal-results-braille", + "name": "Cervical Screening Braille Abnormal Results", + "packSpecificationIds": [ + "nces-abnormal-results-braille" + ], + "status": "INT", + "supplierId": "synertec", + "type": "BRAILLE", + "volumeGroupId": "accessible" +} diff --git a/config/suppliers/letter-variant/nces-abnormal-results.json b/config/suppliers/letter-variant/nces-abnormal-results.json new file mode 100644 index 000000000..0fd4b659f --- /dev/null +++ b/config/suppliers/letter-variant/nces-abnormal-results.json @@ -0,0 +1,31 @@ +{ + "clientId": "nces", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 1 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 4 + }, + "sides": { + "operator": "LESS_THAN", + "value": 8 + } + }, + "description": "Same Day, Whitemail, Booklet", + "id": "nces-abnormal-results", + "name": "Cervical Screening Abnormal Results", + "packSpecificationIds": [ + "nces-abnormal-results" + ], + "status": "INT", + "supplierId": "synertec", + "type": "STANDARD", + "volumeGroupId": "sameday" +} diff --git a/config/suppliers/letter-variant/nces-invites-braille.json b/config/suppliers/letter-variant/nces-invites-braille.json new file mode 100644 index 000000000..3d98c879a --- /dev/null +++ b/config/suppliers/letter-variant/nces-invites-braille.json @@ -0,0 +1,31 @@ +{ + "clientId": "nces", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 4 + }, + "sides": { + "operator": "LESS_THAN", + "value": 8 + } + }, + "description": "Braille, Whitemail, Booklet", + "id": "nces-invites-braille", + "name": "Cervical Screening Braille Invites", + "packSpecificationIds": [ + "nces-invites-braille" + ], + "status": "INT", + "supplierId": "synertec", + "type": "BRAILLE", + "volumeGroupId": "accessible" +} diff --git a/config/suppliers/letter-variant/nces-invites.json b/config/suppliers/letter-variant/nces-invites.json new file mode 100644 index 000000000..95dcbd804 --- /dev/null +++ b/config/suppliers/letter-variant/nces-invites.json @@ -0,0 +1,31 @@ +{ + "clientId": "nces", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 4 + }, + "sides": { + "operator": "LESS_THAN", + "value": 8 + } + }, + "description": "Business Economy, Whitemail, Booklet", + "id": "nces-invites", + "name": "Cervical Screening Invites", + "packSpecificationIds": [ + "nces-invites" + ], + "status": "INT", + "supplierId": "synertec", + "type": "STANDARD", + "volumeGroupId": "bau" +} diff --git a/config/suppliers/letter-variant/nces-standard-braille.json b/config/suppliers/letter-variant/nces-standard-braille.json new file mode 100644 index 000000000..191eebbe1 --- /dev/null +++ b/config/suppliers/letter-variant/nces-standard-braille.json @@ -0,0 +1,31 @@ +{ + "clientId": "nces", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Braille, Whitemail", + "id": "nces-standard-braille", + "name": "Cervical Screening Standard Braille Letters", + "packSpecificationIds": [ + "notify-braille-whitemail" + ], + "status": "INT", + "supplierId": "synertec", + "type": "BRAILLE", + "volumeGroupId": "accessible" +} diff --git a/config/suppliers/letter-variant/nces-standard.json b/config/suppliers/letter-variant/nces-standard.json new file mode 100644 index 000000000..d512df617 --- /dev/null +++ b/config/suppliers/letter-variant/nces-standard.json @@ -0,0 +1,31 @@ +{ + "clientId": "nces", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Business Economy, Whitemail", + "id": "nces-standard", + "name": "Cervical Screening Standard Letters", + "packSpecificationIds": [ + "notify-c5-whitemail" + ], + "status": "PROD", + "supplierId": "synertec", + "type": "STANDARD", + "volumeGroupId": "synertec" +} diff --git a/config/suppliers/letter-variant/notify-audio.json b/config/suppliers/letter-variant/notify-audio.json new file mode 100644 index 000000000..bb80b3e4b --- /dev/null +++ b/config/suppliers/letter-variant/notify-audio.json @@ -0,0 +1,30 @@ +{ + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Audio CD with standard letter", + "id": "notify-audio", + "name": "Audio CD Letter", + "packSpecificationIds": [ + "notify-audio" + ], + "status": "DRAFT", + "supplierId": "synertec", + "type": "AUDIO", + "volumeGroupId": "accessible" +} diff --git a/config/suppliers/letter-variant/notify-braille.json b/config/suppliers/letter-variant/notify-braille.json new file mode 100644 index 000000000..90fd88153 --- /dev/null +++ b/config/suppliers/letter-variant/notify-braille.json @@ -0,0 +1,30 @@ +{ + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Braille letter with standard letter", + "id": "notify-braille", + "name": "Braille Letter", + "packSpecificationIds": [ + "notify-braille" + ], + "status": "INT", + "supplierId": "synertec", + "type": "BRAILLE", + "volumeGroupId": "accessible" +} diff --git a/config/suppliers/letter-variant/notify-digital-letters-standard.json b/config/suppliers/letter-variant/notify-digital-letters-standard.json new file mode 100644 index 000000000..1cb96e32c --- /dev/null +++ b/config/suppliers/letter-variant/notify-digital-letters-standard.json @@ -0,0 +1,31 @@ +{ + "clientId": "digital-letters", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Black printing, economy postage tariff", + "id": "notify-digital-letters-standard", + "name": "Standard Letter Variant for Digital Letters fallback", + "packSpecificationIds": [ + "notify-c5" + ], + "status": "INT", + "supplierId": "synertec", + "type": "STANDARD", + "volumeGroupId": "synertec" +} diff --git a/config/suppliers/letter-variant/notify-first.json b/config/suppliers/letter-variant/notify-first.json new file mode 100644 index 000000000..a3741e885 --- /dev/null +++ b/config/suppliers/letter-variant/notify-first.json @@ -0,0 +1,30 @@ +{ + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 2 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Black printing, first class postage tariff", + "id": "notify-first", + "name": "First class letter", + "packSpecificationIds": [ + "notify-first" + ], + "status": "DRAFT", + "supplierId": "synertec", + "type": "STANDARD", + "volumeGroupId": "bau" +} diff --git a/config/suppliers/letter-variant/notify-standard-colour.json b/config/suppliers/letter-variant/notify-standard-colour.json new file mode 100644 index 000000000..d21617cb5 --- /dev/null +++ b/config/suppliers/letter-variant/notify-standard-colour.json @@ -0,0 +1,34 @@ +{ + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Colour printing, economy postage tariff", + "id": "notify-standard-colour", + "name": "Standard Letter (colour)", + "packSpecificationIds": [ + "notify-c5-colour" + ], + "status": "INT", + "supplierId": "synertec", + "type": "STANDARD", + "volumeGroupId": "datagraphic" +} diff --git a/config/suppliers/letter-variant/notify-standard.json b/config/suppliers/letter-variant/notify-standard.json new file mode 100644 index 000000000..5b0a4d9b8 --- /dev/null +++ b/config/suppliers/letter-variant/notify-standard.json @@ -0,0 +1,30 @@ +{ + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Black printing, economy postage tariff", + "id": "notify-standard", + "name": "Standard Letter", + "packSpecificationIds": [ + "notify-c5" + ], + "status": "PROD", + "supplierId": "synertec", + "type": "STANDARD", + "volumeGroupId": "synertec" +} diff --git a/config/suppliers/pack-specification/digitrials-aspiring.json b/config/suppliers/pack-specification/digitrials-aspiring.json new file mode 100644 index 000000000..d9a478388 --- /dev/null +++ b/config/suppliers/pack-specification/digitrials-aspiring.json @@ -0,0 +1,58 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "digitrials-aspiring", + "features": [ + "ADMAIL" + ], + "insertIds": [ + "digitrials-aspiring-fast-facts-attachment" + ], + "paper": { + "colour": "WHITE", + "id": "paper-std-white-100", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "COLOUR" + }, + "billingId": "insert-economy", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 4 + }, + "sides": { + "operator": "LESS_THAN", + "value": 8 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "Envelope and attachment for ASPIRING", + "id": "digitrials-aspiring", + "name": "Digitrials - ASPIRING", + "postage": { + "deliveryDays": 3, + "id": "economy", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "PROD", + "updatedAt": "2026-02-16T17:00:00.000Z", + "version": 2 +} diff --git a/config/suppliers/pack-specification/digitrials-globalminds.json b/config/suppliers/pack-specification/digitrials-globalminds.json new file mode 100644 index 000000000..e7aa11130 --- /dev/null +++ b/config/suppliers/pack-specification/digitrials-globalminds.json @@ -0,0 +1,56 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "economy-c5", + "features": [ + "ADMAIL" + ], + "insertIds": [ + "digitrials-globalminds-booklet" + ], + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "COLOUR" + }, + "billingId": "insert-admail-economy", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 4 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "Envelope and booklet for Global Minds", + "id": "digitrials-globalminds", + "name": "Digitrials - Global Minds", + "postage": { + "deliveryDays": 4, + "id": "admail-economy", + "size": "STANDARD" + }, + "status": "PROD", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/digitrials-mymelanoma.json b/config/suppliers/pack-specification/digitrials-mymelanoma.json new file mode 100644 index 000000000..1061f995a --- /dev/null +++ b/config/suppliers/pack-specification/digitrials-mymelanoma.json @@ -0,0 +1,55 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "digitrials-mymelanoma", + "features": [ + "ADMAIL" + ], + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "COLOUR" + }, + "billingId": "admail-economy", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 4 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "Envelope for My Melanoma", + "id": "digitrials-mymelanoma", + "name": "Digitrials - MyMelanoma", + "postage": { + "deliveryDays": 4, + "id": "admail-economy", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "PROD", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/digitrials-ofh.json b/config/suppliers/pack-specification/digitrials-ofh.json new file mode 100644 index 000000000..fd143e8ba --- /dev/null +++ b/config/suppliers/pack-specification/digitrials-ofh.json @@ -0,0 +1,55 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "digitrials-ofh", + "features": [ + "ADMAIL" + ], + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "COLOUR" + }, + "billingId": "admail-economy", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 4 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "Envelope for Our Future Health", + "id": "digitrials-ofh", + "name": "Digitrials - Our Future Health", + "postage": { + "deliveryDays": 4, + "id": "admail-economy", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "PROD", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/digitrials-prostateprogress.json b/config/suppliers/pack-specification/digitrials-prostateprogress.json new file mode 100644 index 000000000..bb6cd9bbc --- /dev/null +++ b/config/suppliers/pack-specification/digitrials-prostateprogress.json @@ -0,0 +1,55 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "digitrials-prostateprogress", + "insertIds": [ + "digitrials-prostateprogress-leaflet" + ], + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "COLOUR" + }, + "billingId": "insert-admail-economy", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 4 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-02-04T00:00:00.000Z", + "description": "Envelope and insert for Prostate Progress", + "id": "digitrials-prostateprogress", + "name": "Digitrials - Prostate Progress", + "postage": { + "deliveryDays": 4, + "id": "admail-economy", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "PROD", + "updatedAt": "2026-02-04T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/digitrials-restore.json b/config/suppliers/pack-specification/digitrials-restore.json new file mode 100644 index 000000000..d3a5b3c4b --- /dev/null +++ b/config/suppliers/pack-specification/digitrials-restore.json @@ -0,0 +1,58 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "economy-c5", + "features": [ + "ADMAIL" + ], + "insertIds": [ + "digitrials-restore-leaflet" + ], + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "COLOUR" + }, + "billingId": "insert-admail-economy", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 4 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 4 + }, + "sides": { + "operator": "LESS_THAN", + "value": 8 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "Insert for Restore", + "id": "digitrials-restore", + "name": "Digitrials - Restore", + "postage": { + "deliveryDays": 4, + "id": "admail-economy", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "PROD", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/nces-abnormal-results-braille.json b/config/suppliers/pack-specification/nces-abnormal-results-braille.json new file mode 100644 index 000000000..97d3eaab7 --- /dev/null +++ b/config/suppliers/pack-specification/nces-abnormal-results-braille.json @@ -0,0 +1,53 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "braille-whitemail", + "features": [ + "BRAILLE", + "SAME_DAY" + ], + "insertIds": [ + "CSP15" + ], + "paper": { + "colour": "WHITE", + "id": "paper-braille", + "name": "Braille Paper", + "recycled": true, + "size": "A4", + "weightGSM": 120 + }, + "printColour": "BLACK" + }, + "billingId": "sameday-insert-braille", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 1 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 4 + }, + "sides": { + "operator": "LESS_THAN", + "value": 8 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "id": "nces-abnormal-results-braille", + "name": "NCES Abnormal Results Braille", + "postage": { + "deliveryDays": 1, + "id": "articles-blind", + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "INT", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/nces-abnormal-results.json b/config/suppliers/pack-specification/nces-abnormal-results.json new file mode 100644 index 000000000..600fd4aca --- /dev/null +++ b/config/suppliers/pack-specification/nces-abnormal-results.json @@ -0,0 +1,53 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "first-c5-whitemail", + "features": [ + "SAME_DAY" + ], + "insertIds": [ + "CSP15" + ], + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "BLACK" + }, + "billingId": "sameday-insert-c5", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 1 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 4 + }, + "sides": { + "operator": "LESS_THAN", + "value": 8 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "id": "nces-abnormal-results", + "name": "NCES Abnormal Results", + "postage": { + "deliveryDays": 1, + "id": "first-class", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "INT", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/nces-invites-braille.json b/config/suppliers/pack-specification/nces-invites-braille.json new file mode 100644 index 000000000..f24712659 --- /dev/null +++ b/config/suppliers/pack-specification/nces-invites-braille.json @@ -0,0 +1,51 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "braille-whitemail", + "features": [ + "BRAILLE" + ], + "insertIds": [ + "CSP14" + ], + "paper": { + "colour": "WHITE", + "id": "paper-braille", + "name": "Braille Paper", + "recycled": true, + "size": "A4", + "weightGSM": 120 + }, + "printColour": "BLACK" + }, + "billingId": "insert-braille", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 4 + }, + "sides": { + "operator": "LESS_THAN", + "value": 8 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "id": "nces-invites-braille", + "name": "NCES Invites Braille", + "postage": { + "deliveryDays": 3, + "id": "articles-blind", + "size": "STANDARD" + }, + "status": "INT", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/nces-invites.json b/config/suppliers/pack-specification/nces-invites.json new file mode 100644 index 000000000..e057cc35d --- /dev/null +++ b/config/suppliers/pack-specification/nces-invites.json @@ -0,0 +1,50 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "economy-c5-whitemail", + "insertIds": [ + "CSP14" + ], + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "BLACK" + }, + "billingId": "insert-admail-economy", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 4 + }, + "sides": { + "operator": "LESS_THAN", + "value": 8 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "id": "nces-invites", + "name": "NCES Invites", + "postage": { + "deliveryDays": 3, + "id": "admail-economy", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "INT", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/notify-admail-whitemail.json b/config/suppliers/pack-specification/notify-admail-whitemail.json new file mode 100644 index 000000000..0132b71f9 --- /dev/null +++ b/config/suppliers/pack-specification/notify-admail-whitemail.json @@ -0,0 +1,51 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "economy-c5", + "features": [ + "ADMAIL" + ], + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "BLACK" + }, + "billingId": "insert-admail-economy", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 2 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "Admail economy tariff with whitemail envelope", + "id": "notify-admail-whitemail", + "name": "Admail (whitemail)", + "postage": { + "deliveryDays": 4, + "id": "admail-economy", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "PROD", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/notify-admail.json b/config/suppliers/pack-specification/notify-admail.json new file mode 100644 index 000000000..7344a939b --- /dev/null +++ b/config/suppliers/pack-specification/notify-admail.json @@ -0,0 +1,54 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "economy-c5", + "features": [ + "ADMAIL" + ], + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "BLACK" + }, + "billingId": "admail", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "Admail economy tariff, B&W", + "id": "notify-admail", + "name": "Admail", + "postage": { + "id": "admail", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "PROD", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 2 +} diff --git a/config/suppliers/pack-specification/notify-audio.json b/config/suppliers/pack-specification/notify-audio.json new file mode 100644 index 000000000..e5fb5002e --- /dev/null +++ b/config/suppliers/pack-specification/notify-audio.json @@ -0,0 +1,48 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "audio", + "features": [ + "AUDIO" + ], + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "BLACK" + }, + "billingId": "notify-audio", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "id": "notify-audio", + "name": "Audio CD", + "postage": { + "deliveryDays": 3, + "id": "articles-blind", + "size": "STANDARD" + }, + "status": "DRAFT", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/notify-braille-whitemail.json b/config/suppliers/pack-specification/notify-braille-whitemail.json new file mode 100644 index 000000000..2ef1f05f6 --- /dev/null +++ b/config/suppliers/pack-specification/notify-braille-whitemail.json @@ -0,0 +1,49 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "braille-whitemail", + "features": [ + "BRAILLE" + ], + "paper": { + "colour": "WHITE", + "id": "paper-braille", + "name": "Braille Paper", + "recycled": true, + "size": "A4", + "weightGSM": 120 + }, + "printColour": "BLACK" + }, + "billingId": "notify-braille", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "Braille pack with whitemail return address", + "id": "notify-braille-whitemail", + "name": "Braille letter (whitemail)", + "postage": { + "deliveryDays": 3, + "id": "articles-blind", + "size": "STANDARD" + }, + "status": "PROD", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/notify-braille.json b/config/suppliers/pack-specification/notify-braille.json new file mode 100644 index 000000000..4417ce98d --- /dev/null +++ b/config/suppliers/pack-specification/notify-braille.json @@ -0,0 +1,48 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "braille", + "features": [ + "BRAILLE" + ], + "paper": { + "colour": "WHITE", + "id": "paper-braille", + "name": "Braille Paper", + "recycled": true, + "size": "A4", + "weightGSM": 120 + }, + "printColour": "BLACK" + }, + "billingId": "notify-braille", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "id": "notify-braille", + "name": "Braille Letter", + "postage": { + "deliveryDays": 3, + "id": "articles-blind", + "size": "STANDARD" + }, + "status": "PROD", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/notify-c4.json b/config/suppliers/pack-specification/notify-c4.json new file mode 100644 index 000000000..dc42c0f1b --- /dev/null +++ b/config/suppliers/pack-specification/notify-c4.json @@ -0,0 +1,48 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "economy-c5", + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "BLACK" + }, + "billingId": "notify-c4", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 20 + }, + "sides": { + "operator": "LESS_THAN", + "value": 40 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "C4 pack (large letter)", + "id": "notify-c4", + "name": "Notify standard (C4)", + "postage": { + "deliveryDays": 3, + "id": "economy", + "maxThicknessMm": 25, + "maxWeightGrams": 500, + "size": "LARGE" + }, + "status": "DRAFT", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/notify-c5-colour.json b/config/suppliers/pack-specification/notify-c5-colour.json new file mode 100644 index 000000000..fdcee099d --- /dev/null +++ b/config/suppliers/pack-specification/notify-c5-colour.json @@ -0,0 +1,52 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "economy-c5", + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "COLOUR" + }, + "billingId": "notify-c5-colour", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "colourCoveragePercentage": { + "operator": "LESS_THAN", + "value": 10 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 2 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "C5 pack with colour printing", + "id": "notify-c5-colour", + "name": "Notify standard (colour)", + "postage": { + "deliveryDays": 3, + "id": "economy", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "INT", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/notify-c5-whitemail.json b/config/suppliers/pack-specification/notify-c5-whitemail.json new file mode 100644 index 000000000..0341599ea --- /dev/null +++ b/config/suppliers/pack-specification/notify-c5-whitemail.json @@ -0,0 +1,48 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "economy-c5-whitemail", + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "BLACK" + }, + "billingId": "notify-c5", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "C5 pack with whitemail return address", + "id": "notify-c5-whitemail", + "name": "Notify standard (whitemail)", + "postage": { + "deliveryDays": 3, + "id": "economy", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "PROD", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/notify-c5.json b/config/suppliers/pack-specification/notify-c5.json new file mode 100644 index 000000000..b656c17fa --- /dev/null +++ b/config/suppliers/pack-specification/notify-c5.json @@ -0,0 +1,48 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "economy-c4", + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "BLACK" + }, + "billingId": "notify-c5", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "C5 pack", + "id": "notify-c5", + "name": "Notify standard", + "postage": { + "deliveryDays": 3, + "id": "economy", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "PROD", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/notify-first.json b/config/suppliers/pack-specification/notify-first.json new file mode 100644 index 000000000..55543a47e --- /dev/null +++ b/config/suppliers/pack-specification/notify-first.json @@ -0,0 +1,48 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "first-c5", + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "BLACK" + }, + "billingId": "notify-first", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 2 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "First class postage tariff", + "id": "notify-first", + "name": "First class", + "postage": { + "deliveryDays": 2, + "id": "first-class", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "DRAFT", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/pack-specification/notify-sameday.json b/config/suppliers/pack-specification/notify-sameday.json new file mode 100644 index 000000000..66b350848 --- /dev/null +++ b/config/suppliers/pack-specification/notify-sameday.json @@ -0,0 +1,51 @@ +{ + "assembly": { + "duplex": true, + "envelopeId": "first-c5", + "features": [ + "SAME_DAY" + ], + "paper": { + "colour": "WHITE", + "id": "paper-std-white-80", + "name": "Standard White 80gsm", + "recycled": true, + "size": "A4", + "weightGSM": 80 + }, + "printColour": "BLACK" + }, + "billingId": "sameday", + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 2 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "createdAt": "2026-01-12T00:00:00.000Z", + "description": "Same day production and dispatch", + "id": "notify-sameday", + "name": "Same day dispatch", + "postage": { + "deliveryDays": 1, + "id": "first-class", + "maxThicknessMm": 5, + "maxWeightGrams": 100, + "size": "STANDARD" + }, + "status": "DRAFT", + "updatedAt": "2026-01-12T00:00:00.000Z", + "version": 1 +} diff --git a/config/suppliers/supplier-allocation/datagraphic-datagraphic.json b/config/suppliers/supplier-allocation/datagraphic-datagraphic.json new file mode 100644 index 000000000..984f34e83 --- /dev/null +++ b/config/suppliers/supplier-allocation/datagraphic-datagraphic.json @@ -0,0 +1,7 @@ +{ + "allocationPercentage": 100, + "id": "datagraphic-datagraphic", + "status": "PROD", + "supplier": "datagraphic", + "volumeGroup": "datagraphic" +} diff --git a/config/suppliers/supplier-allocation/synertec-synertec.json b/config/suppliers/supplier-allocation/synertec-synertec.json new file mode 100644 index 000000000..ddedeb824 --- /dev/null +++ b/config/suppliers/supplier-allocation/synertec-synertec.json @@ -0,0 +1,7 @@ +{ + "allocationPercentage": 100, + "id": "synertec-synertec", + "status": "PROD", + "supplier": "synertec", + "volumeGroup": "synertec" +} diff --git a/config/suppliers/supplier-pack/datagraphic-digitrials-aspiring.json b/config/suppliers/supplier-pack/datagraphic-digitrials-aspiring.json new file mode 100644 index 000000000..f301ac24e --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-digitrials-aspiring.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "datagraphic-digitrials-aspiring", + "packSpecificationId": "digitrials-aspiring", + "status": "PROD", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-digitrials-globalminds.json b/config/suppliers/supplier-pack/datagraphic-digitrials-globalminds.json new file mode 100644 index 000000000..3970a0775 --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-digitrials-globalminds.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "datagraphic-digitrials-globalminds", + "packSpecificationId": "digitrials-globalminds", + "status": "PROD", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-digitrials-mymelanoma.json b/config/suppliers/supplier-pack/datagraphic-digitrials-mymelanoma.json new file mode 100644 index 000000000..f39b6bdf3 --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-digitrials-mymelanoma.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "datagraphic-digitrials-mymelanoma", + "packSpecificationId": "digitrials-mymelanoma", + "status": "PROD", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-digitrials-ofh.json b/config/suppliers/supplier-pack/datagraphic-digitrials-ofh.json new file mode 100644 index 000000000..0dca38fa7 --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-digitrials-ofh.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "datagraphic-digitrials-ofh", + "packSpecificationId": "digitrials-ofh", + "status": "PROD", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-digitrials-prostateprogress.json b/config/suppliers/supplier-pack/datagraphic-digitrials-prostateprogress.json new file mode 100644 index 000000000..0926aa2c6 --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-digitrials-prostateprogress.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "datagraphic-digitrials-prostateprogress", + "packSpecificationId": "digitrials-prostateprogress", + "status": "PROD", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-digitrials-restore.json b/config/suppliers/supplier-pack/datagraphic-digitrials-restore.json new file mode 100644 index 000000000..72c7e1212 --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-digitrials-restore.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "datagraphic-digitrials-restore", + "packSpecificationId": "digitrials-restore", + "status": "PROD", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-admail.json b/config/suppliers/supplier-pack/datagraphic-notify-admail.json new file mode 100644 index 000000000..ebf12c1f8 --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-notify-admail.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "datagraphic-notify-admail", + "packSpecificationId": "notify-admail", + "status": "PROD", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-audio.json b/config/suppliers/supplier-pack/datagraphic-notify-audio.json new file mode 100644 index 000000000..20cbd2f80 --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-notify-audio.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "datagraphic-notify-audio", + "packSpecificationId": "notify-audio", + "status": "DRAFT", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-braille-whitemail.json b/config/suppliers/supplier-pack/datagraphic-notify-braille-whitemail.json new file mode 100644 index 000000000..2c89088bd --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-notify-braille-whitemail.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "datagraphic-notify-braille-whitemail", + "packSpecificationId": "notify-braille-whitemail", + "status": "DRAFT", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-braille.json b/config/suppliers/supplier-pack/datagraphic-notify-braille.json new file mode 100644 index 000000000..d46fcd8ef --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-notify-braille.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "datagraphic-notify-braille", + "packSpecificationId": "notify-braille", + "status": "DRAFT", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-c4.json b/config/suppliers/supplier-pack/datagraphic-notify-c4.json new file mode 100644 index 000000000..e54cd61e9 --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-notify-c4.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "datagraphic-notify-c4", + "packSpecificationId": "notify-c4", + "status": "DRAFT", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-c5-colour.json b/config/suppliers/supplier-pack/datagraphic-notify-c5-colour.json new file mode 100644 index 000000000..aca5790aa --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-notify-c5-colour.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "datagraphic-notify-c5-colour", + "packSpecificationId": "notify-c5-colour", + "status": "INT", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-c5-whitemail.json b/config/suppliers/supplier-pack/datagraphic-notify-c5-whitemail.json new file mode 100644 index 000000000..98daba720 --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-notify-c5-whitemail.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "datagraphic-notify-c5-whitemail", + "packSpecificationId": "notify-c5-whitemail", + "status": "PROD", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-c5.json b/config/suppliers/supplier-pack/datagraphic-notify-c5.json new file mode 100644 index 000000000..cea709c6e --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-notify-c5.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "datagraphic-notify-c5", + "packSpecificationId": "notify-c5", + "status": "PROD", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-first.json b/config/suppliers/supplier-pack/datagraphic-notify-first.json new file mode 100644 index 000000000..a5caef81f --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-notify-first.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "datagraphic-notify-first", + "packSpecificationId": "notify-first", + "status": "DRAFT", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-sameday.json b/config/suppliers/supplier-pack/datagraphic-notify-sameday.json new file mode 100644 index 000000000..309901e0b --- /dev/null +++ b/config/suppliers/supplier-pack/datagraphic-notify-sameday.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "datagraphic-notify-sameday", + "packSpecificationId": "notify-sameday", + "status": "DRAFT", + "supplierId": "datagraphic" +} diff --git a/config/suppliers/supplier-pack/mba-notify-audio.json b/config/suppliers/supplier-pack/mba-notify-audio.json new file mode 100644 index 000000000..6a4f53398 --- /dev/null +++ b/config/suppliers/supplier-pack/mba-notify-audio.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "mba-notify-audio", + "packSpecificationId": "notify-audio", + "status": "DRAFT", + "supplierId": "mba" +} diff --git a/config/suppliers/supplier-pack/mba-notify-braille-whitemail.json b/config/suppliers/supplier-pack/mba-notify-braille-whitemail.json new file mode 100644 index 000000000..00f97f80a --- /dev/null +++ b/config/suppliers/supplier-pack/mba-notify-braille-whitemail.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "mba-notify-braille-whitemail", + "packSpecificationId": "notify-braille-whitemail", + "status": "DRAFT", + "supplierId": "mba" +} diff --git a/config/suppliers/supplier-pack/mba-notify-braille.json b/config/suppliers/supplier-pack/mba-notify-braille.json new file mode 100644 index 000000000..c1bedcabd --- /dev/null +++ b/config/suppliers/supplier-pack/mba-notify-braille.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "mba-notify-braille", + "packSpecificationId": "notify-braille", + "status": "DRAFT", + "supplierId": "mba" +} diff --git a/config/suppliers/supplier-pack/mba-notify-c4.json b/config/suppliers/supplier-pack/mba-notify-c4.json new file mode 100644 index 000000000..2d5b12c0d --- /dev/null +++ b/config/suppliers/supplier-pack/mba-notify-c4.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "mba-notify-c4", + "packSpecificationId": "notify-c4", + "status": "DRAFT", + "supplierId": "mba" +} diff --git a/config/suppliers/supplier-pack/mba-notify-c5-whitemail.json b/config/suppliers/supplier-pack/mba-notify-c5-whitemail.json new file mode 100644 index 000000000..d5daf8217 --- /dev/null +++ b/config/suppliers/supplier-pack/mba-notify-c5-whitemail.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "mba-notify-c5-whitemail", + "packSpecificationId": "notify-c5-whitemail", + "status": "DRAFT", + "supplierId": "mba" +} diff --git a/config/suppliers/supplier-pack/mba-notify-c5.json b/config/suppliers/supplier-pack/mba-notify-c5.json new file mode 100644 index 000000000..5c9f7e67c --- /dev/null +++ b/config/suppliers/supplier-pack/mba-notify-c5.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "mba-notify-c5", + "packSpecificationId": "notify-c5", + "status": "DRAFT", + "supplierId": "mba" +} diff --git a/config/suppliers/supplier-pack/mba-notify-first.json b/config/suppliers/supplier-pack/mba-notify-first.json new file mode 100644 index 000000000..8b2092d95 --- /dev/null +++ b/config/suppliers/supplier-pack/mba-notify-first.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "mba-notify-first", + "packSpecificationId": "notify-first", + "status": "DRAFT", + "supplierId": "mba" +} diff --git a/config/suppliers/supplier-pack/mba-notify-sameday.json b/config/suppliers/supplier-pack/mba-notify-sameday.json new file mode 100644 index 000000000..208210918 --- /dev/null +++ b/config/suppliers/supplier-pack/mba-notify-sameday.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "mba-notify-sameday", + "packSpecificationId": "notify-sameday", + "status": "DRAFT", + "supplierId": "mba" +} diff --git a/config/suppliers/supplier-pack/synertec-nces-abnormal-results-braille.json b/config/suppliers/supplier-pack/synertec-nces-abnormal-results-braille.json new file mode 100644 index 000000000..b27f23748 --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-nces-abnormal-results-braille.json @@ -0,0 +1,7 @@ +{ + "approval": "SUBMITTED", + "id": "synertec-nces-abnormal-results-braille", + "packSpecificationId": "nces-abnormal-results-braille", + "status": "INT", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-nces-abnormal-results.json b/config/suppliers/supplier-pack/synertec-nces-abnormal-results.json new file mode 100644 index 000000000..52c28638d --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-nces-abnormal-results.json @@ -0,0 +1,7 @@ +{ + "approval": "SUBMITTED", + "id": "synertec-nces-abnormal-results", + "packSpecificationId": "nces-abnormal-results", + "status": "INT", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-nces-invites-braille.json b/config/suppliers/supplier-pack/synertec-nces-invites-braille.json new file mode 100644 index 000000000..b22f26ef4 --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-nces-invites-braille.json @@ -0,0 +1,7 @@ +{ + "approval": "SUBMITTED", + "id": "synertec-nces-invites-braille", + "packSpecificationId": "nces-invites-braille", + "status": "INT", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-nces-invites.json b/config/suppliers/supplier-pack/synertec-nces-invites.json new file mode 100644 index 000000000..e84eea5ae --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-nces-invites.json @@ -0,0 +1,7 @@ +{ + "approval": "SUBMITTED", + "id": "synertec-nces-invites", + "packSpecificationId": "nces-invites", + "status": "INT", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-notify-admail-whitemail.json b/config/suppliers/supplier-pack/synertec-notify-admail-whitemail.json new file mode 100644 index 000000000..290abcd88 --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-notify-admail-whitemail.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "synertec-notify-admail-whitemail", + "packSpecificationId": "notify-admail-whitemail", + "status": "PROD", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-notify-admail.json b/config/suppliers/supplier-pack/synertec-notify-admail.json new file mode 100644 index 000000000..96bd162d3 --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-notify-admail.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "synertec-notify-admail", + "packSpecificationId": "notify-admail", + "status": "PROD", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-notify-audio.json b/config/suppliers/supplier-pack/synertec-notify-audio.json new file mode 100644 index 000000000..6b46cc572 --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-notify-audio.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "synertec-notify-audio", + "packSpecificationId": "notify-audio", + "status": "DRAFT", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-notify-braille-whitemail.json b/config/suppliers/supplier-pack/synertec-notify-braille-whitemail.json new file mode 100644 index 000000000..7743da115 --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-notify-braille-whitemail.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "synertec-notify-braille-whitemail", + "packSpecificationId": "notify-braille-whitemail", + "status": "INT", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-notify-braille.json b/config/suppliers/supplier-pack/synertec-notify-braille.json new file mode 100644 index 000000000..8ec9cf25f --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-notify-braille.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "synertec-notify-braille", + "packSpecificationId": "notify-braille", + "status": "INT", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-notify-c4.json b/config/suppliers/supplier-pack/synertec-notify-c4.json new file mode 100644 index 000000000..060591839 --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-notify-c4.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "synertec-notify-c4", + "packSpecificationId": "notify-c4", + "status": "DRAFT", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-notify-c5-colour.json b/config/suppliers/supplier-pack/synertec-notify-c5-colour.json new file mode 100644 index 000000000..16ca8e717 --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-notify-c5-colour.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "synertec-notify-c5-colour", + "packSpecificationId": "notify-c5-colour", + "status": "INT", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-notify-c5-whitemail.json b/config/suppliers/supplier-pack/synertec-notify-c5-whitemail.json new file mode 100644 index 000000000..301ec4806 --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-notify-c5-whitemail.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "synertec-notify-c5-whitemail", + "packSpecificationId": "notify-c5-whitemail", + "status": "PROD", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-notify-c5.json b/config/suppliers/supplier-pack/synertec-notify-c5.json new file mode 100644 index 000000000..80752c2f3 --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-notify-c5.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "synertec-notify-c5", + "packSpecificationId": "notify-c5", + "status": "PROD", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-notify-first.json b/config/suppliers/supplier-pack/synertec-notify-first.json new file mode 100644 index 000000000..9617adbd1 --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-notify-first.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "synertec-notify-first", + "packSpecificationId": "notify-first", + "status": "DRAFT", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier-pack/synertec-notify-sameday.json b/config/suppliers/supplier-pack/synertec-notify-sameday.json new file mode 100644 index 000000000..50f9ff9fd --- /dev/null +++ b/config/suppliers/supplier-pack/synertec-notify-sameday.json @@ -0,0 +1,7 @@ +{ + "approval": "DRAFT", + "id": "synertec-notify-sameday", + "packSpecificationId": "notify-sameday", + "status": "DRAFT", + "supplierId": "synertec" +} diff --git a/config/suppliers/supplier/datagraphic.json b/config/suppliers/supplier/datagraphic.json new file mode 100644 index 000000000..40d0b2ea3 --- /dev/null +++ b/config/suppliers/supplier/datagraphic.json @@ -0,0 +1,7 @@ +{ + "channelType": "LETTER", + "dailyCapacity": 500000, + "id": "datagraphic", + "name": "PSL/Datagraphic", + "status": "PROD" +} diff --git a/config/suppliers/supplier/mba.json b/config/suppliers/supplier/mba.json new file mode 100644 index 000000000..2016fb408 --- /dev/null +++ b/config/suppliers/supplier/mba.json @@ -0,0 +1,7 @@ +{ + "channelType": "LETTER", + "dailyCapacity": 500000, + "id": "mba", + "name": "MBA Group", + "status": "INT" +} diff --git a/config/suppliers/supplier/supplier1.json b/config/suppliers/supplier/supplier1.json new file mode 100644 index 000000000..5ef81166a --- /dev/null +++ b/config/suppliers/supplier/supplier1.json @@ -0,0 +1,7 @@ +{ + "channelType": "LETTER", + "dailyCapacity": 500000, + "id": "supplier1", + "name": "Supplier1", + "status": "PROD" +} diff --git a/config/suppliers/supplier/supplier2.json b/config/suppliers/supplier/supplier2.json new file mode 100644 index 000000000..883da65cc --- /dev/null +++ b/config/suppliers/supplier/supplier2.json @@ -0,0 +1,7 @@ +{ + "channelType": "LETTER", + "dailyCapacity": 500000, + "id": "supplier2", + "name": "Supplier2", + "status": "PROD" +} diff --git a/config/suppliers/supplier/synertec.json b/config/suppliers/supplier/synertec.json new file mode 100644 index 000000000..faa8ef45a --- /dev/null +++ b/config/suppliers/supplier/synertec.json @@ -0,0 +1,7 @@ +{ + "channelType": "LETTER", + "dailyCapacity": 500000, + "id": "synertec", + "name": "Synertec", + "status": "PROD" +} diff --git a/config/suppliers/volume-group/accessible.json b/config/suppliers/volume-group/accessible.json new file mode 100644 index 000000000..8fd399cdc --- /dev/null +++ b/config/suppliers/volume-group/accessible.json @@ -0,0 +1,8 @@ +{ + "description": "Accessible formats", + "endDate": "2028-03-31", + "id": "accessible", + "name": "Accessible", + "startDate": "2026-04-01", + "status": "DRAFT" +} diff --git a/config/suppliers/volume-group/bau.json b/config/suppliers/volume-group/bau.json new file mode 100644 index 000000000..238f3a4a9 --- /dev/null +++ b/config/suppliers/volume-group/bau.json @@ -0,0 +1,8 @@ +{ + "description": "Combined BAU volume", + "endDate": "2028-03-31", + "id": "bau", + "name": "BAU", + "startDate": "2026-04-01", + "status": "DRAFT" +} diff --git a/config/suppliers/volume-group/datagraphic.json b/config/suppliers/volume-group/datagraphic.json new file mode 100644 index 000000000..36951e2b9 --- /dev/null +++ b/config/suppliers/volume-group/datagraphic.json @@ -0,0 +1,7 @@ +{ + "description": "PSL/Datagraphic contract", + "id": "datagraphic", + "name": "Datagraphic", + "startDate": "2026-01-01", + "status": "PROD" +} diff --git a/config/suppliers/volume-group/sameday.json b/config/suppliers/volume-group/sameday.json new file mode 100644 index 000000000..d17c520a2 --- /dev/null +++ b/config/suppliers/volume-group/sameday.json @@ -0,0 +1,8 @@ +{ + "description": "Same day dispatch", + "endDate": "2028-03-31", + "id": "sameday", + "name": "Same Day", + "startDate": "2026-04-01", + "status": "DRAFT" +} diff --git a/config/suppliers/volume-group/synertec.json b/config/suppliers/volume-group/synertec.json new file mode 100644 index 000000000..cdb63ee8a --- /dev/null +++ b/config/suppliers/volume-group/synertec.json @@ -0,0 +1,7 @@ +{ + "description": "Synertec contract", + "id": "synertec", + "name": "Synertec", + "startDate": "2026-01-01", + "status": "PROD" +} diff --git a/infrastructure/terraform/components/api/ddb_table_supplier_configuration.tf b/infrastructure/terraform/components/api/ddb_table_supplier_configuration.tf index 8d089a19b..90b876a6f 100644 --- a/infrastructure/terraform/components/api/ddb_table_supplier_configuration.tf +++ b/infrastructure/terraform/components/api/ddb_table_supplier_configuration.tf @@ -2,8 +2,8 @@ resource "aws_dynamodb_table" "supplier-configuration" { name = "${local.csi}-supplier-config" billing_mode = "PAY_PER_REQUEST" - hash_key = "PK" - range_key = "SK" + hash_key = "pk" + range_key = "sk" ttl { attribute_name = "ttl" @@ -11,12 +11,12 @@ resource "aws_dynamodb_table" "supplier-configuration" { } attribute { - name = "PK" + name = "pk" type = "S" } attribute { - name = "SK" + name = "sk" type = "S" } @@ -34,13 +34,13 @@ resource "aws_dynamodb_table" "supplier-configuration" { global_secondary_index { name = "EntityTypeIndex" hash_key = "entityType" - range_key = "SK" + range_key = "sk" projection_type = "ALL" } global_secondary_index { name = "volumeGroup-index" - hash_key = "PK" + hash_key = "pk" range_key = "volumeGroup" projection_type = "ALL" } From 313d3bc64ffefd3ae49b48604844c7b8b354e3b8 Mon Sep 17 00:00:00 2001 From: David Wass Date: Thu, 9 Apr 2026 14:17:42 +0100 Subject: [PATCH 2/9] Fix existing database access --- internal/datastore/src/__test__/db.ts | 10 +++++----- .../__test__/supplier-config-repository.test.ts | 16 ++++++++-------- .../datastore/src/supplier-config-repository.ts | 10 +++++----- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/internal/datastore/src/__test__/db.ts b/internal/datastore/src/__test__/db.ts index 481166e60..9d0bf0e1e 100644 --- a/internal/datastore/src/__test__/db.ts +++ b/internal/datastore/src/__test__/db.ts @@ -151,14 +151,14 @@ const createSupplierConfigTableCommand = new CreateTableCommand({ TableName: "supplier-config", BillingMode: "PAY_PER_REQUEST", KeySchema: [ - { AttributeName: "PK", KeyType: "HASH" }, // Partition key - { AttributeName: "SK", KeyType: "RANGE" }, // Sort key + { AttributeName: "pk", KeyType: "HASH" }, // Partition key + { AttributeName: "sk", KeyType: "RANGE" }, // Sort key ], GlobalSecondaryIndexes: [ { IndexName: "volumeGroup-index", KeySchema: [ - { AttributeName: "PK", KeyType: "HASH" }, // Partition key for GSI + { AttributeName: "pk", KeyType: "HASH" }, // Partition key for GSI { AttributeName: "volumeGroup", KeyType: "RANGE" }, // Sort key for GSI ], Projection: { @@ -167,8 +167,8 @@ const createSupplierConfigTableCommand = new CreateTableCommand({ }, ], AttributeDefinitions: [ - { AttributeName: "PK", AttributeType: "S" }, - { AttributeName: "SK", AttributeType: "S" }, + { AttributeName: "pk", AttributeType: "S" }, + { AttributeName: "sk", AttributeType: "S" }, { AttributeName: "volumeGroup", AttributeType: "S" }, ], }); diff --git a/internal/datastore/src/__test__/supplier-config-repository.test.ts b/internal/datastore/src/__test__/supplier-config-repository.test.ts index 9fde74f94..ddd44fd4d 100644 --- a/internal/datastore/src/__test__/supplier-config-repository.test.ts +++ b/internal/datastore/src/__test__/supplier-config-repository.test.ts @@ -9,8 +9,8 @@ import { SupplierConfigRepository } from "../supplier-config-repository"; function createLetterVariantItem(variantId: string) { return { - PK: "LETTER_VARIANT", - SK: variantId, + pk: "ENTITY#letter-variant", + sk: `ID#${variantId}`, id: variantId, name: `Variant ${variantId}`, description: `Description for variant ${variantId}`, @@ -29,8 +29,8 @@ function createVolumeGroupItem(groupId: string, status = "PROD") { .toISOString() .split("T")[0]; // Ends in a day to ensure it's active based on end date. Tests can override this if needed. return { - PK: "VOLUME_GROUP", - SK: groupId, + pk: "ENTITY#volume-group", + sk: `ID#${groupId}`, id: groupId, name: `Volume Group ${groupId}`, description: `Description for volume group ${groupId}`, @@ -46,8 +46,8 @@ function createSupplierAllocationItem( supplier: string, ) { return { - PK: `SUPPLIER_ALLOCATION`, - SK: allocationId, + pk: "ENTITY#supplier-allocation", + sk: `ID#${allocationId}`, id: allocationId, status: "PROD", volumeGroup: groupId, @@ -58,8 +58,8 @@ function createSupplierAllocationItem( function createSupplierItem(supplierId: string) { return { - PK: "SUPPLIER", - SK: supplierId, + pk: "ENTITY#supplier", + sk: `ID#${supplierId}`, id: supplierId, name: `Supplier ${supplierId}`, channelType: "LETTER", diff --git a/internal/datastore/src/supplier-config-repository.ts b/internal/datastore/src/supplier-config-repository.ts index 1f82bb0c2..4eeeddb10 100644 --- a/internal/datastore/src/supplier-config-repository.ts +++ b/internal/datastore/src/supplier-config-repository.ts @@ -28,7 +28,7 @@ export class SupplierConfigRepository { const result = await this.ddbClient.send( new GetCommand({ TableName: this.config.supplierConfigTableName, - Key: { PK: "LETTER_VARIANT", SK: variantId }, + Key: { pk: "ENTITY#letter-variant", sk: `ID#${variantId}` }, }), ); if (!result.Item) { @@ -42,7 +42,7 @@ export class SupplierConfigRepository { const result = await this.ddbClient.send( new GetCommand({ TableName: this.config.supplierConfigTableName, - Key: { PK: "VOLUME_GROUP", SK: groupId }, + Key: { pk: "ENTITY#volume-group", sk: `ID#${groupId}` }, }), ); if (!result.Item) { @@ -61,12 +61,12 @@ export class SupplierConfigRepository { KeyConditionExpression: "#pk = :pk AND #group = :groupId", FilterExpression: "#status = :status ", ExpressionAttributeNames: { - "#pk": "PK", + "#pk": "pk", "#group": "volumeGroup", "#status": "status", }, ExpressionAttributeValues: { - ":pk": "SUPPLIER_ALLOCATION", + ":pk": "ENTITY#supplier-allocation", ":groupId": groupId, ":status": "PROD", }, @@ -87,7 +87,7 @@ export class SupplierConfigRepository { const result = await this.ddbClient.send( new GetCommand({ TableName: this.config.supplierConfigTableName, - Key: { PK: "SUPPLIER", SK: supplierId }, + Key: { pk: "ENTITY#supplier", sk: `ID#${supplierId}` }, }), ); if (!result.Item) { From 0e6ee97afcb6022ea7511a0f502a597d87d39b00 Mon Sep 17 00:00:00 2001 From: David Wass Date: Thu, 9 Apr 2026 15:07:17 +0100 Subject: [PATCH 3/9] Initial config dev test data --- .github/workflows/stage-3-build.yaml | 3 +- .../letter-variant/notify-standard-test1.json | 29 +++++++++++++++++++ .../supplier1-volumeGroup-test1.json | 7 +++++ .../supplier2-volumeGroup-test1.json | 7 +++++ .../volume-group/volumeGroup-test1.json | 7 +++++ 5 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 config/suppliers/letter-variant/notify-standard-test1.json create mode 100644 config/suppliers/supplier-allocation/supplier1-volumeGroup-test1.json create mode 100644 config/suppliers/supplier-allocation/supplier2-volumeGroup-test1.json create mode 100644 config/suppliers/volume-group/volumeGroup-test1.json diff --git a/.github/workflows/stage-3-build.yaml b/.github/workflows/stage-3-build.yaml index 516bc9473..253810a11 100644 --- a/.github/workflows/stage-3-build.yaml +++ b/.github/workflows/stage-3-build.yaml @@ -161,7 +161,8 @@ jobs: --targetAccountGroup "nhs-notify-supplier-api-dev" \ --terraformAction "apply" \ --overrideProjectName "nhs" \ - --overrideRoleName "nhs-main-acct-supplier-api-github-deploy" + --overrideRoleName "nhs-main-acct-supplier-api-github-deploy" \ + --internalRef "feature/CCM-12444-supplier-config-publishing-workflow" artefact-proxies: name: "Build proxies" runs-on: ubuntu-latest diff --git a/config/suppliers/letter-variant/notify-standard-test1.json b/config/suppliers/letter-variant/notify-standard-test1.json new file mode 100644 index 000000000..0138a738f --- /dev/null +++ b/config/suppliers/letter-variant/notify-standard-test1.json @@ -0,0 +1,29 @@ +{ + "constraints": { + "blackCoveragePercentage": { + "operator": "LESS_THAN", + "value": 20 + }, + "deliveryDays": { + "operator": "LESS_THAN", + "value": 3 + }, + "sheets": { + "operator": "LESS_THAN", + "value": 5 + }, + "sides": { + "operator": "LESS_THAN", + "value": 10 + } + }, + "description": "Dev test variant for happy path testing", + "id": "notify-standard-test1", + "name": "Dev Happy Path", + "packSpecificationIds": [ + "notify-c5" + ], + "status": "PROD", + "type": "STANDARD", + "volumeGroupId": "volumeGroup-test1" +} diff --git a/config/suppliers/supplier-allocation/supplier1-volumeGroup-test1.json b/config/suppliers/supplier-allocation/supplier1-volumeGroup-test1.json new file mode 100644 index 000000000..81a82b31b --- /dev/null +++ b/config/suppliers/supplier-allocation/supplier1-volumeGroup-test1.json @@ -0,0 +1,7 @@ +{ + "allocationPercentage": 30, + "id": "supplier1-volumeGroup-test1", + "status": "PROD", + "supplier": "supplier1", + "volumeGroup": "volumeGroup-test1" +} diff --git a/config/suppliers/supplier-allocation/supplier2-volumeGroup-test1.json b/config/suppliers/supplier-allocation/supplier2-volumeGroup-test1.json new file mode 100644 index 000000000..9d34abba3 --- /dev/null +++ b/config/suppliers/supplier-allocation/supplier2-volumeGroup-test1.json @@ -0,0 +1,7 @@ +{ + "allocationPercentage": 70, + "id": "supplier2-volumeGroup-test1", + "status": "PROD", + "supplier": "supplier2", + "volumeGroup": "volumeGroup-test1" +} diff --git a/config/suppliers/volume-group/volumeGroup-test1.json b/config/suppliers/volume-group/volumeGroup-test1.json new file mode 100644 index 000000000..3b3bab804 --- /dev/null +++ b/config/suppliers/volume-group/volumeGroup-test1.json @@ -0,0 +1,7 @@ +{ + "description": "Dev Test Volume Group 1", + "id": "volumeGroup-test1", + "name": "Dev Test Volume Group 1", + "startDate": "2026-01-01", + "status": "PROD" +} From a3b547294a6331b49ec630a3d79c1c9e82c12443 Mon Sep 17 00:00:00 2001 From: David Wass Date: Tue, 14 Apr 2026 10:29:28 +0100 Subject: [PATCH 4/9] add force --- .github/scripts/dispatch_internal_repo_workflow.sh | 11 +++++++++++ .github/workflows/stage-3-build.yaml | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/scripts/dispatch_internal_repo_workflow.sh b/.github/scripts/dispatch_internal_repo_workflow.sh index 599292976..0a08d3002 100755 --- a/.github/scripts/dispatch_internal_repo_workflow.sh +++ b/.github/scripts/dispatch_internal_repo_workflow.sh @@ -108,6 +108,10 @@ while [[ $# -gt 0 ]]; do tableName="$2" shift 2 ;; + --force) # Force apply flag (optional) + force="$2" + shift 2 + ;; *) echo "[ERROR] Unknown argument: $1" exit 1 @@ -210,6 +214,10 @@ if [{ -z "$tableName" }]; then tableName="" fi +if [[ -z "$force" ]]; then + force="" +fi + echo "==================== Workflow Dispatch Parameters ====================" echo " infraRepoName: $infraRepoName" echo " releaseVersion: $releaseVersion" @@ -230,6 +238,7 @@ echo " boundedContext: $boundedContext" echo " targetDomain: $targetDomain" echo " version: $version" echo " tableName: $tableName" +echo " force: $force" DISPATCH_EVENT=$(jq -ncM \ --arg infraRepoName "$infraRepoName" \ @@ -250,6 +259,7 @@ DISPATCH_EVENT=$(jq -ncM \ --arg targetDomain "$targetDomain" \ --arg version "$version" \ --arg tableName "$tableName" \ + --arg force "$force" \ '{ "ref": "'"$internalRef"'", "inputs": ( @@ -266,6 +276,7 @@ DISPATCH_EVENT=$(jq -ncM \ (if $targetDomain != "" then { "targetDomain": $targetDomain } else {} end) + (if $version != "" then { "version": $version } else {} end) + (if $tableName != "" then { "tableName": $tableName } else {} end) + + (if $force != "" then { "force": $force } else {} end) + (if $targetAccountGroup != "" then { "targetAccountGroup": $targetAccountGroup } else {} end) + { "releaseVersion": $releaseVersion, diff --git a/.github/workflows/stage-3-build.yaml b/.github/workflows/stage-3-build.yaml index 253810a11..1cbb78848 100644 --- a/.github/workflows/stage-3-build.yaml +++ b/.github/workflows/stage-3-build.yaml @@ -212,4 +212,5 @@ jobs: --targetComponent "config" \ --targetAccountGroup "nhs-notify-suppliers-dev" \ --tableName "supplier-config" \ - --internalRef "feature/CCM-12444-supplier-config-publishing-workflow" + --internalRef "feature/CCM-12444-supplier-config-publishing-workflow" \ + --force "false" From 8b20fb86f1677a518d8381f7db541b1f4b94b72f Mon Sep 17 00:00:00 2001 From: David Wass Date: Thu, 23 Apr 2026 11:11:46 +0100 Subject: [PATCH 5/9] remove PROD supplier config --- .github/workflows/stage-3-build.yaml | 2 +- .../letter-variant/digitrials-aspiring.json | 3 +- .../letter-variant/digitrials-dmapp.json | 38 ------------------- .../digitrials-globalminds.json | 38 ------------------- .../letter-variant/digitrials-mymelanoma.json | 38 ------------------- .../letter-variant/digitrials-ofh.json | 38 ------------------- .../digitrials-prostateprogress.json | 38 ------------------- .../letter-variant/digitrials-protectc.json | 38 ------------------- .../letter-variant/digitrials-restore.json | 38 ------------------- .../letter-variant/gpreg-admail.json | 35 ----------------- .../nces-abnormal-results-braille.json | 31 --------------- .../letter-variant/nces-abnormal-results.json | 31 --------------- .../letter-variant/nces-invites-braille.json | 31 --------------- .../letter-variant/nces-invites.json | 31 --------------- .../letter-variant/nces-standard-braille.json | 31 --------------- .../letter-variant/nces-standard.json | 31 --------------- .../letter-variant/notify-audio.json | 30 --------------- .../letter-variant/notify-braille.json | 30 --------------- .../notify-digital-letters-standard.json | 31 --------------- .../letter-variant/notify-first.json | 30 --------------- .../notify-standard-colour.json | 34 ----------------- .../letter-variant/notify-standard.json | 3 +- .../digitrials-aspiring.json | 2 +- .../pack-specification/notify-c5.json | 2 +- .../datagraphic-datagraphic.json | 7 ---- .../supplier1-volumeGroup-test2.json | 7 ++++ .../supplier1-volumeGroup-test3.json | 7 ++++ .../synertec-synertec.json | 7 ---- config/suppliers/supplier/datagraphic.json | 7 ---- config/suppliers/supplier/mba.json | 7 ---- config/suppliers/supplier/synertec.json | 7 ---- config/suppliers/volume-group/accessible.json | 8 ---- config/suppliers/volume-group/bau.json | 8 ---- .../suppliers/volume-group/datagraphic.json | 7 ---- config/suppliers/volume-group/sameday.json | 8 ---- config/suppliers/volume-group/synertec.json | 7 ---- .../volume-group/volumeGroup-test2.json | 7 ++++ .../volume-group/volumeGroup-test3.json | 7 ++++ 38 files changed, 33 insertions(+), 722 deletions(-) delete mode 100644 config/suppliers/letter-variant/digitrials-dmapp.json delete mode 100644 config/suppliers/letter-variant/digitrials-globalminds.json delete mode 100644 config/suppliers/letter-variant/digitrials-mymelanoma.json delete mode 100644 config/suppliers/letter-variant/digitrials-ofh.json delete mode 100644 config/suppliers/letter-variant/digitrials-prostateprogress.json delete mode 100644 config/suppliers/letter-variant/digitrials-protectc.json delete mode 100644 config/suppliers/letter-variant/digitrials-restore.json delete mode 100644 config/suppliers/letter-variant/gpreg-admail.json delete mode 100644 config/suppliers/letter-variant/nces-abnormal-results-braille.json delete mode 100644 config/suppliers/letter-variant/nces-abnormal-results.json delete mode 100644 config/suppliers/letter-variant/nces-invites-braille.json delete mode 100644 config/suppliers/letter-variant/nces-invites.json delete mode 100644 config/suppliers/letter-variant/nces-standard-braille.json delete mode 100644 config/suppliers/letter-variant/nces-standard.json delete mode 100644 config/suppliers/letter-variant/notify-audio.json delete mode 100644 config/suppliers/letter-variant/notify-braille.json delete mode 100644 config/suppliers/letter-variant/notify-digital-letters-standard.json delete mode 100644 config/suppliers/letter-variant/notify-first.json delete mode 100644 config/suppliers/letter-variant/notify-standard-colour.json delete mode 100644 config/suppliers/supplier-allocation/datagraphic-datagraphic.json create mode 100644 config/suppliers/supplier-allocation/supplier1-volumeGroup-test2.json create mode 100644 config/suppliers/supplier-allocation/supplier1-volumeGroup-test3.json delete mode 100644 config/suppliers/supplier-allocation/synertec-synertec.json delete mode 100644 config/suppliers/supplier/datagraphic.json delete mode 100644 config/suppliers/supplier/mba.json delete mode 100644 config/suppliers/supplier/synertec.json delete mode 100644 config/suppliers/volume-group/accessible.json delete mode 100644 config/suppliers/volume-group/bau.json delete mode 100644 config/suppliers/volume-group/datagraphic.json delete mode 100644 config/suppliers/volume-group/sameday.json delete mode 100644 config/suppliers/volume-group/synertec.json create mode 100644 config/suppliers/volume-group/volumeGroup-test2.json create mode 100644 config/suppliers/volume-group/volumeGroup-test3.json diff --git a/.github/workflows/stage-3-build.yaml b/.github/workflows/stage-3-build.yaml index 1cbb78848..49f1273c3 100644 --- a/.github/workflows/stage-3-build.yaml +++ b/.github/workflows/stage-3-build.yaml @@ -213,4 +213,4 @@ jobs: --targetAccountGroup "nhs-notify-suppliers-dev" \ --tableName "supplier-config" \ --internalRef "feature/CCM-12444-supplier-config-publishing-workflow" \ - --force "false" + --force "true" diff --git a/config/suppliers/letter-variant/digitrials-aspiring.json b/config/suppliers/letter-variant/digitrials-aspiring.json index 35a395c46..eb620430b 100644 --- a/config/suppliers/letter-variant/digitrials-aspiring.json +++ b/config/suppliers/letter-variant/digitrials-aspiring.json @@ -32,7 +32,6 @@ "digitrials-aspiring" ], "status": "INT", - "supplierId": "datagraphic", "type": "STANDARD", - "volumeGroupId": "datagraphic" + "volumeGroupId": "volumeGroup-test3" } diff --git a/config/suppliers/letter-variant/digitrials-dmapp.json b/config/suppliers/letter-variant/digitrials-dmapp.json deleted file mode 100644 index aa7ba5188..000000000 --- a/config/suppliers/letter-variant/digitrials-dmapp.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "campaignIds": [ - "digitrials-dmapp" - ], - "clientId": "digitrials", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Admail, colour printing", - "id": "digitrials-dmapp", - "name": "Digitrials - DMAPP", - "packSpecificationIds": [ - "notify-admail" - ], - "status": "INT", - "supplierId": "datagraphic", - "type": "STANDARD", - "volumeGroupId": "datagraphic" -} diff --git a/config/suppliers/letter-variant/digitrials-globalminds.json b/config/suppliers/letter-variant/digitrials-globalminds.json deleted file mode 100644 index 717c4d0a3..000000000 --- a/config/suppliers/letter-variant/digitrials-globalminds.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "campaignIds": [ - "digitrials-globalminds" - ], - "clientId": "digitrials", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Admail?, colour printing, booklet", - "id": "digitrials-globalminds", - "name": "Digitrials - Global Minds", - "packSpecificationIds": [ - "digitrials-globalminds" - ], - "status": "INT", - "supplierId": "datagraphic", - "type": "STANDARD", - "volumeGroupId": "datagraphic" -} diff --git a/config/suppliers/letter-variant/digitrials-mymelanoma.json b/config/suppliers/letter-variant/digitrials-mymelanoma.json deleted file mode 100644 index 75414128a..000000000 --- a/config/suppliers/letter-variant/digitrials-mymelanoma.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "campaignIds": [ - "digitrials-mymelanoma" - ], - "clientId": "digitrials", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Admail, colour printing, MyMelanoma envelope", - "id": "digitrials-mymelanoma", - "name": "Digitrials - MyMelanoma", - "packSpecificationIds": [ - "digitrials-mymelanoma" - ], - "status": "INT", - "supplierId": "datagraphic", - "type": "STANDARD", - "volumeGroupId": "datagraphic" -} diff --git a/config/suppliers/letter-variant/digitrials-ofh.json b/config/suppliers/letter-variant/digitrials-ofh.json deleted file mode 100644 index 7fd4b6f58..000000000 --- a/config/suppliers/letter-variant/digitrials-ofh.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "campaignIds": [ - "digitrials-ofh" - ], - "clientId": "digitrials", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Admail, colour printing, OFH envelope", - "id": "digitrials-ofh", - "name": "Digitrials - Our Future Health", - "packSpecificationIds": [ - "digitrials-ofh" - ], - "status": "PROD", - "supplierId": "datagraphic", - "type": "STANDARD", - "volumeGroupId": "datagraphic" -} diff --git a/config/suppliers/letter-variant/digitrials-prostateprogress.json b/config/suppliers/letter-variant/digitrials-prostateprogress.json deleted file mode 100644 index 712599250..000000000 --- a/config/suppliers/letter-variant/digitrials-prostateprogress.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "campaignIds": [ - "digitrials-prostateprogress" - ], - "clientId": "digitrials", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 4 - }, - "sides": { - "operator": "LESS_THAN", - "value": 8 - } - }, - "description": "Colour printing, PP envelope, Attachment", - "id": "digitrials-prostateprogress", - "name": "Digitrials - Prostate Progress", - "packSpecificationIds": [ - "digitrials-prostateprogress" - ], - "status": "INT", - "supplierId": "datagraphic", - "type": "STANDARD", - "volumeGroupId": "datagraphic" -} diff --git a/config/suppliers/letter-variant/digitrials-protectc.json b/config/suppliers/letter-variant/digitrials-protectc.json deleted file mode 100644 index 156ff14b3..000000000 --- a/config/suppliers/letter-variant/digitrials-protectc.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "campaignIds": [ - "digitrials-protectc" - ], - "clientId": "digitrials", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Economy, colour printing", - "id": "digitrials-protectc", - "name": "Digitrials - PROTECT-C", - "packSpecificationIds": [ - "notify-c5-colour" - ], - "status": "INT", - "supplierId": "datagraphic", - "type": "STANDARD", - "volumeGroupId": "datagraphic" -} diff --git a/config/suppliers/letter-variant/digitrials-restore.json b/config/suppliers/letter-variant/digitrials-restore.json deleted file mode 100644 index de6be6f3a..000000000 --- a/config/suppliers/letter-variant/digitrials-restore.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "campaignIds": [ - "digitrials-restore" - ], - "clientId": "digitrials", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Admail?, colour printing, booklet", - "id": "digitrials-restore", - "name": "Digitrials - Restore", - "packSpecificationIds": [ - "digitrials-restore" - ], - "status": "INT", - "supplierId": "datagraphic", - "type": "STANDARD", - "volumeGroupId": "datagraphic" -} diff --git a/config/suppliers/letter-variant/gpreg-admail.json b/config/suppliers/letter-variant/gpreg-admail.json deleted file mode 100644 index 8679e96e9..000000000 --- a/config/suppliers/letter-variant/gpreg-admail.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "clientId": "gp-reg", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Letter with admail postage tariff", - "id": "gpreg-admail", - "name": "Admail letter", - "packSpecificationIds": [ - "notify-admail" - ], - "status": "INT", - "supplierId": "synertec", - "type": "STANDARD", - "volumeGroupId": "synertec" -} diff --git a/config/suppliers/letter-variant/nces-abnormal-results-braille.json b/config/suppliers/letter-variant/nces-abnormal-results-braille.json deleted file mode 100644 index 0a42c9415..000000000 --- a/config/suppliers/letter-variant/nces-abnormal-results-braille.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "clientId": "nces", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 1 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 4 - }, - "sides": { - "operator": "LESS_THAN", - "value": 8 - } - }, - "description": "Same Day, Braille, Whitemail, Booklet", - "id": "nces-abnormal-results-braille", - "name": "Cervical Screening Braille Abnormal Results", - "packSpecificationIds": [ - "nces-abnormal-results-braille" - ], - "status": "INT", - "supplierId": "synertec", - "type": "BRAILLE", - "volumeGroupId": "accessible" -} diff --git a/config/suppliers/letter-variant/nces-abnormal-results.json b/config/suppliers/letter-variant/nces-abnormal-results.json deleted file mode 100644 index 0fd4b659f..000000000 --- a/config/suppliers/letter-variant/nces-abnormal-results.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "clientId": "nces", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 1 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 4 - }, - "sides": { - "operator": "LESS_THAN", - "value": 8 - } - }, - "description": "Same Day, Whitemail, Booklet", - "id": "nces-abnormal-results", - "name": "Cervical Screening Abnormal Results", - "packSpecificationIds": [ - "nces-abnormal-results" - ], - "status": "INT", - "supplierId": "synertec", - "type": "STANDARD", - "volumeGroupId": "sameday" -} diff --git a/config/suppliers/letter-variant/nces-invites-braille.json b/config/suppliers/letter-variant/nces-invites-braille.json deleted file mode 100644 index 3d98c879a..000000000 --- a/config/suppliers/letter-variant/nces-invites-braille.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "clientId": "nces", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 4 - }, - "sides": { - "operator": "LESS_THAN", - "value": 8 - } - }, - "description": "Braille, Whitemail, Booklet", - "id": "nces-invites-braille", - "name": "Cervical Screening Braille Invites", - "packSpecificationIds": [ - "nces-invites-braille" - ], - "status": "INT", - "supplierId": "synertec", - "type": "BRAILLE", - "volumeGroupId": "accessible" -} diff --git a/config/suppliers/letter-variant/nces-invites.json b/config/suppliers/letter-variant/nces-invites.json deleted file mode 100644 index 95dcbd804..000000000 --- a/config/suppliers/letter-variant/nces-invites.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "clientId": "nces", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 4 - }, - "sides": { - "operator": "LESS_THAN", - "value": 8 - } - }, - "description": "Business Economy, Whitemail, Booklet", - "id": "nces-invites", - "name": "Cervical Screening Invites", - "packSpecificationIds": [ - "nces-invites" - ], - "status": "INT", - "supplierId": "synertec", - "type": "STANDARD", - "volumeGroupId": "bau" -} diff --git a/config/suppliers/letter-variant/nces-standard-braille.json b/config/suppliers/letter-variant/nces-standard-braille.json deleted file mode 100644 index 191eebbe1..000000000 --- a/config/suppliers/letter-variant/nces-standard-braille.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "clientId": "nces", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Braille, Whitemail", - "id": "nces-standard-braille", - "name": "Cervical Screening Standard Braille Letters", - "packSpecificationIds": [ - "notify-braille-whitemail" - ], - "status": "INT", - "supplierId": "synertec", - "type": "BRAILLE", - "volumeGroupId": "accessible" -} diff --git a/config/suppliers/letter-variant/nces-standard.json b/config/suppliers/letter-variant/nces-standard.json deleted file mode 100644 index d512df617..000000000 --- a/config/suppliers/letter-variant/nces-standard.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "clientId": "nces", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Business Economy, Whitemail", - "id": "nces-standard", - "name": "Cervical Screening Standard Letters", - "packSpecificationIds": [ - "notify-c5-whitemail" - ], - "status": "PROD", - "supplierId": "synertec", - "type": "STANDARD", - "volumeGroupId": "synertec" -} diff --git a/config/suppliers/letter-variant/notify-audio.json b/config/suppliers/letter-variant/notify-audio.json deleted file mode 100644 index bb80b3e4b..000000000 --- a/config/suppliers/letter-variant/notify-audio.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Audio CD with standard letter", - "id": "notify-audio", - "name": "Audio CD Letter", - "packSpecificationIds": [ - "notify-audio" - ], - "status": "DRAFT", - "supplierId": "synertec", - "type": "AUDIO", - "volumeGroupId": "accessible" -} diff --git a/config/suppliers/letter-variant/notify-braille.json b/config/suppliers/letter-variant/notify-braille.json deleted file mode 100644 index 90fd88153..000000000 --- a/config/suppliers/letter-variant/notify-braille.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Braille letter with standard letter", - "id": "notify-braille", - "name": "Braille Letter", - "packSpecificationIds": [ - "notify-braille" - ], - "status": "INT", - "supplierId": "synertec", - "type": "BRAILLE", - "volumeGroupId": "accessible" -} diff --git a/config/suppliers/letter-variant/notify-digital-letters-standard.json b/config/suppliers/letter-variant/notify-digital-letters-standard.json deleted file mode 100644 index 1cb96e32c..000000000 --- a/config/suppliers/letter-variant/notify-digital-letters-standard.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "clientId": "digital-letters", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Black printing, economy postage tariff", - "id": "notify-digital-letters-standard", - "name": "Standard Letter Variant for Digital Letters fallback", - "packSpecificationIds": [ - "notify-c5" - ], - "status": "INT", - "supplierId": "synertec", - "type": "STANDARD", - "volumeGroupId": "synertec" -} diff --git a/config/suppliers/letter-variant/notify-first.json b/config/suppliers/letter-variant/notify-first.json deleted file mode 100644 index a3741e885..000000000 --- a/config/suppliers/letter-variant/notify-first.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 2 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Black printing, first class postage tariff", - "id": "notify-first", - "name": "First class letter", - "packSpecificationIds": [ - "notify-first" - ], - "status": "DRAFT", - "supplierId": "synertec", - "type": "STANDARD", - "volumeGroupId": "bau" -} diff --git a/config/suppliers/letter-variant/notify-standard-colour.json b/config/suppliers/letter-variant/notify-standard-colour.json deleted file mode 100644 index d21617cb5..000000000 --- a/config/suppliers/letter-variant/notify-standard-colour.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "description": "Colour printing, economy postage tariff", - "id": "notify-standard-colour", - "name": "Standard Letter (colour)", - "packSpecificationIds": [ - "notify-c5-colour" - ], - "status": "INT", - "supplierId": "synertec", - "type": "STANDARD", - "volumeGroupId": "datagraphic" -} diff --git a/config/suppliers/letter-variant/notify-standard.json b/config/suppliers/letter-variant/notify-standard.json index 5b0a4d9b8..9f1ec1504 100644 --- a/config/suppliers/letter-variant/notify-standard.json +++ b/config/suppliers/letter-variant/notify-standard.json @@ -24,7 +24,6 @@ "notify-c5" ], "status": "PROD", - "supplierId": "synertec", "type": "STANDARD", - "volumeGroupId": "synertec" + "volumeGroupId": "volumeGroup-test2" } diff --git a/config/suppliers/pack-specification/digitrials-aspiring.json b/config/suppliers/pack-specification/digitrials-aspiring.json index d9a478388..e4a79cef6 100644 --- a/config/suppliers/pack-specification/digitrials-aspiring.json +++ b/config/suppliers/pack-specification/digitrials-aspiring.json @@ -18,7 +18,7 @@ }, "printColour": "COLOUR" }, - "billingId": "insert-economy", + "billingId": "digitrials-aspiring-billing", "constraints": { "blackCoveragePercentage": { "operator": "LESS_THAN", diff --git a/config/suppliers/pack-specification/notify-c5.json b/config/suppliers/pack-specification/notify-c5.json index b656c17fa..2a4024a91 100644 --- a/config/suppliers/pack-specification/notify-c5.json +++ b/config/suppliers/pack-specification/notify-c5.json @@ -12,7 +12,7 @@ }, "printColour": "BLACK" }, - "billingId": "notify-c5", + "billingId": "notify-c5-billing", "constraints": { "blackCoveragePercentage": { "operator": "LESS_THAN", diff --git a/config/suppliers/supplier-allocation/datagraphic-datagraphic.json b/config/suppliers/supplier-allocation/datagraphic-datagraphic.json deleted file mode 100644 index 984f34e83..000000000 --- a/config/suppliers/supplier-allocation/datagraphic-datagraphic.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "allocationPercentage": 100, - "id": "datagraphic-datagraphic", - "status": "PROD", - "supplier": "datagraphic", - "volumeGroup": "datagraphic" -} diff --git a/config/suppliers/supplier-allocation/supplier1-volumeGroup-test2.json b/config/suppliers/supplier-allocation/supplier1-volumeGroup-test2.json new file mode 100644 index 000000000..cada2db0a --- /dev/null +++ b/config/suppliers/supplier-allocation/supplier1-volumeGroup-test2.json @@ -0,0 +1,7 @@ +{ + "allocationPercentage": 100, + "id": "supplier1-volumeGroup-test2", + "status": "PROD", + "supplier": "supplier1", + "volumeGroup": "volumeGroup-test2" +} diff --git a/config/suppliers/supplier-allocation/supplier1-volumeGroup-test3.json b/config/suppliers/supplier-allocation/supplier1-volumeGroup-test3.json new file mode 100644 index 000000000..f08467c9f --- /dev/null +++ b/config/suppliers/supplier-allocation/supplier1-volumeGroup-test3.json @@ -0,0 +1,7 @@ +{ + "allocationPercentage": 100, + "id": "supplier1-volumeGroup-test3", + "status": "PROD", + "supplier": "supplier1", + "volumeGroup": "volumeGroup-test3" +} diff --git a/config/suppliers/supplier-allocation/synertec-synertec.json b/config/suppliers/supplier-allocation/synertec-synertec.json deleted file mode 100644 index ddedeb824..000000000 --- a/config/suppliers/supplier-allocation/synertec-synertec.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "allocationPercentage": 100, - "id": "synertec-synertec", - "status": "PROD", - "supplier": "synertec", - "volumeGroup": "synertec" -} diff --git a/config/suppliers/supplier/datagraphic.json b/config/suppliers/supplier/datagraphic.json deleted file mode 100644 index 40d0b2ea3..000000000 --- a/config/suppliers/supplier/datagraphic.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "channelType": "LETTER", - "dailyCapacity": 500000, - "id": "datagraphic", - "name": "PSL/Datagraphic", - "status": "PROD" -} diff --git a/config/suppliers/supplier/mba.json b/config/suppliers/supplier/mba.json deleted file mode 100644 index 2016fb408..000000000 --- a/config/suppliers/supplier/mba.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "channelType": "LETTER", - "dailyCapacity": 500000, - "id": "mba", - "name": "MBA Group", - "status": "INT" -} diff --git a/config/suppliers/supplier/synertec.json b/config/suppliers/supplier/synertec.json deleted file mode 100644 index faa8ef45a..000000000 --- a/config/suppliers/supplier/synertec.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "channelType": "LETTER", - "dailyCapacity": 500000, - "id": "synertec", - "name": "Synertec", - "status": "PROD" -} diff --git a/config/suppliers/volume-group/accessible.json b/config/suppliers/volume-group/accessible.json deleted file mode 100644 index 8fd399cdc..000000000 --- a/config/suppliers/volume-group/accessible.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "description": "Accessible formats", - "endDate": "2028-03-31", - "id": "accessible", - "name": "Accessible", - "startDate": "2026-04-01", - "status": "DRAFT" -} diff --git a/config/suppliers/volume-group/bau.json b/config/suppliers/volume-group/bau.json deleted file mode 100644 index 238f3a4a9..000000000 --- a/config/suppliers/volume-group/bau.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "description": "Combined BAU volume", - "endDate": "2028-03-31", - "id": "bau", - "name": "BAU", - "startDate": "2026-04-01", - "status": "DRAFT" -} diff --git a/config/suppliers/volume-group/datagraphic.json b/config/suppliers/volume-group/datagraphic.json deleted file mode 100644 index 36951e2b9..000000000 --- a/config/suppliers/volume-group/datagraphic.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "description": "PSL/Datagraphic contract", - "id": "datagraphic", - "name": "Datagraphic", - "startDate": "2026-01-01", - "status": "PROD" -} diff --git a/config/suppliers/volume-group/sameday.json b/config/suppliers/volume-group/sameday.json deleted file mode 100644 index d17c520a2..000000000 --- a/config/suppliers/volume-group/sameday.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "description": "Same day dispatch", - "endDate": "2028-03-31", - "id": "sameday", - "name": "Same Day", - "startDate": "2026-04-01", - "status": "DRAFT" -} diff --git a/config/suppliers/volume-group/synertec.json b/config/suppliers/volume-group/synertec.json deleted file mode 100644 index cdb63ee8a..000000000 --- a/config/suppliers/volume-group/synertec.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "description": "Synertec contract", - "id": "synertec", - "name": "Synertec", - "startDate": "2026-01-01", - "status": "PROD" -} diff --git a/config/suppliers/volume-group/volumeGroup-test2.json b/config/suppliers/volume-group/volumeGroup-test2.json new file mode 100644 index 000000000..0eb829ec2 --- /dev/null +++ b/config/suppliers/volume-group/volumeGroup-test2.json @@ -0,0 +1,7 @@ +{ + "description": "Dev Test Volume Group 2", + "id": "volumeGroup-test2", + "name": "Dev Test Volume Group 2", + "startDate": "2026-01-01", + "status": "PROD" +} diff --git a/config/suppliers/volume-group/volumeGroup-test3.json b/config/suppliers/volume-group/volumeGroup-test3.json new file mode 100644 index 000000000..650199fe3 --- /dev/null +++ b/config/suppliers/volume-group/volumeGroup-test3.json @@ -0,0 +1,7 @@ +{ + "description": "Dev Test Volume Group 3", + "id": "volumeGroup-test3", + "name": "Dev Test Volume Group 3", + "startDate": "2026-01-01", + "status": "PROD" +} From c3e697768fbc0469fb99448798b8fddab8502df4 Mon Sep 17 00:00:00 2001 From: David Wass Date: Thu, 23 Apr 2026 13:48:36 +0100 Subject: [PATCH 6/9] review changes --- .github/workflows/stage-3-build.yaml | 44 ++++++++++++++-------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/stage-3-build.yaml b/.github/workflows/stage-3-build.yaml index 49f1273c3..07b98d374 100644 --- a/.github/workflows/stage-3-build.yaml +++ b/.github/workflows/stage-3-build.yaml @@ -163,28 +163,6 @@ jobs: --overrideProjectName "nhs" \ --overrideRoleName "nhs-main-acct-supplier-api-github-deploy" \ --internalRef "feature/CCM-12444-supplier-config-publishing-workflow" - artefact-proxies: - name: "Build proxies" - runs-on: ubuntu-latest - if: inputs.deploy_proxy == 'true' - needs: [artefact-oas-spec-sandbox, pr-create-dynamic-environment] - timeout-minutes: 10 - env: - PROXYGEN_API_NAME: nhs-notify-supplier - APP_CLIENT_ID: ${{ secrets.APP_CLIENT_ID }} - APP_PEM_FILE: ${{ secrets.APP_PEM_FILE }} - steps: - - name: "Checkout code" - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 - - name: "Build proxies" - uses: ./.github/actions/build-proxies - with: - version: "${{ inputs.version }}" - environment: ${{ needs.pr-create-dynamic-environment.outputs.environment_name }} - apimEnv: "internal-dev-sandbox" - runId: "${{ github.run_id }}" - buildSandbox: true - releaseVersion: ${{ github.head_ref || github.ref_name }} populate-config: name: "Populate Supplier Config" runs-on: ubuntu-latest @@ -214,3 +192,25 @@ jobs: --tableName "supplier-config" \ --internalRef "feature/CCM-12444-supplier-config-publishing-workflow" \ --force "true" + artefact-proxies: + name: "Build proxies" + runs-on: ubuntu-latest + if: inputs.deploy_proxy == 'true' + needs: [artefact-oas-spec-sandbox, pr-create-dynamic-environment] + timeout-minutes: 10 + env: + PROXYGEN_API_NAME: nhs-notify-supplier + APP_CLIENT_ID: ${{ secrets.APP_CLIENT_ID }} + APP_PEM_FILE: ${{ secrets.APP_PEM_FILE }} + steps: + - name: "Checkout code" + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 + - name: "Build proxies" + uses: ./.github/actions/build-proxies + with: + version: "${{ inputs.version }}" + environment: ${{ needs.pr-create-dynamic-environment.outputs.environment_name }} + apimEnv: "internal-dev-sandbox" + runId: "${{ github.run_id }}" + buildSandbox: true + releaseVersion: ${{ github.head_ref || github.ref_name }} From a4579a366efd699422ea5855f13a69d6446022be Mon Sep 17 00:00:00 2001 From: David Wass Date: Fri, 24 Apr 2026 14:14:47 +0100 Subject: [PATCH 7/9] point at internal main --- .github/workflows/stage-3-build.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/stage-3-build.yaml b/.github/workflows/stage-3-build.yaml index 07b98d374..ca92c27a8 100644 --- a/.github/workflows/stage-3-build.yaml +++ b/.github/workflows/stage-3-build.yaml @@ -161,8 +161,7 @@ jobs: --targetAccountGroup "nhs-notify-supplier-api-dev" \ --terraformAction "apply" \ --overrideProjectName "nhs" \ - --overrideRoleName "nhs-main-acct-supplier-api-github-deploy" \ - --internalRef "feature/CCM-12444-supplier-config-publishing-workflow" + --overrideRoleName "nhs-main-acct-supplier-api-github-deploy" populate-config: name: "Populate Supplier Config" runs-on: ubuntu-latest @@ -190,7 +189,6 @@ jobs: --targetComponent "config" \ --targetAccountGroup "nhs-notify-suppliers-dev" \ --tableName "supplier-config" \ - --internalRef "feature/CCM-12444-supplier-config-publishing-workflow" \ --force "true" artefact-proxies: name: "Build proxies" From 1fda0c92c32cb555cb63ed55c2dd3982dcc178b2 Mon Sep 17 00:00:00 2001 From: David Wass Date: Mon, 27 Apr 2026 10:01:11 +0100 Subject: [PATCH 8/9] minimal anaonymised data set --- ...ls-aspiring.json => client1-aspiring.json} | 10 ++-- .../letter-variant/notify-standard-test1.json | 3 +- ...ls-aspiring.json => client1-aspiring.json} | 10 ++-- .../digitrials-globalminds.json | 56 ------------------ .../digitrials-mymelanoma.json | 55 ------------------ .../pack-specification/digitrials-ofh.json | 55 ------------------ .../digitrials-prostateprogress.json | 55 ------------------ .../digitrials-restore.json | 58 ------------------- .../nces-abnormal-results-braille.json | 53 ----------------- .../nces-abnormal-results.json | 53 ----------------- .../nces-invites-braille.json | 51 ---------------- .../pack-specification/nces-invites.json | 50 ---------------- .../notify-admail-whitemail.json | 51 ---------------- .../pack-specification/notify-admail.json | 54 ----------------- .../pack-specification/notify-audio.json | 48 --------------- .../notify-braille-whitemail.json | 49 ---------------- .../pack-specification/notify-braille.json | 48 --------------- .../pack-specification/notify-c5-colour.json | 52 ----------------- .../notify-c5-whitemail.json | 48 --------------- .../pack-specification/notify-first.json | 48 --------------- .../pack-specification/notify-sameday.json | 51 ---------------- .../datagraphic-digitrials-aspiring.json | 7 --- .../datagraphic-digitrials-globalminds.json | 7 --- .../datagraphic-digitrials-mymelanoma.json | 7 --- .../datagraphic-digitrials-ofh.json | 7 --- ...tagraphic-digitrials-prostateprogress.json | 7 --- .../datagraphic-digitrials-restore.json | 7 --- .../datagraphic-notify-admail.json | 7 --- .../datagraphic-notify-audio.json | 7 --- .../datagraphic-notify-braille-whitemail.json | 7 --- .../datagraphic-notify-braille.json | 7 --- .../supplier-pack/datagraphic-notify-c4.json | 7 --- .../datagraphic-notify-c5-colour.json | 7 --- .../datagraphic-notify-c5-whitemail.json | 7 --- .../supplier-pack/datagraphic-notify-c5.json | 7 --- .../datagraphic-notify-first.json | 7 --- .../datagraphic-notify-sameday.json | 7 --- .../supplier-pack/mba-notify-audio.json | 7 --- .../mba-notify-braille-whitemail.json | 7 --- .../supplier-pack/mba-notify-braille.json | 7 --- .../supplier-pack/mba-notify-c4.json | 7 --- .../mba-notify-c5-whitemail.json | 7 --- .../supplier-pack/mba-notify-c5.json | 7 --- .../supplier-pack/mba-notify-first.json | 7 --- .../supplier-pack/mba-notify-sameday.json | 7 --- .../supplier1-client1-aspiring.json | 7 +++ ...otify-c4.json => supplier1-notify-c4.json} | 4 +- ...otify-c5.json => supplier1-notify-c5.json} | 4 +- ...ynertec-nces-abnormal-results-braille.json | 7 --- .../synertec-nces-abnormal-results.json | 7 --- .../synertec-nces-invites-braille.json | 7 --- .../supplier-pack/synertec-nces-invites.json | 7 --- .../synertec-notify-admail-whitemail.json | 7 --- .../supplier-pack/synertec-notify-admail.json | 7 --- .../supplier-pack/synertec-notify-audio.json | 7 --- .../synertec-notify-braille-whitemail.json | 7 --- .../synertec-notify-braille.json | 7 --- .../synertec-notify-c5-colour.json | 7 --- .../synertec-notify-c5-whitemail.json | 7 --- .../supplier-pack/synertec-notify-first.json | 7 --- .../synertec-notify-sameday.json | 7 --- 61 files changed, 23 insertions(+), 1209 deletions(-) rename config/suppliers/letter-variant/{digitrials-aspiring.json => client1-aspiring.json} (81%) rename config/suppliers/pack-specification/{digitrials-aspiring.json => client1-aspiring.json} (83%) delete mode 100644 config/suppliers/pack-specification/digitrials-globalminds.json delete mode 100644 config/suppliers/pack-specification/digitrials-mymelanoma.json delete mode 100644 config/suppliers/pack-specification/digitrials-ofh.json delete mode 100644 config/suppliers/pack-specification/digitrials-prostateprogress.json delete mode 100644 config/suppliers/pack-specification/digitrials-restore.json delete mode 100644 config/suppliers/pack-specification/nces-abnormal-results-braille.json delete mode 100644 config/suppliers/pack-specification/nces-abnormal-results.json delete mode 100644 config/suppliers/pack-specification/nces-invites-braille.json delete mode 100644 config/suppliers/pack-specification/nces-invites.json delete mode 100644 config/suppliers/pack-specification/notify-admail-whitemail.json delete mode 100644 config/suppliers/pack-specification/notify-admail.json delete mode 100644 config/suppliers/pack-specification/notify-audio.json delete mode 100644 config/suppliers/pack-specification/notify-braille-whitemail.json delete mode 100644 config/suppliers/pack-specification/notify-braille.json delete mode 100644 config/suppliers/pack-specification/notify-c5-colour.json delete mode 100644 config/suppliers/pack-specification/notify-c5-whitemail.json delete mode 100644 config/suppliers/pack-specification/notify-first.json delete mode 100644 config/suppliers/pack-specification/notify-sameday.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-digitrials-aspiring.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-digitrials-globalminds.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-digitrials-mymelanoma.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-digitrials-ofh.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-digitrials-prostateprogress.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-digitrials-restore.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-notify-admail.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-notify-audio.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-notify-braille-whitemail.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-notify-braille.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-notify-c4.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-notify-c5-colour.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-notify-c5-whitemail.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-notify-c5.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-notify-first.json delete mode 100644 config/suppliers/supplier-pack/datagraphic-notify-sameday.json delete mode 100644 config/suppliers/supplier-pack/mba-notify-audio.json delete mode 100644 config/suppliers/supplier-pack/mba-notify-braille-whitemail.json delete mode 100644 config/suppliers/supplier-pack/mba-notify-braille.json delete mode 100644 config/suppliers/supplier-pack/mba-notify-c4.json delete mode 100644 config/suppliers/supplier-pack/mba-notify-c5-whitemail.json delete mode 100644 config/suppliers/supplier-pack/mba-notify-c5.json delete mode 100644 config/suppliers/supplier-pack/mba-notify-first.json delete mode 100644 config/suppliers/supplier-pack/mba-notify-sameday.json create mode 100644 config/suppliers/supplier-pack/supplier1-client1-aspiring.json rename config/suppliers/supplier-pack/{synertec-notify-c4.json => supplier1-notify-c4.json} (59%) rename config/suppliers/supplier-pack/{synertec-notify-c5.json => supplier1-notify-c5.json} (59%) delete mode 100644 config/suppliers/supplier-pack/synertec-nces-abnormal-results-braille.json delete mode 100644 config/suppliers/supplier-pack/synertec-nces-abnormal-results.json delete mode 100644 config/suppliers/supplier-pack/synertec-nces-invites-braille.json delete mode 100644 config/suppliers/supplier-pack/synertec-nces-invites.json delete mode 100644 config/suppliers/supplier-pack/synertec-notify-admail-whitemail.json delete mode 100644 config/suppliers/supplier-pack/synertec-notify-admail.json delete mode 100644 config/suppliers/supplier-pack/synertec-notify-audio.json delete mode 100644 config/suppliers/supplier-pack/synertec-notify-braille-whitemail.json delete mode 100644 config/suppliers/supplier-pack/synertec-notify-braille.json delete mode 100644 config/suppliers/supplier-pack/synertec-notify-c5-colour.json delete mode 100644 config/suppliers/supplier-pack/synertec-notify-c5-whitemail.json delete mode 100644 config/suppliers/supplier-pack/synertec-notify-first.json delete mode 100644 config/suppliers/supplier-pack/synertec-notify-sameday.json diff --git a/config/suppliers/letter-variant/digitrials-aspiring.json b/config/suppliers/letter-variant/client1-aspiring.json similarity index 81% rename from config/suppliers/letter-variant/digitrials-aspiring.json rename to config/suppliers/letter-variant/client1-aspiring.json index eb620430b..0123304b2 100644 --- a/config/suppliers/letter-variant/digitrials-aspiring.json +++ b/config/suppliers/letter-variant/client1-aspiring.json @@ -1,8 +1,8 @@ { "campaignIds": [ - "digitrials-aspiring" + "client1-aspiring" ], - "clientId": "digitrials", + "clientId": "client1", "constraints": { "blackCoveragePercentage": { "operator": "LESS_THAN", @@ -26,10 +26,10 @@ } }, "description": "Colour printing, ASPIRING envelope, Attachment", - "id": "digitrials-aspiring", - "name": "Digitrials - ASPIRING", + "id": "client1-aspiring", + "name": "Client1 - ASPIRING", "packSpecificationIds": [ - "digitrials-aspiring" + "client1-aspiring" ], "status": "INT", "type": "STANDARD", diff --git a/config/suppliers/letter-variant/notify-standard-test1.json b/config/suppliers/letter-variant/notify-standard-test1.json index 0138a738f..dda16237b 100644 --- a/config/suppliers/letter-variant/notify-standard-test1.json +++ b/config/suppliers/letter-variant/notify-standard-test1.json @@ -21,7 +21,8 @@ "id": "notify-standard-test1", "name": "Dev Happy Path", "packSpecificationIds": [ - "notify-c5" + "notify-c5", + "notify-c4" ], "status": "PROD", "type": "STANDARD", diff --git a/config/suppliers/pack-specification/digitrials-aspiring.json b/config/suppliers/pack-specification/client1-aspiring.json similarity index 83% rename from config/suppliers/pack-specification/digitrials-aspiring.json rename to config/suppliers/pack-specification/client1-aspiring.json index e4a79cef6..a75b59e29 100644 --- a/config/suppliers/pack-specification/digitrials-aspiring.json +++ b/config/suppliers/pack-specification/client1-aspiring.json @@ -1,12 +1,12 @@ { "assembly": { "duplex": true, - "envelopeId": "digitrials-aspiring", + "envelopeId": "client1-aspiring", "features": [ "ADMAIL" ], "insertIds": [ - "digitrials-aspiring-fast-facts-attachment" + "client1-aspiring-fast-facts-attachment" ], "paper": { "colour": "WHITE", @@ -18,7 +18,7 @@ }, "printColour": "COLOUR" }, - "billingId": "digitrials-aspiring-billing", + "billingId": "client1-aspiring-billing", "constraints": { "blackCoveragePercentage": { "operator": "LESS_THAN", @@ -43,8 +43,8 @@ }, "createdAt": "2026-01-12T00:00:00.000Z", "description": "Envelope and attachment for ASPIRING", - "id": "digitrials-aspiring", - "name": "Digitrials - ASPIRING", + "id": "client1-aspiring", + "name": "Client1 - ASPIRING", "postage": { "deliveryDays": 3, "id": "economy", diff --git a/config/suppliers/pack-specification/digitrials-globalminds.json b/config/suppliers/pack-specification/digitrials-globalminds.json deleted file mode 100644 index e7aa11130..000000000 --- a/config/suppliers/pack-specification/digitrials-globalminds.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "economy-c5", - "features": [ - "ADMAIL" - ], - "insertIds": [ - "digitrials-globalminds-booklet" - ], - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "COLOUR" - }, - "billingId": "insert-admail-economy", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 4 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "description": "Envelope and booklet for Global Minds", - "id": "digitrials-globalminds", - "name": "Digitrials - Global Minds", - "postage": { - "deliveryDays": 4, - "id": "admail-economy", - "size": "STANDARD" - }, - "status": "PROD", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/digitrials-mymelanoma.json b/config/suppliers/pack-specification/digitrials-mymelanoma.json deleted file mode 100644 index 1061f995a..000000000 --- a/config/suppliers/pack-specification/digitrials-mymelanoma.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "digitrials-mymelanoma", - "features": [ - "ADMAIL" - ], - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "COLOUR" - }, - "billingId": "admail-economy", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 4 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "description": "Envelope for My Melanoma", - "id": "digitrials-mymelanoma", - "name": "Digitrials - MyMelanoma", - "postage": { - "deliveryDays": 4, - "id": "admail-economy", - "maxThicknessMm": 5, - "maxWeightGrams": 100, - "size": "STANDARD" - }, - "status": "PROD", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/digitrials-ofh.json b/config/suppliers/pack-specification/digitrials-ofh.json deleted file mode 100644 index fd143e8ba..000000000 --- a/config/suppliers/pack-specification/digitrials-ofh.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "digitrials-ofh", - "features": [ - "ADMAIL" - ], - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "COLOUR" - }, - "billingId": "admail-economy", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 4 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "description": "Envelope for Our Future Health", - "id": "digitrials-ofh", - "name": "Digitrials - Our Future Health", - "postage": { - "deliveryDays": 4, - "id": "admail-economy", - "maxThicknessMm": 5, - "maxWeightGrams": 100, - "size": "STANDARD" - }, - "status": "PROD", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/digitrials-prostateprogress.json b/config/suppliers/pack-specification/digitrials-prostateprogress.json deleted file mode 100644 index bb6cd9bbc..000000000 --- a/config/suppliers/pack-specification/digitrials-prostateprogress.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "digitrials-prostateprogress", - "insertIds": [ - "digitrials-prostateprogress-leaflet" - ], - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "COLOUR" - }, - "billingId": "insert-admail-economy", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 4 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "createdAt": "2026-02-04T00:00:00.000Z", - "description": "Envelope and insert for Prostate Progress", - "id": "digitrials-prostateprogress", - "name": "Digitrials - Prostate Progress", - "postage": { - "deliveryDays": 4, - "id": "admail-economy", - "maxThicknessMm": 5, - "maxWeightGrams": 100, - "size": "STANDARD" - }, - "status": "PROD", - "updatedAt": "2026-02-04T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/digitrials-restore.json b/config/suppliers/pack-specification/digitrials-restore.json deleted file mode 100644 index d3a5b3c4b..000000000 --- a/config/suppliers/pack-specification/digitrials-restore.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "economy-c5", - "features": [ - "ADMAIL" - ], - "insertIds": [ - "digitrials-restore-leaflet" - ], - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "COLOUR" - }, - "billingId": "insert-admail-economy", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 4 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 4 - }, - "sides": { - "operator": "LESS_THAN", - "value": 8 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "description": "Insert for Restore", - "id": "digitrials-restore", - "name": "Digitrials - Restore", - "postage": { - "deliveryDays": 4, - "id": "admail-economy", - "maxThicknessMm": 5, - "maxWeightGrams": 100, - "size": "STANDARD" - }, - "status": "PROD", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/nces-abnormal-results-braille.json b/config/suppliers/pack-specification/nces-abnormal-results-braille.json deleted file mode 100644 index 97d3eaab7..000000000 --- a/config/suppliers/pack-specification/nces-abnormal-results-braille.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "braille-whitemail", - "features": [ - "BRAILLE", - "SAME_DAY" - ], - "insertIds": [ - "CSP15" - ], - "paper": { - "colour": "WHITE", - "id": "paper-braille", - "name": "Braille Paper", - "recycled": true, - "size": "A4", - "weightGSM": 120 - }, - "printColour": "BLACK" - }, - "billingId": "sameday-insert-braille", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 1 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 4 - }, - "sides": { - "operator": "LESS_THAN", - "value": 8 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "id": "nces-abnormal-results-braille", - "name": "NCES Abnormal Results Braille", - "postage": { - "deliveryDays": 1, - "id": "articles-blind", - "maxWeightGrams": 100, - "size": "STANDARD" - }, - "status": "INT", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/nces-abnormal-results.json b/config/suppliers/pack-specification/nces-abnormal-results.json deleted file mode 100644 index 600fd4aca..000000000 --- a/config/suppliers/pack-specification/nces-abnormal-results.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "first-c5-whitemail", - "features": [ - "SAME_DAY" - ], - "insertIds": [ - "CSP15" - ], - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "BLACK" - }, - "billingId": "sameday-insert-c5", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 1 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 4 - }, - "sides": { - "operator": "LESS_THAN", - "value": 8 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "id": "nces-abnormal-results", - "name": "NCES Abnormal Results", - "postage": { - "deliveryDays": 1, - "id": "first-class", - "maxThicknessMm": 5, - "maxWeightGrams": 100, - "size": "STANDARD" - }, - "status": "INT", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/nces-invites-braille.json b/config/suppliers/pack-specification/nces-invites-braille.json deleted file mode 100644 index f24712659..000000000 --- a/config/suppliers/pack-specification/nces-invites-braille.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "braille-whitemail", - "features": [ - "BRAILLE" - ], - "insertIds": [ - "CSP14" - ], - "paper": { - "colour": "WHITE", - "id": "paper-braille", - "name": "Braille Paper", - "recycled": true, - "size": "A4", - "weightGSM": 120 - }, - "printColour": "BLACK" - }, - "billingId": "insert-braille", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 4 - }, - "sides": { - "operator": "LESS_THAN", - "value": 8 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "id": "nces-invites-braille", - "name": "NCES Invites Braille", - "postage": { - "deliveryDays": 3, - "id": "articles-blind", - "size": "STANDARD" - }, - "status": "INT", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/nces-invites.json b/config/suppliers/pack-specification/nces-invites.json deleted file mode 100644 index e057cc35d..000000000 --- a/config/suppliers/pack-specification/nces-invites.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "economy-c5-whitemail", - "insertIds": [ - "CSP14" - ], - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "BLACK" - }, - "billingId": "insert-admail-economy", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 4 - }, - "sides": { - "operator": "LESS_THAN", - "value": 8 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "id": "nces-invites", - "name": "NCES Invites", - "postage": { - "deliveryDays": 3, - "id": "admail-economy", - "maxThicknessMm": 5, - "maxWeightGrams": 100, - "size": "STANDARD" - }, - "status": "INT", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/notify-admail-whitemail.json b/config/suppliers/pack-specification/notify-admail-whitemail.json deleted file mode 100644 index 0132b71f9..000000000 --- a/config/suppliers/pack-specification/notify-admail-whitemail.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "economy-c5", - "features": [ - "ADMAIL" - ], - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "BLACK" - }, - "billingId": "insert-admail-economy", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 2 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "description": "Admail economy tariff with whitemail envelope", - "id": "notify-admail-whitemail", - "name": "Admail (whitemail)", - "postage": { - "deliveryDays": 4, - "id": "admail-economy", - "maxThicknessMm": 5, - "maxWeightGrams": 100, - "size": "STANDARD" - }, - "status": "PROD", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/notify-admail.json b/config/suppliers/pack-specification/notify-admail.json deleted file mode 100644 index 7344a939b..000000000 --- a/config/suppliers/pack-specification/notify-admail.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "economy-c5", - "features": [ - "ADMAIL" - ], - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "BLACK" - }, - "billingId": "admail", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "description": "Admail economy tariff, B&W", - "id": "notify-admail", - "name": "Admail", - "postage": { - "id": "admail", - "maxThicknessMm": 5, - "maxWeightGrams": 100, - "size": "STANDARD" - }, - "status": "PROD", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 2 -} diff --git a/config/suppliers/pack-specification/notify-audio.json b/config/suppliers/pack-specification/notify-audio.json deleted file mode 100644 index e5fb5002e..000000000 --- a/config/suppliers/pack-specification/notify-audio.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "audio", - "features": [ - "AUDIO" - ], - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "BLACK" - }, - "billingId": "notify-audio", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "id": "notify-audio", - "name": "Audio CD", - "postage": { - "deliveryDays": 3, - "id": "articles-blind", - "size": "STANDARD" - }, - "status": "DRAFT", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/notify-braille-whitemail.json b/config/suppliers/pack-specification/notify-braille-whitemail.json deleted file mode 100644 index 2ef1f05f6..000000000 --- a/config/suppliers/pack-specification/notify-braille-whitemail.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "braille-whitemail", - "features": [ - "BRAILLE" - ], - "paper": { - "colour": "WHITE", - "id": "paper-braille", - "name": "Braille Paper", - "recycled": true, - "size": "A4", - "weightGSM": 120 - }, - "printColour": "BLACK" - }, - "billingId": "notify-braille", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "description": "Braille pack with whitemail return address", - "id": "notify-braille-whitemail", - "name": "Braille letter (whitemail)", - "postage": { - "deliveryDays": 3, - "id": "articles-blind", - "size": "STANDARD" - }, - "status": "PROD", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/notify-braille.json b/config/suppliers/pack-specification/notify-braille.json deleted file mode 100644 index 4417ce98d..000000000 --- a/config/suppliers/pack-specification/notify-braille.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "braille", - "features": [ - "BRAILLE" - ], - "paper": { - "colour": "WHITE", - "id": "paper-braille", - "name": "Braille Paper", - "recycled": true, - "size": "A4", - "weightGSM": 120 - }, - "printColour": "BLACK" - }, - "billingId": "notify-braille", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "id": "notify-braille", - "name": "Braille Letter", - "postage": { - "deliveryDays": 3, - "id": "articles-blind", - "size": "STANDARD" - }, - "status": "PROD", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/notify-c5-colour.json b/config/suppliers/pack-specification/notify-c5-colour.json deleted file mode 100644 index fdcee099d..000000000 --- a/config/suppliers/pack-specification/notify-c5-colour.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "economy-c5", - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "COLOUR" - }, - "billingId": "notify-c5-colour", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "colourCoveragePercentage": { - "operator": "LESS_THAN", - "value": 10 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 2 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "description": "C5 pack with colour printing", - "id": "notify-c5-colour", - "name": "Notify standard (colour)", - "postage": { - "deliveryDays": 3, - "id": "economy", - "maxThicknessMm": 5, - "maxWeightGrams": 100, - "size": "STANDARD" - }, - "status": "INT", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/notify-c5-whitemail.json b/config/suppliers/pack-specification/notify-c5-whitemail.json deleted file mode 100644 index 0341599ea..000000000 --- a/config/suppliers/pack-specification/notify-c5-whitemail.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "economy-c5-whitemail", - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "BLACK" - }, - "billingId": "notify-c5", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 3 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "description": "C5 pack with whitemail return address", - "id": "notify-c5-whitemail", - "name": "Notify standard (whitemail)", - "postage": { - "deliveryDays": 3, - "id": "economy", - "maxThicknessMm": 5, - "maxWeightGrams": 100, - "size": "STANDARD" - }, - "status": "PROD", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/notify-first.json b/config/suppliers/pack-specification/notify-first.json deleted file mode 100644 index 55543a47e..000000000 --- a/config/suppliers/pack-specification/notify-first.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "first-c5", - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "BLACK" - }, - "billingId": "notify-first", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 2 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "description": "First class postage tariff", - "id": "notify-first", - "name": "First class", - "postage": { - "deliveryDays": 2, - "id": "first-class", - "maxThicknessMm": 5, - "maxWeightGrams": 100, - "size": "STANDARD" - }, - "status": "DRAFT", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/pack-specification/notify-sameday.json b/config/suppliers/pack-specification/notify-sameday.json deleted file mode 100644 index 66b350848..000000000 --- a/config/suppliers/pack-specification/notify-sameday.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "assembly": { - "duplex": true, - "envelopeId": "first-c5", - "features": [ - "SAME_DAY" - ], - "paper": { - "colour": "WHITE", - "id": "paper-std-white-80", - "name": "Standard White 80gsm", - "recycled": true, - "size": "A4", - "weightGSM": 80 - }, - "printColour": "BLACK" - }, - "billingId": "sameday", - "constraints": { - "blackCoveragePercentage": { - "operator": "LESS_THAN", - "value": 20 - }, - "deliveryDays": { - "operator": "LESS_THAN", - "value": 2 - }, - "sheets": { - "operator": "LESS_THAN", - "value": 5 - }, - "sides": { - "operator": "LESS_THAN", - "value": 10 - } - }, - "createdAt": "2026-01-12T00:00:00.000Z", - "description": "Same day production and dispatch", - "id": "notify-sameday", - "name": "Same day dispatch", - "postage": { - "deliveryDays": 1, - "id": "first-class", - "maxThicknessMm": 5, - "maxWeightGrams": 100, - "size": "STANDARD" - }, - "status": "DRAFT", - "updatedAt": "2026-01-12T00:00:00.000Z", - "version": 1 -} diff --git a/config/suppliers/supplier-pack/datagraphic-digitrials-aspiring.json b/config/suppliers/supplier-pack/datagraphic-digitrials-aspiring.json deleted file mode 100644 index f301ac24e..000000000 --- a/config/suppliers/supplier-pack/datagraphic-digitrials-aspiring.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "datagraphic-digitrials-aspiring", - "packSpecificationId": "digitrials-aspiring", - "status": "PROD", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-digitrials-globalminds.json b/config/suppliers/supplier-pack/datagraphic-digitrials-globalminds.json deleted file mode 100644 index 3970a0775..000000000 --- a/config/suppliers/supplier-pack/datagraphic-digitrials-globalminds.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "datagraphic-digitrials-globalminds", - "packSpecificationId": "digitrials-globalminds", - "status": "PROD", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-digitrials-mymelanoma.json b/config/suppliers/supplier-pack/datagraphic-digitrials-mymelanoma.json deleted file mode 100644 index f39b6bdf3..000000000 --- a/config/suppliers/supplier-pack/datagraphic-digitrials-mymelanoma.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "datagraphic-digitrials-mymelanoma", - "packSpecificationId": "digitrials-mymelanoma", - "status": "PROD", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-digitrials-ofh.json b/config/suppliers/supplier-pack/datagraphic-digitrials-ofh.json deleted file mode 100644 index 0dca38fa7..000000000 --- a/config/suppliers/supplier-pack/datagraphic-digitrials-ofh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "datagraphic-digitrials-ofh", - "packSpecificationId": "digitrials-ofh", - "status": "PROD", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-digitrials-prostateprogress.json b/config/suppliers/supplier-pack/datagraphic-digitrials-prostateprogress.json deleted file mode 100644 index 0926aa2c6..000000000 --- a/config/suppliers/supplier-pack/datagraphic-digitrials-prostateprogress.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "datagraphic-digitrials-prostateprogress", - "packSpecificationId": "digitrials-prostateprogress", - "status": "PROD", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-digitrials-restore.json b/config/suppliers/supplier-pack/datagraphic-digitrials-restore.json deleted file mode 100644 index 72c7e1212..000000000 --- a/config/suppliers/supplier-pack/datagraphic-digitrials-restore.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "datagraphic-digitrials-restore", - "packSpecificationId": "digitrials-restore", - "status": "PROD", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-admail.json b/config/suppliers/supplier-pack/datagraphic-notify-admail.json deleted file mode 100644 index ebf12c1f8..000000000 --- a/config/suppliers/supplier-pack/datagraphic-notify-admail.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "datagraphic-notify-admail", - "packSpecificationId": "notify-admail", - "status": "PROD", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-audio.json b/config/suppliers/supplier-pack/datagraphic-notify-audio.json deleted file mode 100644 index 20cbd2f80..000000000 --- a/config/suppliers/supplier-pack/datagraphic-notify-audio.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "datagraphic-notify-audio", - "packSpecificationId": "notify-audio", - "status": "DRAFT", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-braille-whitemail.json b/config/suppliers/supplier-pack/datagraphic-notify-braille-whitemail.json deleted file mode 100644 index 2c89088bd..000000000 --- a/config/suppliers/supplier-pack/datagraphic-notify-braille-whitemail.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "datagraphic-notify-braille-whitemail", - "packSpecificationId": "notify-braille-whitemail", - "status": "DRAFT", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-braille.json b/config/suppliers/supplier-pack/datagraphic-notify-braille.json deleted file mode 100644 index d46fcd8ef..000000000 --- a/config/suppliers/supplier-pack/datagraphic-notify-braille.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "datagraphic-notify-braille", - "packSpecificationId": "notify-braille", - "status": "DRAFT", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-c4.json b/config/suppliers/supplier-pack/datagraphic-notify-c4.json deleted file mode 100644 index e54cd61e9..000000000 --- a/config/suppliers/supplier-pack/datagraphic-notify-c4.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "datagraphic-notify-c4", - "packSpecificationId": "notify-c4", - "status": "DRAFT", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-c5-colour.json b/config/suppliers/supplier-pack/datagraphic-notify-c5-colour.json deleted file mode 100644 index aca5790aa..000000000 --- a/config/suppliers/supplier-pack/datagraphic-notify-c5-colour.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "datagraphic-notify-c5-colour", - "packSpecificationId": "notify-c5-colour", - "status": "INT", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-c5-whitemail.json b/config/suppliers/supplier-pack/datagraphic-notify-c5-whitemail.json deleted file mode 100644 index 98daba720..000000000 --- a/config/suppliers/supplier-pack/datagraphic-notify-c5-whitemail.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "datagraphic-notify-c5-whitemail", - "packSpecificationId": "notify-c5-whitemail", - "status": "PROD", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-c5.json b/config/suppliers/supplier-pack/datagraphic-notify-c5.json deleted file mode 100644 index cea709c6e..000000000 --- a/config/suppliers/supplier-pack/datagraphic-notify-c5.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "datagraphic-notify-c5", - "packSpecificationId": "notify-c5", - "status": "PROD", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-first.json b/config/suppliers/supplier-pack/datagraphic-notify-first.json deleted file mode 100644 index a5caef81f..000000000 --- a/config/suppliers/supplier-pack/datagraphic-notify-first.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "datagraphic-notify-first", - "packSpecificationId": "notify-first", - "status": "DRAFT", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/datagraphic-notify-sameday.json b/config/suppliers/supplier-pack/datagraphic-notify-sameday.json deleted file mode 100644 index 309901e0b..000000000 --- a/config/suppliers/supplier-pack/datagraphic-notify-sameday.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "datagraphic-notify-sameday", - "packSpecificationId": "notify-sameday", - "status": "DRAFT", - "supplierId": "datagraphic" -} diff --git a/config/suppliers/supplier-pack/mba-notify-audio.json b/config/suppliers/supplier-pack/mba-notify-audio.json deleted file mode 100644 index 6a4f53398..000000000 --- a/config/suppliers/supplier-pack/mba-notify-audio.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "mba-notify-audio", - "packSpecificationId": "notify-audio", - "status": "DRAFT", - "supplierId": "mba" -} diff --git a/config/suppliers/supplier-pack/mba-notify-braille-whitemail.json b/config/suppliers/supplier-pack/mba-notify-braille-whitemail.json deleted file mode 100644 index 00f97f80a..000000000 --- a/config/suppliers/supplier-pack/mba-notify-braille-whitemail.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "mba-notify-braille-whitemail", - "packSpecificationId": "notify-braille-whitemail", - "status": "DRAFT", - "supplierId": "mba" -} diff --git a/config/suppliers/supplier-pack/mba-notify-braille.json b/config/suppliers/supplier-pack/mba-notify-braille.json deleted file mode 100644 index c1bedcabd..000000000 --- a/config/suppliers/supplier-pack/mba-notify-braille.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "mba-notify-braille", - "packSpecificationId": "notify-braille", - "status": "DRAFT", - "supplierId": "mba" -} diff --git a/config/suppliers/supplier-pack/mba-notify-c4.json b/config/suppliers/supplier-pack/mba-notify-c4.json deleted file mode 100644 index 2d5b12c0d..000000000 --- a/config/suppliers/supplier-pack/mba-notify-c4.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "mba-notify-c4", - "packSpecificationId": "notify-c4", - "status": "DRAFT", - "supplierId": "mba" -} diff --git a/config/suppliers/supplier-pack/mba-notify-c5-whitemail.json b/config/suppliers/supplier-pack/mba-notify-c5-whitemail.json deleted file mode 100644 index d5daf8217..000000000 --- a/config/suppliers/supplier-pack/mba-notify-c5-whitemail.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "mba-notify-c5-whitemail", - "packSpecificationId": "notify-c5-whitemail", - "status": "DRAFT", - "supplierId": "mba" -} diff --git a/config/suppliers/supplier-pack/mba-notify-c5.json b/config/suppliers/supplier-pack/mba-notify-c5.json deleted file mode 100644 index 5c9f7e67c..000000000 --- a/config/suppliers/supplier-pack/mba-notify-c5.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "mba-notify-c5", - "packSpecificationId": "notify-c5", - "status": "DRAFT", - "supplierId": "mba" -} diff --git a/config/suppliers/supplier-pack/mba-notify-first.json b/config/suppliers/supplier-pack/mba-notify-first.json deleted file mode 100644 index 8b2092d95..000000000 --- a/config/suppliers/supplier-pack/mba-notify-first.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "mba-notify-first", - "packSpecificationId": "notify-first", - "status": "DRAFT", - "supplierId": "mba" -} diff --git a/config/suppliers/supplier-pack/mba-notify-sameday.json b/config/suppliers/supplier-pack/mba-notify-sameday.json deleted file mode 100644 index 208210918..000000000 --- a/config/suppliers/supplier-pack/mba-notify-sameday.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "mba-notify-sameday", - "packSpecificationId": "notify-sameday", - "status": "DRAFT", - "supplierId": "mba" -} diff --git a/config/suppliers/supplier-pack/supplier1-client1-aspiring.json b/config/suppliers/supplier-pack/supplier1-client1-aspiring.json new file mode 100644 index 000000000..d57932f78 --- /dev/null +++ b/config/suppliers/supplier-pack/supplier1-client1-aspiring.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "supplier1-client1-aspiring", + "packSpecificationId": "client1-aspiring", + "status": "PROD", + "supplierId": "supplier1" +} diff --git a/config/suppliers/supplier-pack/synertec-notify-c4.json b/config/suppliers/supplier-pack/supplier1-notify-c4.json similarity index 59% rename from config/suppliers/supplier-pack/synertec-notify-c4.json rename to config/suppliers/supplier-pack/supplier1-notify-c4.json index 060591839..c804a0d5a 100644 --- a/config/suppliers/supplier-pack/synertec-notify-c4.json +++ b/config/suppliers/supplier-pack/supplier1-notify-c4.json @@ -1,7 +1,7 @@ { "approval": "DRAFT", - "id": "synertec-notify-c4", + "id": "supplier1-notify-c4", "packSpecificationId": "notify-c4", "status": "DRAFT", - "supplierId": "synertec" + "supplierId": "supplier1" } diff --git a/config/suppliers/supplier-pack/synertec-notify-c5.json b/config/suppliers/supplier-pack/supplier1-notify-c5.json similarity index 59% rename from config/suppliers/supplier-pack/synertec-notify-c5.json rename to config/suppliers/supplier-pack/supplier1-notify-c5.json index 80752c2f3..1b49bce1d 100644 --- a/config/suppliers/supplier-pack/synertec-notify-c5.json +++ b/config/suppliers/supplier-pack/supplier1-notify-c5.json @@ -1,7 +1,7 @@ { "approval": "APPROVED", - "id": "synertec-notify-c5", + "id": "supplier1-notify-c5", "packSpecificationId": "notify-c5", "status": "PROD", - "supplierId": "synertec" + "supplierId": "supplier1" } diff --git a/config/suppliers/supplier-pack/synertec-nces-abnormal-results-braille.json b/config/suppliers/supplier-pack/synertec-nces-abnormal-results-braille.json deleted file mode 100644 index b27f23748..000000000 --- a/config/suppliers/supplier-pack/synertec-nces-abnormal-results-braille.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "SUBMITTED", - "id": "synertec-nces-abnormal-results-braille", - "packSpecificationId": "nces-abnormal-results-braille", - "status": "INT", - "supplierId": "synertec" -} diff --git a/config/suppliers/supplier-pack/synertec-nces-abnormal-results.json b/config/suppliers/supplier-pack/synertec-nces-abnormal-results.json deleted file mode 100644 index 52c28638d..000000000 --- a/config/suppliers/supplier-pack/synertec-nces-abnormal-results.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "SUBMITTED", - "id": "synertec-nces-abnormal-results", - "packSpecificationId": "nces-abnormal-results", - "status": "INT", - "supplierId": "synertec" -} diff --git a/config/suppliers/supplier-pack/synertec-nces-invites-braille.json b/config/suppliers/supplier-pack/synertec-nces-invites-braille.json deleted file mode 100644 index b22f26ef4..000000000 --- a/config/suppliers/supplier-pack/synertec-nces-invites-braille.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "SUBMITTED", - "id": "synertec-nces-invites-braille", - "packSpecificationId": "nces-invites-braille", - "status": "INT", - "supplierId": "synertec" -} diff --git a/config/suppliers/supplier-pack/synertec-nces-invites.json b/config/suppliers/supplier-pack/synertec-nces-invites.json deleted file mode 100644 index e84eea5ae..000000000 --- a/config/suppliers/supplier-pack/synertec-nces-invites.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "SUBMITTED", - "id": "synertec-nces-invites", - "packSpecificationId": "nces-invites", - "status": "INT", - "supplierId": "synertec" -} diff --git a/config/suppliers/supplier-pack/synertec-notify-admail-whitemail.json b/config/suppliers/supplier-pack/synertec-notify-admail-whitemail.json deleted file mode 100644 index 290abcd88..000000000 --- a/config/suppliers/supplier-pack/synertec-notify-admail-whitemail.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "synertec-notify-admail-whitemail", - "packSpecificationId": "notify-admail-whitemail", - "status": "PROD", - "supplierId": "synertec" -} diff --git a/config/suppliers/supplier-pack/synertec-notify-admail.json b/config/suppliers/supplier-pack/synertec-notify-admail.json deleted file mode 100644 index 96bd162d3..000000000 --- a/config/suppliers/supplier-pack/synertec-notify-admail.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "synertec-notify-admail", - "packSpecificationId": "notify-admail", - "status": "PROD", - "supplierId": "synertec" -} diff --git a/config/suppliers/supplier-pack/synertec-notify-audio.json b/config/suppliers/supplier-pack/synertec-notify-audio.json deleted file mode 100644 index 6b46cc572..000000000 --- a/config/suppliers/supplier-pack/synertec-notify-audio.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "synertec-notify-audio", - "packSpecificationId": "notify-audio", - "status": "DRAFT", - "supplierId": "synertec" -} diff --git a/config/suppliers/supplier-pack/synertec-notify-braille-whitemail.json b/config/suppliers/supplier-pack/synertec-notify-braille-whitemail.json deleted file mode 100644 index 7743da115..000000000 --- a/config/suppliers/supplier-pack/synertec-notify-braille-whitemail.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "synertec-notify-braille-whitemail", - "packSpecificationId": "notify-braille-whitemail", - "status": "INT", - "supplierId": "synertec" -} diff --git a/config/suppliers/supplier-pack/synertec-notify-braille.json b/config/suppliers/supplier-pack/synertec-notify-braille.json deleted file mode 100644 index 8ec9cf25f..000000000 --- a/config/suppliers/supplier-pack/synertec-notify-braille.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "synertec-notify-braille", - "packSpecificationId": "notify-braille", - "status": "INT", - "supplierId": "synertec" -} diff --git a/config/suppliers/supplier-pack/synertec-notify-c5-colour.json b/config/suppliers/supplier-pack/synertec-notify-c5-colour.json deleted file mode 100644 index 16ca8e717..000000000 --- a/config/suppliers/supplier-pack/synertec-notify-c5-colour.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "synertec-notify-c5-colour", - "packSpecificationId": "notify-c5-colour", - "status": "INT", - "supplierId": "synertec" -} diff --git a/config/suppliers/supplier-pack/synertec-notify-c5-whitemail.json b/config/suppliers/supplier-pack/synertec-notify-c5-whitemail.json deleted file mode 100644 index 301ec4806..000000000 --- a/config/suppliers/supplier-pack/synertec-notify-c5-whitemail.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "synertec-notify-c5-whitemail", - "packSpecificationId": "notify-c5-whitemail", - "status": "PROD", - "supplierId": "synertec" -} diff --git a/config/suppliers/supplier-pack/synertec-notify-first.json b/config/suppliers/supplier-pack/synertec-notify-first.json deleted file mode 100644 index 9617adbd1..000000000 --- a/config/suppliers/supplier-pack/synertec-notify-first.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "synertec-notify-first", - "packSpecificationId": "notify-first", - "status": "DRAFT", - "supplierId": "synertec" -} diff --git a/config/suppliers/supplier-pack/synertec-notify-sameday.json b/config/suppliers/supplier-pack/synertec-notify-sameday.json deleted file mode 100644 index 50f9ff9fd..000000000 --- a/config/suppliers/supplier-pack/synertec-notify-sameday.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "DRAFT", - "id": "synertec-notify-sameday", - "packSpecificationId": "notify-sameday", - "status": "DRAFT", - "supplierId": "synertec" -} From 89c29a90a16a38c40dafb843ab547f14277e0739 Mon Sep 17 00:00:00 2001 From: David Wass Date: Mon, 27 Apr 2026 13:07:45 +0100 Subject: [PATCH 9/9] review changes --- .github/scripts/dispatch_internal_repo_workflow.sh | 2 +- ...{client1-aspiring.json => client1-campaign.json} | 10 +++++----- ...{client1-aspiring.json => client1-campaign.json} | 12 ++++++------ .../supplier-pack/supplier1-client1-aspiring.json | 7 ------- .../supplier-pack/supplier1-client1-campaign.json | 7 +++++++ .../api/ddb_table_supplier_configuration.tf | 13 ------------- 6 files changed, 19 insertions(+), 32 deletions(-) rename config/suppliers/letter-variant/{client1-aspiring.json => client1-campaign.json} (77%) rename config/suppliers/pack-specification/{client1-aspiring.json => client1-campaign.json} (80%) delete mode 100644 config/suppliers/supplier-pack/supplier1-client1-aspiring.json create mode 100644 config/suppliers/supplier-pack/supplier1-client1-campaign.json diff --git a/.github/scripts/dispatch_internal_repo_workflow.sh b/.github/scripts/dispatch_internal_repo_workflow.sh index 0a08d3002..dd7b1a540 100755 --- a/.github/scripts/dispatch_internal_repo_workflow.sh +++ b/.github/scripts/dispatch_internal_repo_workflow.sh @@ -291,7 +291,7 @@ echo "[INFO] Triggering workflow '$targetWorkflow' in nhs-notify-internal..." echo "[DEBUG] Dispatch event payload: $DISPATCH_EVENT" trigger_response=$(curl -s -L \ - --fail-with-body \ + --fail \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer ${PR_TRIGGER_PAT}" \ diff --git a/config/suppliers/letter-variant/client1-aspiring.json b/config/suppliers/letter-variant/client1-campaign.json similarity index 77% rename from config/suppliers/letter-variant/client1-aspiring.json rename to config/suppliers/letter-variant/client1-campaign.json index 0123304b2..0843d9375 100644 --- a/config/suppliers/letter-variant/client1-aspiring.json +++ b/config/suppliers/letter-variant/client1-campaign.json @@ -1,6 +1,6 @@ { "campaignIds": [ - "client1-aspiring" + "client1-campaign" ], "clientId": "client1", "constraints": { @@ -25,11 +25,11 @@ "value": 6 } }, - "description": "Colour printing, ASPIRING envelope, Attachment", - "id": "client1-aspiring", - "name": "Client1 - ASPIRING", + "description": "Colour printing, campaign envelope, Attachment", + "id": "client1-campaign", + "name": "Client1 - campaign", "packSpecificationIds": [ - "client1-aspiring" + "client1-campaign" ], "status": "INT", "type": "STANDARD", diff --git a/config/suppliers/pack-specification/client1-aspiring.json b/config/suppliers/pack-specification/client1-campaign.json similarity index 80% rename from config/suppliers/pack-specification/client1-aspiring.json rename to config/suppliers/pack-specification/client1-campaign.json index a75b59e29..e00d68f9a 100644 --- a/config/suppliers/pack-specification/client1-aspiring.json +++ b/config/suppliers/pack-specification/client1-campaign.json @@ -1,12 +1,12 @@ { "assembly": { "duplex": true, - "envelopeId": "client1-aspiring", + "envelopeId": "client1-campaign", "features": [ "ADMAIL" ], "insertIds": [ - "client1-aspiring-fast-facts-attachment" + "client1-campaign-fast-facts-attachment" ], "paper": { "colour": "WHITE", @@ -18,7 +18,7 @@ }, "printColour": "COLOUR" }, - "billingId": "client1-aspiring-billing", + "billingId": "client1-campaign-billing", "constraints": { "blackCoveragePercentage": { "operator": "LESS_THAN", @@ -42,9 +42,9 @@ } }, "createdAt": "2026-01-12T00:00:00.000Z", - "description": "Envelope and attachment for ASPIRING", - "id": "client1-aspiring", - "name": "Client1 - ASPIRING", + "description": "Envelope and attachment for campaign", + "id": "client1-campaign", + "name": "Client1 - campaign", "postage": { "deliveryDays": 3, "id": "economy", diff --git a/config/suppliers/supplier-pack/supplier1-client1-aspiring.json b/config/suppliers/supplier-pack/supplier1-client1-aspiring.json deleted file mode 100644 index d57932f78..000000000 --- a/config/suppliers/supplier-pack/supplier1-client1-aspiring.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "approval": "APPROVED", - "id": "supplier1-client1-aspiring", - "packSpecificationId": "client1-aspiring", - "status": "PROD", - "supplierId": "supplier1" -} diff --git a/config/suppliers/supplier-pack/supplier1-client1-campaign.json b/config/suppliers/supplier-pack/supplier1-client1-campaign.json new file mode 100644 index 000000000..3340acdb1 --- /dev/null +++ b/config/suppliers/supplier-pack/supplier1-client1-campaign.json @@ -0,0 +1,7 @@ +{ + "approval": "APPROVED", + "id": "supplier1-client1-campaign", + "packSpecificationId": "client1-campaign", + "status": "PROD", + "supplierId": "supplier1" +} diff --git a/infrastructure/terraform/components/api/ddb_table_supplier_configuration.tf b/infrastructure/terraform/components/api/ddb_table_supplier_configuration.tf index 90b876a6f..f751e2ef4 100644 --- a/infrastructure/terraform/components/api/ddb_table_supplier_configuration.tf +++ b/infrastructure/terraform/components/api/ddb_table_supplier_configuration.tf @@ -20,24 +20,11 @@ resource "aws_dynamodb_table" "supplier-configuration" { type = "S" } - attribute { - name = "entityType" - type = "S" - } - attribute { name = "volumeGroup" type = "S" } - // The type-index GSI allows us to query for all supplier configurations of a given type (e.g. all letter supplier configurations) - global_secondary_index { - name = "EntityTypeIndex" - hash_key = "entityType" - range_key = "sk" - projection_type = "ALL" - } - global_secondary_index { name = "volumeGroup-index" hash_key = "pk"