Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion infrastructure/terraform/components/api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ No requirements.
| <a name="module_kms"></a> [kms](#module\_kms) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-kms.zip | n/a |
| <a name="module_letter_status_update"></a> [letter\_status\_update](#module\_letter\_status\_update) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.24/terraform-lambda.zip | n/a |
| <a name="module_letter_status_updates_queue"></a> [letter\_status\_updates\_queue](#module\_letter\_status\_updates\_queue) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.24/terraform-sqs.zip | n/a |
| <a name="module_letter_stream_forwarder"></a> [letter\_stream\_forwarder](#module\_letter\_stream\_forwarder) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-lambda.zip | n/a |
| <a name="module_letter_updates_transformer"></a> [letter\_updates\_transformer](#module\_letter\_updates\_transformer) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-lambda.zip | n/a |
| <a name="module_logging_bucket"></a> [logging\_bucket](#module\_logging\_bucket) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-s3bucket.zip | n/a |
| <a name="module_patch_letter"></a> [patch\_letter](#module\_patch\_letter) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-lambda.zip | n/a |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,3 @@
resource "aws_lambda_event_source_mapping" "letter_stream_forwarder_dynamodb" {
event_source_arn = aws_dynamodb_table.letters.stream_arn
function_name = module.letter_stream_forwarder.function_arn
starting_position = "LATEST"
batch_size = 10
maximum_batching_window_in_seconds = 1

depends_on = [
module.letter_stream_forwarder # ensures stream forwarder exists
]
}

resource "aws_lambda_event_source_mapping" "letter_updates_transformer_kinesis" {
event_source_arn = aws_kinesis_stream.letter_change_stream.arn
function_name = module.letter_updates_transformer.function_arn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,9 @@ resource "aws_kinesis_stream" "letter_change_stream" {
shard_count = 1
retention_period = 24
}

resource "aws_dynamodb_kinesis_streaming_destination" "letter_streaming_destination" {
stream_arn = aws_kinesis_stream.letter_change_stream.arn
table_name = aws_dynamodb_table.letters.name
approximate_creation_date_time_precision = "MILLISECOND"
}

This file was deleted.

7 changes: 4 additions & 3 deletions internal/events/src/events/__tests__/event-envelope.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ describe("EventEnvelope schema validation", () => {
source: "/data-plane/supplier-api/ordering",
subject: "order/769acdd4",
type: "uk.nhs.notify.supplier-api.order.READ.v1",
plane: "data-plane",
plane: "data",
time: "2025-10-01T10:15:30.000Z",
datacontenttype: "application/json",
data: {
Expand Down Expand Up @@ -244,7 +244,7 @@ describe("EventEnvelope schema validation", () => {
specversion: "1.0" as const,
id: "6f1c2a53-3d54-4a0a-9a0b-0e02b2c3d479",
type: "uk.nhs.notify.supplier-api.letter.CREATED.v1" as const,
plane: "data-plane",
plane: "data",
dataschema:
"https://notify.nhs.uk/cloudevents/schemas/supplier-api/letter.CREATED.1.0.0.schema.json",
dataschemaversion: "1.0.0",
Expand Down Expand Up @@ -300,7 +300,7 @@ describe("EventEnvelope schema validation", () => {
specversion: "1.0" as const,
id: "6f1c2a53-3d54-4a0a-9a0b-0e9ae2d4c111",
type: "uk.nhs.notify.supplier-api.order.READ.v1" as const,
plane: "data-plane",
plane: "data",
dataschema:
"https://notify.nhs.uk/cloudevents/schemas/supplier-api/order.READ.1.0.0.schema.json",
dataschemaversion: "1.0.0",
Expand Down Expand Up @@ -350,6 +350,7 @@ describe("EventEnvelope schema validation", () => {
type: "uk.nhs.notify.supplier-api.order.read.v1" as const,
dataschema:
"https://notify.nhs.uk/cloudevents/schemas/supplier-api/order.read.1.0.0.schema.json",
dataschemaversion: "1.0.0",
source: "/data-plane/supplier-api/ordering",
subject: "prefix/letter-rendering/order/769acdd4",
time: "2025-10-01T10:15:30.000Z",
Expand Down
3 changes: 1 addition & 2 deletions internal/events/src/events/__tests__/mi-events.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,14 @@ describe("MI event validations", () => {
expect(event).toEqual(
expect.objectContaining({
type: "uk.nhs.notify.supplier-api.mi.SUBMITTED.v1",
plane: "data-plane",
plane: "data",
specversion: "1.0",
source: "/data-plane/supplier-api/prod/submit-mi",
id: "8f2c3b44-4e65-5b1b-a678-1f0bf3d4d222",
time: "2025-11-16T10:30:00.000Z",
datacontenttype: "application/json",
dataschema:
"https://notify.nhs.uk/cloudevents/schemas/supplier-api/mi.SUBMITTED.1.0.0.schema.json",
dataschemaversion: "1.0.0",
subject: "mi/mi-test-001",
data: expect.objectContaining({
id: "mi-test-001",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"dataschema": "https://notify.nhs.uk/cloudevents/schemas/supplier-api/letter.ACCEPTED.0.1.0.schema.json",
"dataschemaversion": "1.0.0",
"id": "23f1f09c-a555-4d9b-8405-0b33490bc920",
"plane": "data-plane",
"plane": "data",
"recordedtime": "2025-08-28T08:45:00.000Z",
"severitynumber": 2,
"severitytext": "INFO",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"dataschema": "https://notify.nhs.uk/cloudevents/schemas/supplier-api/letter.ACCEPTED.1.0.0.schema.json",
"dataschemaversion": "1.0.0",
"id": "23f1f09c-a555-4d9b-8405-0b33490bc920",
"plane": "data-plane",
"plane": "data",
"recordedtime": "2025-08-28T08:45:00.000Z",
"severitynumber": 2,
"severitytext": "INFO",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"dataschema": "https://notify.nhs.uk/cloudevents/schemas/supplier-api/letter.ACCEPTED.1.0.0.schema.json",
"dataschemaversion": "1.0.0",
"id": "23f1f09c-a555-4d9b-8405-0b33490bc920",
"plane": "data-plane",
"plane": "data",
"recordedtime": "2025-08-28T08:45:00.000Z",
"severitynumber": 2,
"severitytext": "INFO",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"dataschema": "https://notify.nhs.uk/cloudevents/schemas/supplier-api/letter.FORWARDED.1.0.0.schema.json",
"dataschemaversion": "1.0.0",
"id": "23f1f09c-a555-4d9b-8405-0b33490bc920",
"plane": "data-plane",
"plane": "data",
"recordedtime": "2025-08-28T08:45:00.000Z",
"severitynumber": 2,
"severitytext": "INFO",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"dataschema": "https://notify.nhs.uk/cloudevents/schemas/supplier-api/letter.RETURNED.1.0.0.schema.json",
"dataschemaversion": "1.0.0",
"id": "23f1f09c-a555-4d9b-8405-0b33490bc920",
"plane": "data-plane",
"plane": "data",
"recordedtime": "2025-08-28T08:45:00.000Z",
"severitynumber": 2,
"severitytext": "INFO",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"dataschema": "https://notify.nhs.uk/cloudevents/schemas/supplier-api/mi.SUBMITTED.1.0.0.schema.json",
"dataschemaversion": "1.0.0",
"id": "9a3d4c55-5f76-6c2c-b789-2f1cf4e5e333",
"plane": "data-plane",
"plane": "data",
"recordedtime": "2025-11-16T15:00:00.250Z",
"severitynumber": 2,
"severitytext": "INFO",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"dataschema": "https://notify.nhs.uk/cloudevents/schemas/supplier-api/mi.SUBMITTED.2.0.0.schema.json",
"dataschemaversion": "1.0.0",
"id": "8f2c3b44-4e65-5b1b-a678-1f0bf3d4d222",
"plane": "data-plane",
"plane": "data",
"recordedtime": "2025-11-16T10:30:00.250Z",
"severitynumber": 2,
"severitytext": "INFO",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"dataschema": "https://notify.nhs.uk/cloudevents/schemas/supplier-api/mi.SUBMITTED.1.0.0.schema.json",
"dataschemaversion": "1.0.0",
"id": "8f2c3b44-4e65-5b1b-a678-1f0bf3d4d222",
"plane": "data-plane",
"plane": "data",
"recordedtime": "2025-11-16T10:30:00.250Z",
"severitynumber": 2,
"severitytext": "INFO",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"dataschema": "https://notify.nhs.uk/cloudevents/schemas/supplier-api/mi.SUBMITTED.1.0.0.schema.json",
"dataschemaversion": "1.0.0",
"id": "8f2c3b44-4e65-5b1b-a678-1f0bf3d4d222",
"plane": "data-plane",
"plane": "data",
"recordedtime": "2025-11-16T10:30:00.250Z",
"severitynumber": 2,
"severitytext": "INFO",
Expand Down
10 changes: 5 additions & 5 deletions internal/events/src/events/event-envelope.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ export function EventEnvelope<TData extends z.ZodTypeAny>(
examples: typeStrings,
}),

plane: z.literal("data-plane").meta({
plane: z.literal("data").meta({
title: "plane",
description: "Fixed as data-plane",
examples: ["data-plane"],
description: "The event bus that this event will be published to",
examples: ["data"],
}),

dataschema: z
Expand All @@ -72,11 +72,11 @@ export function EventEnvelope<TData extends z.ZodTypeAny>(

dataschemaversion: z
.string()
.regex(/^1.\d+.\d+$/)
.regex(/^1\.\d+\.\d+$/)
.meta({
title: "Data Schema URI",
description: `Version of the schema that describes the event data\n\nMust match the version in dataschema`,
examples:["1.0.0"],
examples: ["1.0.0"],
}),

source: z
Expand Down
6 changes: 3 additions & 3 deletions internal/events/src/events/letter-events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export const $LetterEvent = EventEnvelope(
"letter",
"letter",
$Letter,
$LetterStatus.options,
$LetterStatus.options.map((status) => status.toLowerCase()),
"letter-origin",
).meta({
title: `letter.* Event`,
Expand All @@ -27,13 +27,13 @@ export type LetterEvent = z.infer<typeof $LetterEvent>;
*/
const eventSchema = (status: LetterStatus) =>
EventEnvelope(
`letter.${status}`,
`letter.${status.toLowerCase()}`,
"letter",
$Letter,
[status],
"letter-origin",
).meta({
title: `letter.${status} Event`,
title: `letter.${status.toLowerCase()} Event`,
description: `Event schema for letter status change to ${status}`,
});

Expand Down
1 change: 0 additions & 1 deletion lambdas/letter-stream-forwarder/.eslintignore

This file was deleted.

4 changes: 0 additions & 4 deletions lambdas/letter-stream-forwarder/.gitignore

This file was deleted.

60 changes: 0 additions & 60 deletions lambdas/letter-stream-forwarder/jest.config.ts

This file was deleted.

21 changes: 0 additions & 21 deletions lambdas/letter-stream-forwarder/package.json

This file was deleted.

Loading