Skip to content

Commit 360cdfb

Browse files
committed
CCM-12616: fix pipeline issues
1 parent b0cf0c8 commit 360cdfb

File tree

2 files changed

+26
-51
lines changed

2 files changed

+26
-51
lines changed

lambdas/mesh-download/src/processor.py

Lines changed: 24 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,6 @@ def __init__(self, **kwargs):
1717

1818
self.__mesh_client.handshake()
1919

20-
deployment = 'primary'
21-
plane = 'data-plane'
22-
self.__cloud_event_source = (
23-
f'/nhs/england/notify/{self.__config.environment}/'
24-
f'{deployment}/{plane}/digitalletters/mesh'
25-
)
26-
2720
self.__storage_bucket = self.__config.transactional_data_bucket
2821

2922
def process_sqs_message(self, sqs_record):
@@ -86,9 +79,8 @@ def _handle_download(self, event, logger):
8679
)
8780

8881
self._publish_downloaded_event(
89-
sender_id=data.senderId,
90-
message_uri=uri,
91-
message_reference=data.messageReference
82+
incoming_event=event,
83+
message_uri=uri
9284
)
9385

9486
message.acknowledge()
@@ -110,17 +102,29 @@ def _store_message_content(self, sender_id, message_reference, message_content,
110102

111103
return message_uri
112104

113-
def _publish_downloaded_event(self, sender_id, message_uri, message_reference):
114-
event_detail = {
115-
"data": {
116-
"senderId": sender_id,
117-
"messageUri": message_uri,
118-
"messageReference": message_reference,
105+
def _publish_downloaded_event(self, incoming_event, message_uri):
106+
"""
107+
Publishes a MESHInboxMessageDownloaded event.
108+
"""
109+
now = datetime.now(timezone.utc).isoformat()
110+
111+
cloud_event = {
112+
**incoming_event.model_dump(),
113+
'id': str(uuid4()),
114+
'time': now,
115+
'recordedtime': now,
116+
'type': 'uk.nhs.notify.digital.letters.mesh.inbox.message.downloaded.v1',
117+
'dataschema': (
118+
'https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10/'
119+
'digital-letters-mesh-inbox-message-downloaded-data.schema.json'
120+
),
121+
'data': {
122+
'senderId': incoming_event.data.senderId,
123+
'messageReference': incoming_event.data.messageReference,
124+
'messageUri': message_uri,
119125
}
120126
}
121127

122-
cloud_event = self._build_download_event(event_detail)
123-
124128
try:
125129
MeshDownloadMessageEvent(**cloud_event)
126130
except ValidationError as e:
@@ -135,33 +139,7 @@ def _publish_downloaded_event(self, sender_id, message_uri, message_reference):
135139

136140
self.__log.info(
137141
"Published MESHInboxMessageDownloaded event",
138-
sender_id=sender_id,
142+
sender_id=incoming_event.data.senderId,
139143
message_uri=message_uri,
140-
message_reference=message_reference
144+
message_reference=incoming_event.data.messageReference
141145
)
142-
143-
def _build_download_event(self, event_detail):
144-
now = datetime.now(timezone.utc).isoformat()
145-
146-
return {
147-
'profileversion': '1.0.0',
148-
'profilepublished': '2025-10',
149-
'id': str(uuid4()),
150-
'specversion': '1.0',
151-
'source': self.__cloud_event_source,
152-
'subject': (
153-
'customer/00000000-0000-0000-0000-000000000000/'
154-
'recipient/00000000-0000-0000-0000-000000000000'
155-
),
156-
'type': 'uk.nhs.notify.digital.letters.mesh.inbox.message.downloaded.v1',
157-
'time': now,
158-
'recordedtime': now,
159-
'severitynumber': 2,
160-
'severitytext': 'INFO',
161-
'traceparent': '00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01',
162-
'dataschema':
163-
'https://notify.nhs.uk/cloudevents/schemas/digital-letters/2025-10/'
164-
'digital-letters-mesh-inbox-message-downloaded-data.schema.json',
165-
'dataschemaversion': '1.0',
166-
'data': event_detail.get('data', {}),
167-
}

utils/event-publisher-py/pyproject.toml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,9 @@ requires = ["poetry-core"]
2626
build-backend = "poetry.core.masonry.api"
2727

2828
[tool.coverage.run]
29-
relative_files = true
30-
source = ["utils/event-publisher-py/event_publisher"]
29+
source = ["event_publisher"]
3130
omit = [
3231
"*/tests/*",
3332
"*/test_*.py",
34-
"*/__pycache__/*",
35-
"*/venv/*",
36-
"*/env/*",
33+
"*/__tests__/*",
3734
]

0 commit comments

Comments
 (0)