Skip to content

Commit d1ac2e9

Browse files
committed
Merge branch 'develop' of github.com:NHSDigital/NRLF into feature/eema1-NRL-1048-removeApiDocumentationFromApiGateway
2 parents b728a5e + fe6937f commit d1ac2e9

File tree

19 files changed

+24
-175
lines changed

19 files changed

+24
-175
lines changed

api/consumer/swagger.yaml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ paths:
3333
- $ref: "#/components/parameters/category"
3434
- $ref: "#/components/parameters/nextPageToken"
3535
- $ref: "#/components/parameters/odsCode"
36-
- $ref: "#/components/parameters/odsCodeExtension"
3736
- $ref: "#/components/parameters/requestId"
3837
- $ref: "#/components/parameters/correlationId"
3938
responses:
@@ -289,7 +288,6 @@ paths:
289288
parameters:
290289
- $ref: "#/components/parameters/id"
291290
- $ref: "#/components/parameters/odsCode"
292-
- $ref: "#/components/parameters/odsCodeExtension"
293291
- $ref: "#/components/parameters/requestId"
294292
- $ref: "#/components/parameters/correlationId"
295293
responses:
@@ -1417,12 +1415,6 @@ components:
14171415
invalid:
14181416
summary: Unknown
14191417
value: XYZ
1420-
odsCodeExtension:
1421-
name: NHSD-End-User-Organisation
1422-
description: Organisation extension code
1423-
in: header
1424-
schema:
1425-
$ref: "#/components/schemas/RequestHeaderOrganisationExtensionCode"
14261418
requestId:
14271419
name: X-Request-ID
14281420
description: |

api/producer/createDocumentReference/create_document_reference.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,11 @@ def _check_permissions(
6464
"""
6565
Check the requester has permissions to create the DocumentReference
6666
"""
67-
custodian_parts = tuple(
68-
filter(None, (core_model.custodian, core_model.custodian_suffix))
69-
)
70-
if metadata.ods_code_parts != custodian_parts:
67+
if metadata.ods_code != core_model.custodian:
7168
logger.log(
7269
LogReference.PROCREATE004,
73-
ods_code_parts=metadata.ods_code_parts,
74-
custodian_parts=custodian_parts,
70+
ods_code=metadata.ods_code,
71+
custodian=core_model.custodian,
7572
)
7673
return SpineErrorResponse.UNPROCESSABLE_ENTITY(
7774
diagnostics="The custodian of the provided DocumentReference does not match the expected ODS code for this organisation",
@@ -138,11 +135,11 @@ def _validate_producer_id(identifier, metadata, idx):
138135
Validate that there is an ODS code in the relatesTo target identifier
139136
"""
140137
producer_id = identifier.split("-", 1)[0]
141-
if metadata.ods_code_parts != tuple(producer_id.split("|")):
138+
if metadata.ods_code != producer_id:
142139
logger.log(
143140
LogReference.PROCREATE007b,
144141
related_identifier=identifier,
145-
ods_code_parts=metadata.ods_code_parts,
142+
ods_code=metadata.ods_code,
146143
)
147144
_raise_operation_outcome_error(
148145
"The relatesTo target identifier value does not include the expected ODS code for this organisation",
@@ -229,8 +226,7 @@ def handler(
229226
logger.log(LogReference.PROCREATE000)
230227
logger.log(LogReference.PROCREATE001, resource=body)
231228

232-
id_prefix = "|".join(metadata.ods_code_parts)
233-
body.id = f"{id_prefix}-{uuid4()}"
229+
body.id = f"{metadata.ods_code}-{uuid4()}"
234230

235231
validator = DocumentReferenceValidator()
236232
result = validator.validate(body)

api/producer/deleteDocumentReference/delete_document_reference.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ def handler(
2828
pointer_id = urllib.parse.unquote(path.id)
2929
producer_id, _ = pointer_id.split("-", 1)
3030

31-
if metadata.ods_code_parts != tuple(producer_id.split(".")):
31+
if metadata.ods_code != producer_id:
3232
logger.log(
3333
LogReference.PRODELETE001,
34-
ods_code_parts=metadata.ods_code_parts,
34+
ods_code=metadata.ods_code,
3535
producer_id=producer_id,
3636
)
3737
return SpineErrorResponse.AUTHOR_CREDENTIALS_ERROR(

api/producer/readDocumentReference/read_document_reference.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ def handler(
3838
parsed_id = urllib.parse.unquote(path.id)
3939

4040
producer_id = parsed_id.split("-", maxsplit=1)[0]
41-
if metadata.ods_code_parts != tuple(producer_id.split(".")):
41+
if metadata.ods_code != producer_id:
4242
logger.log(
4343
LogReference.PROREAD001,
44-
ods_code_parts=metadata.ods_code_parts,
44+
ods_code=metadata.ods_code,
4545
producer_id=producer_id,
4646
)
4747
return SpineErrorResponse.AUTHOR_CREDENTIALS_ERROR(

api/producer/searchDocumentReference/search_document_reference.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,13 @@ def handler(
8080
logger.log(
8181
LogReference.PROSEARCH003,
8282
custodian=metadata.ods_code,
83-
custodian_suffix=metadata.ods_code_extension,
8483
nhs_number=params.nhs_number,
8584
pointer_types=pointer_types,
8685
categories=params.category.root.split(",") if params.category else [],
8786
)
8887

8988
for result in repository.search(
9089
custodian=metadata.ods_code,
91-
custodian_suffix=metadata.ods_code_extension,
9290
nhs_number=params.nhs_number,
9391
pointer_types=pointer_types,
9492
categories=params.category.root.split(",") if params.category else [],

api/producer/searchPostDocumentReference/search_post_document_reference.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,13 @@ def handler(
7474
logger.log(
7575
LogReference.PROPOSTSEARCH003,
7676
custodian=metadata.ods_code,
77-
custodian_suffix=metadata.ods_code_extension,
7877
nhs_number=body.nhs_number,
7978
pointer_types=pointer_types,
8079
categories=categories,
8180
)
8281

8382
for result in repository.search(
8483
custodian=metadata.ods_code,
85-
custodian_suffix=metadata.ods_code_extension,
8684
nhs_number=body.nhs_number,
8785
pointer_types=pointer_types,
8886
categories=categories,

api/producer/swagger.yaml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ paths:
5050
$ref: "#/components/requestBodies/DocumentReference"
5151
parameters:
5252
- $ref: "#/components/parameters/odsCode"
53-
- $ref: "#/components/parameters/odsCodeExtension"
5453
- $ref: "#/components/parameters/requestId"
5554
- $ref: "#/components/parameters/correlationId"
5655
x-amazon-apigateway-integration:
@@ -191,7 +190,6 @@ paths:
191190
- $ref: "#/components/parameters/category"
192191
- $ref: "#/components/parameters/nextPageToken"
193192
- $ref: "#/components/parameters/odsCode"
194-
- $ref: "#/components/parameters/odsCodeExtension"
195193
- $ref: "#/components/parameters/requestId"
196194
- $ref: "#/components/parameters/correlationId"
197195
responses:
@@ -393,7 +391,6 @@ paths:
393391
operationId: upsertDocumentReference
394392
parameters:
395393
- $ref: "#/components/parameters/odsCode"
396-
- $ref: "#/components/parameters/odsCodeExtension"
397394
- $ref: "#/components/parameters/requestId"
398395
- $ref: "#/components/parameters/correlationId"
399396
responses:
@@ -470,7 +467,6 @@ paths:
470467
operationId: searchPostDocumentReference
471468
parameters:
472469
- $ref: "#/components/parameters/odsCode"
473-
- $ref: "#/components/parameters/odsCodeExtension"
474470
- $ref: "#/components/parameters/requestId"
475471
- $ref: "#/components/parameters/correlationId"
476472
requestBody:
@@ -685,7 +681,6 @@ paths:
685681
parameters:
686682
- $ref: "#/components/parameters/id"
687683
- $ref: "#/components/parameters/odsCode"
688-
- $ref: "#/components/parameters/odsCodeExtension"
689684
- $ref: "#/components/parameters/requestId"
690685
- $ref: "#/components/parameters/correlationId"
691686
responses:
@@ -788,7 +783,6 @@ paths:
788783
parameters:
789784
- $ref: "#/components/parameters/id"
790785
- $ref: "#/components/parameters/odsCode"
791-
- $ref: "#/components/parameters/odsCodeExtension"
792786
- $ref: "#/components/parameters/requestId"
793787
- $ref: "#/components/parameters/correlationId"
794788
responses:
@@ -867,7 +861,6 @@ paths:
867861
parameters:
868862
- $ref: "#/components/parameters/id"
869863
- $ref: "#/components/parameters/odsCode"
870-
- $ref: "#/components/parameters/odsCodeExtension"
871864
- $ref: "#/components/parameters/requestId"
872865
- $ref: "#/components/parameters/correlationId"
873866
responses:
@@ -2030,12 +2023,6 @@ components:
20302023
invalid:
20312024
summary: Unknown
20322025
value: XYZ
2033-
odsCodeExtension:
2034-
name: NHSD-End-User-Organisation
2035-
description: Organisation extension code
2036-
in: header
2037-
schema:
2038-
$ref: "#/components/schemas/RequestHeaderOrganisationExtensionCode"
20392026
requestId:
20402027
name: X-Request-ID
20412028
description: |

api/producer/updateDocumentReference/tests/test_update_document_reference.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ def test_update_document_reference_happy_path(repository: DocumentPointerReposit
3030

3131
existing_doc_pointer = repository.get_by_id("Y05868-99999-99999-999999")
3232
assert existing_doc_pointer is not None
33-
3433
existing_doc_ref = DocumentReference.model_validate_json(
3534
existing_doc_pointer.document
3635
)

api/producer/updateDocumentReference/update_document_reference.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ def handler(
6161

6262
core_model = DocumentPointer.from_document_reference(document_reference)
6363

64-
if metadata.ods_code_parts != tuple(core_model.producer_id.split("|")):
64+
if metadata.ods_code != core_model.producer_id:
6565
logger.log(
6666
LogReference.PROUPDATE004,
67-
metadata_ods_code_parts=metadata.ods_code_parts,
67+
metadata_ods_code=metadata.ods_code,
6868
producer_id=core_model.producer_id,
6969
)
7070
return SpineErrorResponse.AUTHOR_CREDENTIALS_ERROR(

api/producer/upsertDocumentReference/upsert_document_reference.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,11 @@ def _check_permissions(
6262
"""
6363
Check the requester has permissions to create the DocumentReference
6464
"""
65-
custodian_parts = tuple(
66-
filter(None, (core_model.custodian, core_model.custodian_suffix))
67-
)
68-
if metadata.ods_code_parts != custodian_parts:
65+
if metadata.ods_code != core_model.custodian:
6966
logger.log(
7067
LogReference.PROUPSERT004,
71-
ods_code_parts=metadata.ods_code_parts,
72-
custodian_parts=custodian_parts,
68+
ods_code=metadata.ods_code,
69+
custodian=core_model.custodian,
7370
)
7471
return SpineErrorResponse.UNPROCESSABLE_ENTITY(
7572
diagnostics="The custodian of the provided DocumentReference does not match the expected ODS code for this organisation",
@@ -141,11 +138,11 @@ def _validate_producer_id(identifier, metadata, idx):
141138
Validate that there is an ODS code in the relatesTo target identifier
142139
"""
143140
producer_id = identifier.split("-", 1)[0]
144-
if metadata.ods_code_parts != tuple(producer_id.split("|")):
141+
if metadata.ods_code != producer_id:
145142
logger.log(
146143
LogReference.PROUPSERT007b,
147144
related_identifier=identifier,
148-
ods_code_parts=metadata.ods_code_parts,
145+
ods_code=metadata.ods_code,
149146
)
150147
_raise_operation_outcome_error(
151148
"The relatesTo target identifier value does not include the expected ODS code for this organisation",
@@ -233,10 +230,10 @@ def handler(
233230

234231
core_model = _create_core_model(result.resource, metadata)
235232

236-
if metadata.ods_code_parts != tuple(core_model.producer_id.split("|")):
233+
if metadata.ods_code != core_model.producer_id:
237234
logger.log(
238235
LogReference.PROUPSERT003,
239-
ods_code_parts=metadata.ods_code_parts,
236+
ods_code=metadata.ods_code,
240237
producer_id=core_model.producer_id,
241238
)
242239
return SpineErrorResponse.UNPROCESSABLE_ENTITY(

0 commit comments

Comments
 (0)