diff --git a/docs/assets/aws-icons-mermaid.json b/docs/assets/aws-icons-mermaid.json index f43480f44..4e4ae2fc5 100644 --- a/docs/assets/aws-icons-mermaid.json +++ b/docs/assets/aws-icons-mermaid.json @@ -3530,6 +3530,9 @@ "res-amazon-eventbridge-event": { "body": "" }, + "res-aws-systems-manager-parameter-store": { + "body": "" + }, "reserved-instance-reporting": { "body": "", "height": 64, @@ -3997,9 +4000,6 @@ "systems-manager-opscenter": { "body": "" }, - "systems-manager-parameter-store": { - "body": "" - }, "systems-manager-patch-manager": { "body": "" }, diff --git a/docs/collections/_diagrams/c4code-mesh-poller.md b/docs/collections/_diagrams/c4code-mesh-poller.md index e52cd3eca..d359bc31c 100644 --- a/docs/collections/_diagrams/c4code-mesh-poller.md +++ b/docs/collections/_diagrams/c4code-mesh-poller.md @@ -10,9 +10,11 @@ architecture-beta service meshDownloaded(aws:res-amazon-eventbridge-event)[MeshPollerTimerExpired Event] service pdmSaved(aws:res-amazon-eventbridge-event)[MESHInboxMessageReceived Event] service meshPollLambda(logos:aws-lambda)[MeshPoll] in meshPoller + service clientConfig(aws:res-aws-systems-manager-parameter-store)[Client Configuration] in meshPoller service mesh(server)[MESH] meshDownloaded:R -- L:meshPollLambda - meshPollLambda:T --> B:mesh + clientConfig:B --> T:meshPollLambda + meshPollLambda:B --> T:mesh meshPollLambda:R --> L:pdmSaved ``` diff --git a/docs/collections/_diagrams/sequence-mesh-download.md b/docs/collections/_diagrams/sequence-mesh-download.md index 1121ef84b..c3bf7baf4 100644 --- a/docs/collections/_diagrams/sequence-mesh-download.md +++ b/docs/collections/_diagrams/sequence-mesh-download.md @@ -7,20 +7,27 @@ title: v ```mermaid sequenceDiagram - participant meshMailbox as MESH
Mailbox + actor trust as Trust participant eventBus as EventBus - participant sqs as SQS
MeshRetrieveQueue - participant meshRetrieve as Lambda
MESHRetrieve + participant sqs as SQS
MeshDownloadQueue + participant meshDownload as Lambda
MESHDownload + participant meshMailbox as MESH
Mailbox participant s3 as S3 Bucket
DigitalLetters - eventBus -) sqs: MESHInboxMessageReceived(meshFileId) - sqs -) meshRetrieve: MESHInboxMessageReceived(meshFileId) - activate meshRetrieve - meshRetrieve ->> meshMailbox: Retrieve file(meshFileId) + eventBus -) sqs: MESHInboxMessageReceived(meshMessageId, senderId) + sqs -) meshDownload: MESHInboxMessageReceived(meshMessageId, senderId) + activate meshDownload + meshDownload ->> meshMailbox: Retrieve file(meshMessageId) activate meshMailbox - meshMailbox -->> meshRetrieve: File + meshMailbox -->> meshDownload: File deactivate meshMailbox - meshRetrieve ->> s3: Upload file - meshRetrieve -) eventBus: MESHInboxMessageDownloaded(S3FileId) Event - deactivate meshRetrieve + meshDownload ->> s3: Upload file + activate s3 + s3 -->> meshDownload: messageUri + deactivate s3 + meshDownload -) eventBus: MESHInboxMessageDownloaded(senderId, messageReference, messageUri) Event + meshDownload -) meshMailbox: Ack + meshMailbox ->> meshMailbox: Delete(meshMessageId) + meshDownload -) trust: Ack + deactivate meshDownload ``` diff --git a/docs/collections/_diagrams/sequence-mesh-poll.md b/docs/collections/_diagrams/sequence-mesh-poll.md index 91df24620..2dbe2526d 100644 --- a/docs/collections/_diagrams/sequence-mesh-poll.md +++ b/docs/collections/_diagrams/sequence-mesh-poll.md @@ -10,19 +10,21 @@ sequenceDiagram actor trust as Trust participant meshMailbox as MESH
Mailbox participant meshPoll as Lambda
MESHPoll + participant clientConfig as SSM
Client Config participant eventBus as EventBus trust ->> meshMailbox: MESH (DocumentReference) - activate meshMailbox - meshMailbox ->> trust: MESH Ack - deactivate meshMailbox - Loop Interval TBC + Loop 5 min interval eventBus -) meshPoll: Scheduled event activate meshPoll end meshPoll ->> meshMailbox: Check for new files - meshPoll -) eventBus: MESHInboxMessageReceived Event(meshFileId) + meshPoll ->> clientConfig: GetClientConfig(mailboxId) + activate clientConfig + clientConfig -->> meshPoll: ClientConfig + deactivate clientConfig + meshPoll -) eventBus: MESHInboxMessageReceived Event
(meshMessageId, senderId) deactivate meshPoll ``` diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-received-data.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-received-data.schema.yaml index 6a01f4cff..9770c5551 100644 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-received-data.schema.yaml +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/data/digital-letters-mesh-inbox-message-received-data.schema.yaml @@ -6,5 +6,8 @@ additionalProperties: false properties: meshMessageId: $ref: ../defs/mesh.schema.yaml#/properties/meshMessageId + senderId: + $ref: ../defs/requests.schema.yaml#/properties/senderId required: - meshMessageId + - senderId diff --git a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.reporting.report.sent.v1.schema.yaml b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.reporting.report.sent.v1.schema.yaml index 33a3c5b1d..eeef261ad 100644 --- a/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.reporting.report.sent.v1.schema.yaml +++ b/src/cloudevents/domains/digital-letters/2025-10-draft/events/uk.nhs.notify.digital.letters.reporting.report.sent.v1.schema.yaml @@ -6,7 +6,7 @@ allOf: properties: type: type: string - const: uk.nhs.notify.digital.letters.reporting.report.generated.v1 + const: uk.nhs.notify.digital.letters.reporting.report.sent.v1 description: Concrete versioned event type string for this event (.vN suffix). source: type: string @@ -15,10 +15,9 @@ properties: dataschema: type: string - const: ../data/digital-letter-base-data.schema.yaml + const: ../data/digital-letters-reporting-report-sent-data.schema.yaml description: Canonical URI of the event's data schema. examples: - - digital-letter-base-data.schema.yaml + - digital-letters-reporting-report-sent-data.schema.yaml data: - $ref: ../data/digital-letter-base-data.schema.yaml - description: Example payload wrapper containing notify-payload. + $ref: ../data/digital-letters-reporting-report-sent-data.schema.yaml diff --git a/src/cloudevents/readme-index.yaml b/src/cloudevents/readme-index.yaml index 7b72e2f4f..651ef0bfe 100644 --- a/src/cloudevents/readme-index.yaml +++ b/src/cloudevents/readme-index.yaml @@ -3,7 +3,7 @@ # To regenerate, run: make update-readme # To customize labels and purposes, edit: readme-metadata.yaml -generated: '2025-11-21T12:22:19.666Z' +generated: '2025-11-26T12:32:47.898Z' common: null domains: - name: digital-letters