Open
Conversation
The oid is stored against Gateway records, the source_message_id is the primary key of the GatewayAction which sends the appointment worklist item to the gateway. The relationship between the two ensures any API calls from a gateway can only operate on appointments associated with the appropriate GatewayAction record.
We will need to examine the oid claim in this object.
Allow local development without oid auth claims.
|
| GatewayActionFactory( | ||
| id=source_message_id, | ||
| gateway=GatewayFactory(oid=oid), | ||
| created_at=date.today(), |
Contributor
There was a problem hiding this comment.
maybe worth using timezone.now().date() in this file?
carlosmartinez
approved these changes
Apr 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Description
In order to know that the dicom API file upload is valid for the given source message ID we authenticate a JWT generated via the deployed gateway app's system assigned managed identity.
The
oidclaim in the token should match the oid on aGatewayrecord in Manage.We check that the
GatewayActionwith a pk matching the API request'ssource_message_idis associated to a Gateway with the same oid as presented in the token.Jira link
https://nhsd-jira.digital.nhs.uk/browse/DTOSS-12648
Review notes
Review checklist
/api/v1/), confirm whether it is a breaking change — if so, a new major version (/api/v2/) is required (see ADR-006)