Skip to content

Commit af29235

Browse files
authored
Merge pull request #2420 from NHSDigital/feature/ERSSUP-86798
adds EuoAllowListVerify functionality
2 parents 10d08e0 + 2110761 commit af29235

16 files changed

+572
-67
lines changed

macros/manifest_macros.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
products:
44
{% endmacro %}
55

6-
{%- macro product(ENV, MODE, TITLE, product_name, display_name) -%}
6+
{%- macro product(ENV, MODE, TITLE, product_name, display_name, euo_allowlist_required) -%}
77
- name: e-referrals-service-api-{{ product_name }}{{ MODE.nameSuffix }}
88
approvalType: {{ ENV.approval_type | default('auto') }}
99
attributes:
1010
- name: access
1111
value: public
12+
- name: EUOAllowlistRequired
13+
value: {{ euo_allowlist_required }}
1214
- name: ratelimiting
1315
value:
1416
e-referrals-service-api-{{ product_name }}:

manifest_template.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,31 @@ APIGEE_ENVIRONMENTS:
1616
variants:
1717
- name: rc-internal-dev
1818
display_name: Internal Development - rc
19+
euo_allowlist_required: false
1920
- name: fix-internal-dev
2021
display_name: Internal Development - fix
22+
euo_allowlist_required: false
2123
- name: fti-internal-dev
2224
display_name: Internal Development - ft01
25+
euo_allowlist_required: false
2326
- name: ftiv-internal-dev
2427
display_name: Internal Development - ft04
28+
euo_allowlist_required: false
2529
- name: ftv-internal-dev
2630
display_name: Internal Development - ft05
31+
euo_allowlist_required: false
2732
- name: ftix-internal-dev
2833
display_name: Internal Development - ft09
34+
euo_allowlist_required: false
2935
- name: ftxxii-internal-dev
3036
display_name: Internal Development - ft22
37+
euo_allowlist_required: false
3138

3239
- name: internal-dev-sandbox
3340
variants:
3441
- name: internal-dev-sandbox
3542
display_name: Internal Development Sandbox
43+
euo_allowlist_required: false
3644

3745
- name: int
3846
additional_proxies:
@@ -41,6 +49,7 @@ APIGEE_ENVIRONMENTS:
4149
variants:
4250
- name: int
4351
display_name: Integration Testing
52+
euo_allowlist_required: false
4453

4554
- name: internal-qa
4655
additional_proxies:
@@ -49,29 +58,34 @@ APIGEE_ENVIRONMENTS:
4958
variants:
5059
- name: internal-qa
5160
display_name: Internal QA
61+
euo_allowlist_required: false
5262

5363
- name: internal-qa-sandbox
5464
variants:
5565
- name: internal-qa-sandbox
5666
display_name: Internal QA Sandbox
67+
euo_allowlist_required: false
5768

5869
- name: sandbox
5970
variants:
6071
- name: sandbox
6172
display_name: Sandbox
73+
euo_allowlist_required: false
6274

6375
- name: dev
6476
additional_proxies:
6577
- identity-service-dep-dev
6678
variants:
6779
- name: dep-dev
6880
display_name: Dev - dep
81+
euo_allowlist_required: false
6982

7083
- name: prod
7184
approval_type: manual
7285
variants:
7386
- name: prod
7487
display_name: Production
88+
euo_allowlist_required: false
7589

7690
ACCESS_MODES:
7791
- name: healthcare-worker
@@ -104,7 +118,7 @@ apigee:
104118

105119
{% for VARIANT in ENV.variants %}
106120
{% for MODE in ACCESS_MODES %}
107-
{{ macros.product(ENV, MODE, TITLE, VARIANT.name, VARIANT.display_name) }}
121+
{{ macros.product(ENV, MODE, TITLE, VARIANT.name, VARIANT.display_name, VARIANT.euo_allowlist_required) }}
108122
{% endfor %}
109123
{% endfor %}
110124

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<AssignMessage continueOnError="false" enabled="true" name="AssignMessage.InternalServerError">
2+
<DisplayName>AssignMessage.InternalServerError</DisplayName>
3+
<Remove>
4+
<Payload>Internal Server Error</Payload>
5+
</Remove>
6+
<AssignTo createNew="false" type="response"/>
7+
</AssignMessage>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<AssignMessage enabled="true" name="AssignMessage.SetOperationOutcomeODSHeaderMissingPreR4">
2+
<AssignVariable>
3+
<Name>status_code</Name>
4+
<Value>400</Value>
5+
</AssignVariable>
6+
<AssignVariable>
7+
<Name>op_outcome_issue_code</Name>
8+
<Value>required</Value>
9+
</AssignVariable>
10+
<AssignVariable>
11+
<Name>faultstring</Name>
12+
<Value>Missing or Empty NHSD-End-User-Organisation-ODS header.</Value>
13+
</AssignVariable>
14+
<AssignVariable>
15+
<Name>op_outcome_issue_details_coding_code</Name>
16+
<Value>MISSING_HEADER</Value>
17+
</AssignVariable>
18+
</AssignMessage>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<AssignMessage enabled="true" name="AssignMessage.SetOperationOutcomeODSHeaderMissingR4">
2+
<AssignVariable>
3+
<Name>status_code</Name>
4+
<Value>400</Value>
5+
</AssignVariable>
6+
<AssignVariable>
7+
<Name>op_outcome_issue_code</Name>
8+
<Value>required</Value>
9+
</AssignVariable>
10+
<!-- Overrides OutcomeVariablesR4-->
11+
<AssignVariable>
12+
<Name>op_outcome_issue_details_coding_code</Name>
13+
<Value>MISSING_HEADER</Value>
14+
</AssignVariable>
15+
<AssignVariable>
16+
<Name>faultstring</Name>
17+
<Value>Missing or Empty NHSD-End-User-Organisation-ODS header.</Value>
18+
</AssignVariable>
19+
</AssignMessage>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<AssignMessage enabled="true" name="AssignMessage.SetOperationOutcomeODSHeaderValueNotInPartnerListPreR4">
2+
<AssignVariable>
3+
<Name>status_code</Name>
4+
<Value>403</Value>
5+
</AssignVariable>
6+
<AssignVariable>
7+
<Name>op_outcome_issue_code</Name>
8+
<Value>forbidden</Value>
9+
</AssignVariable>
10+
<AssignVariable>
11+
<Name>faultstring</Name>
12+
<Value>Unauthorised ODS code provided in NHSD-End-User-Organisation-ODS header</Value>
13+
</AssignVariable>
14+
<AssignVariable>
15+
<Name>op_outcome_issue_details_coding_code</Name>
16+
<Value>NO_ACCESS</Value>
17+
</AssignVariable>
18+
</AssignMessage>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<AssignMessage enabled="true" name="AssignMessage.SetOperationOutcomeODSHeaderValueNotInPartnerListR4">
2+
<AssignVariable>
3+
<Name>status_code</Name>
4+
<Value>403</Value>
5+
</AssignVariable>
6+
<AssignVariable>
7+
<Name>op_outcome_issue_code</Name>
8+
<Value>forbidden</Value>
9+
</AssignVariable>
10+
<AssignVariable>
11+
<Name>faultstring</Name>
12+
<Value>Unauthorised ODS code provided in NHSD-End-User-Organisation-ODS header</Value>
13+
</AssignVariable>
14+
<AssignVariable>
15+
<Name>op_outcome_issue_details_coding_code</Name>
16+
<Value>ACCESS_DENIED</Value>
17+
</AssignVariable>
18+
</AssignMessage>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<AssignMessage enabled="true" name="AssignMessage.SetOperationOutcomeServiceError">
2+
<AssignVariable>
3+
<Name>status_code</Name>
4+
<Value>500</Value>
5+
</AssignVariable>
6+
<AssignVariable>
7+
<Name>op_outcome_issue_code</Name>
8+
<Value>exception</Value>
9+
</AssignVariable>
10+
<!-- Overrides OutcomeVariablesR4-->
11+
<AssignVariable>
12+
<Name>op_outcome_issue_details_coding_code</Name>
13+
<Value>SERVICE_ERROR</Value>
14+
</AssignVariable>
15+
<AssignVariable>
16+
<Name>faultstring</Name>
17+
<Value>Internal Server Error</Value>
18+
</AssignVariable>
19+
</AssignMessage>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<FlowCallout async="false" continueOnError="false" enabled="true" name="FlowCallout.EUOAllowlistVerify">
3+
<DisplayName>EUOAllowlistVerify</DisplayName>
4+
<SharedFlowBundle>EUOAllowlistVerify</SharedFlowBundle>
5+
</FlowCallout>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<FlowCallout async="false" continueOnError="false" enabled="true" name="FlowCallout.ExtendedAttributes">
3+
<DisplayName>Extract extended attribute</DisplayName>
4+
<SharedFlowBundle>ExtendedAttributes</SharedFlowBundle>
5+
</FlowCallout>

0 commit comments

Comments
 (0)