Skip to content

Commit 58e8e72

Browse files
Merge pull request #2256 from NHSDigital/develop
APIM-R 1.44 Cut
2 parents f925a09 + ce9a9fd commit 58e8e72

File tree

68 files changed

+808
-322
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+808
-322
lines changed

package-lock.json

Lines changed: 102 additions & 102 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"license": "MIT",
1313
"homepage": "https://github.com/NHSDigital/e-referrals-service-api",
1414
"dependencies": {
15-
"@redocly/cli": "^1.34.0"
15+
"@redocly/cli": "^1.34.2"
1616
},
1717
"devDependencies": {
1818
"apigeetool": "^0.16.5",

poetry.lock

Lines changed: 184 additions & 196 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

proxies/live/apiproxy/policies/AssignMessage.AuthenticationOperationOutcomeErrorResponse.xml renamed to proxies/live/apiproxy/policies/AssignMessage.OperationOutcomeErrorResponse.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
<AssignMessage async="false" continueOnError="false" enabled="true" name="AssignMessage.AuthenticationOperationOutcomeErrorResponse">
1+
<AssignMessage async="false" continueOnError="false" enabled="true" name="AssignMessage.OperationOutcomeErrorResponse">
22
<Set>
3-
<StatusCode>401</StatusCode>
3+
<StatusCode>{status_code}</StatusCode>
44
<ReasonPhrase>Unauthorized</ReasonPhrase>
55
<Payload contentType="application/fhir+json" variablePrefix="%" variableSuffix="#">{ "resourceType": "OperationOutcome", "meta": { "lastUpdated": "%current_timestamp#", "profile" : [ "%op_outcome_fhir_profile#" ] }, "issue": [ { "severity": "error", "code": "%op_outcome_issue_code#", "details": { "coding": [ { "system": "%op_outcome_issue_details_coding_system#", "code": "%op_outcome_issue_details_coding_code#" } ] }, "diagnostics": "%faultstring#" } ] }</Payload>
66
</Set>

proxies/live/apiproxy/policies/AssignMessage.SetOperationOutcomeIssueCodeLogin.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
<AssignMessage enabled="true" name="AssignMessage.SetOperationOutcomeIssueCodeLogin">
2+
<AssignVariable>
3+
<Name>status_code</Name>
4+
<Value>401</Value>
5+
</AssignVariable>
26
<AssignVariable>
37
<Name>op_outcome_issue_code</Name>
48
<Value>login</Value>

proxies/live/apiproxy/policies/AssignMessage.SetOperationOutcomeIssueIal.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
<AssignMessage enabled="true" name="AssignMessage.SetOperationOutcomeIssueIal">
2+
<AssignVariable>
3+
<Name>status_code</Name>
4+
<Value>401</Value>
5+
</AssignVariable>
26
<AssignVariable>
37
<Name>op_outcome_issue_code</Name>
48
<Value>forbidden</Value>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<AssignMessage enabled="true" name="AssignMessage.SetOperationOutcomeMissingAsid">
2+
<AssignVariable>
3+
<Name>op_outcome_issue_code</Name>
4+
<Value>forbidden</Value>
5+
</AssignVariable>
6+
<AssignVariable>
7+
<Name>faultstring</Name>
8+
<Value>ASID is not configured in the application</Value>
9+
</AssignVariable>
10+
<AssignVariable>
11+
<Name>status_code</Name>
12+
<Value>403</Value>
13+
</AssignVariable>
14+
</AssignMessage>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<RaiseFault async="false" continueOnError="false" enabled="true" name="RaiseFault.MissingAsid">
2+
<FaultResponse>
3+
<Set>
4+
<Payload contentType="text/plain"/>
5+
<StatusCode>403</StatusCode>
6+
<ReasonPhrase>Forbidden</ReasonPhrase>
7+
</Set>
8+
</FaultResponse>
9+
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
10+
</RaiseFault>

proxies/live/apiproxy/targets/ers-target.xml

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<Name>AssignMessage.SetOperationOutcomeIssueCodeLogin</Name>
1616
</Step>
1717
<Step>
18-
<Name>AssignMessage.AuthenticationOperationOutcomeErrorResponse</Name>
18+
<Name>AssignMessage.OperationOutcomeErrorResponse</Name>
1919
</Step>
2020
<Condition>(oauthV2.OauthV2.VerifyAccessToken.failed = true) and (isFhirR4Path = true)</Condition>
2121
</FaultRule>
@@ -43,7 +43,7 @@
4343
<Condition>aalError != true</Condition>
4444
</Step>
4545
<Step>
46-
<Name>AssignMessage.AuthenticationOperationOutcomeErrorResponse</Name>
46+
<Name>AssignMessage.OperationOutcomeErrorResponse</Name>
4747
<Condition>aalError = true</Condition>
4848
</Step>
4949
<Condition>(oauthV2.OauthV2.VerifyAccessToken.failed = true) and (isFhirR4Path = false)</Condition>
@@ -85,10 +85,27 @@
8585
<Name>AssignMessage.SetOperationOutcomeIssueIal</Name>
8686
</Step>
8787
<Step>
88-
<Name>AssignMessage.AuthenticationOperationOutcomeErrorResponse</Name>
88+
<Name>AssignMessage.OperationOutcomeErrorResponse</Name>
8989
</Step>
9090
<Condition>(raisefault.RaiseFault.401InsufficientIal.failed = true)</Condition>
9191
</FaultRule>
92+
<FaultRule name="missing_asid">
93+
<Step>
94+
<Condition>(isFhirR4Path = true)</Condition>
95+
<Name>AssignMessage.SetOperationOutcomeVariablesR4</Name>
96+
</Step>
97+
<Step>
98+
<Condition>(isFhirR4Path = false)</Condition>
99+
<Name>AssignMessage.SetOperationOutcomeVariablesPreR4</Name>
100+
</Step>
101+
<Step>
102+
<Name>AssignMessage.SetOperationOutcomeMissingAsid</Name>
103+
</Step>
104+
<Step>
105+
<Name>AssignMessage.OperationOutcomeErrorResponse</Name>
106+
</Step>
107+
<Condition>(raisefault.RaiseFault.MissingAsid.failed = true)</Condition>
108+
</FaultRule>
92109
</FaultRules>
93110
<PreFlow>
94111
<Request>
@@ -101,6 +118,10 @@
101118
<Step>
102119
<Name>OauthV2.VerifyAccessToken</Name>
103120
</Step>
121+
<Step>
122+
<Name>RaiseFault.MissingAsid</Name>
123+
<Condition>(app.asid == null) Or (app.asid == "")</Condition>
124+
</Step>
104125
<Step>
105126
<Name>AssignMessage.PopulateAsidFromApp</Name>
106127
</Step>

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ semver = "^3.0.4"
2828
gitpython = "^3.1.44"
2929
lxml = "^4.9.4"
3030
xmlformatter = "^0.2.8"
31-
pytest-check = "^2.5.1"
31+
pytest-check = "^2.5.3"
3232
requests = "^2.32.3"
33-
openapi-core = "^0.19.4"
33+
openapi-core = "^0.19.5"
3434

3535

3636
[tool.poetry.group.dev.dependencies]
@@ -39,7 +39,7 @@ black = "^25.1"
3939
pip-licenses = "^5.0.0"
4040
jinja2 = "^3.1.6"
4141
pytest = "^8.3.5"
42-
pytest-asyncio = "^0.25.3"
42+
pytest-asyncio = "^0.26.0"
4343
pytest-nhsd-apim = "^3.4.5"
4444

4545
[tool.poetry.scripts]

0 commit comments

Comments
 (0)