diff --git a/api/consumer/swagger.yaml b/api/consumer/swagger.yaml index e75f2fc47..c1a02a1f5 100644 --- a/api/consumer/swagger.yaml +++ b/api/consumer/swagger.yaml @@ -260,7 +260,6 @@ paths: - $ref: "#/components/parameters/category" - $ref: "#/components/parameters/nextPageToken" - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -516,7 +515,6 @@ paths: parameters: - $ref: "#/components/parameters/id" - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -1644,12 +1642,6 @@ components: invalid: summary: Unknown value: XYZ - odsCodeExtension: - name: NHSD-End-User-Organisation - description: Organisation extension code - in: header - schema: - $ref: "#/components/schemas/RequestHeaderOrganisationExtensionCode" requestId: name: X-Request-ID description: | diff --git a/api/producer/createDocumentReference/create_document_reference.py b/api/producer/createDocumentReference/create_document_reference.py index 500bfa97d..72450ea3f 100644 --- a/api/producer/createDocumentReference/create_document_reference.py +++ b/api/producer/createDocumentReference/create_document_reference.py @@ -64,14 +64,11 @@ def _check_permissions( """ Check the requester has permissions to create the DocumentReference """ - custodian_parts = tuple( - filter(None, (core_model.custodian, core_model.custodian_suffix)) - ) - if metadata.ods_code_parts != custodian_parts: + if metadata.ods_code != core_model.custodian: logger.log( LogReference.PROCREATE004, - ods_code_parts=metadata.ods_code_parts, - custodian_parts=custodian_parts, + ods_code=metadata.ods_code, + custodian=core_model.custodian, ) return SpineErrorResponse.UNPROCESSABLE_ENTITY( 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): Validate that there is an ODS code in the relatesTo target identifier """ producer_id = identifier.split("-", 1)[0] - if metadata.ods_code_parts != tuple(producer_id.split("|")): + if metadata.ods_code != producer_id: logger.log( LogReference.PROCREATE007b, related_identifier=identifier, - ods_code_parts=metadata.ods_code_parts, + ods_code=metadata.ods_code, ) _raise_operation_outcome_error( "The relatesTo target identifier value does not include the expected ODS code for this organisation", @@ -229,8 +226,7 @@ def handler( logger.log(LogReference.PROCREATE000) logger.log(LogReference.PROCREATE001, resource=body) - id_prefix = "|".join(metadata.ods_code_parts) - body.id = f"{id_prefix}-{uuid4()}" + body.id = f"{metadata.ods_code}-{uuid4()}" validator = DocumentReferenceValidator() result = validator.validate(body) diff --git a/api/producer/deleteDocumentReference/delete_document_reference.py b/api/producer/deleteDocumentReference/delete_document_reference.py index 80ff3bb42..4878f5d33 100644 --- a/api/producer/deleteDocumentReference/delete_document_reference.py +++ b/api/producer/deleteDocumentReference/delete_document_reference.py @@ -28,10 +28,10 @@ def handler( pointer_id = urllib.parse.unquote(path.id) producer_id, _ = pointer_id.split("-", 1) - if metadata.ods_code_parts != tuple(producer_id.split(".")): + if metadata.ods_code != producer_id: logger.log( LogReference.PRODELETE001, - ods_code_parts=metadata.ods_code_parts, + ods_code=metadata.ods_code, producer_id=producer_id, ) return SpineErrorResponse.AUTHOR_CREDENTIALS_ERROR( diff --git a/api/producer/readDocumentReference/read_document_reference.py b/api/producer/readDocumentReference/read_document_reference.py index 579159d9d..2cdffb54c 100644 --- a/api/producer/readDocumentReference/read_document_reference.py +++ b/api/producer/readDocumentReference/read_document_reference.py @@ -38,10 +38,10 @@ def handler( parsed_id = urllib.parse.unquote(path.id) producer_id = parsed_id.split("-", maxsplit=1)[0] - if metadata.ods_code_parts != tuple(producer_id.split(".")): + if metadata.ods_code != producer_id: logger.log( LogReference.PROREAD001, - ods_code_parts=metadata.ods_code_parts, + ods_code=metadata.ods_code, producer_id=producer_id, ) return SpineErrorResponse.AUTHOR_CREDENTIALS_ERROR( diff --git a/api/producer/searchDocumentReference/search_document_reference.py b/api/producer/searchDocumentReference/search_document_reference.py index 190e2d93a..d201f8abf 100644 --- a/api/producer/searchDocumentReference/search_document_reference.py +++ b/api/producer/searchDocumentReference/search_document_reference.py @@ -80,7 +80,6 @@ def handler( logger.log( LogReference.PROSEARCH003, custodian=metadata.ods_code, - custodian_suffix=metadata.ods_code_extension, nhs_number=params.nhs_number, pointer_types=pointer_types, categories=params.category.root.split(",") if params.category else [], @@ -88,7 +87,6 @@ def handler( for result in repository.search( custodian=metadata.ods_code, - custodian_suffix=metadata.ods_code_extension, nhs_number=params.nhs_number, pointer_types=pointer_types, categories=params.category.root.split(",") if params.category else [], diff --git a/api/producer/searchPostDocumentReference/search_post_document_reference.py b/api/producer/searchPostDocumentReference/search_post_document_reference.py index 45324c018..cac1ce30d 100644 --- a/api/producer/searchPostDocumentReference/search_post_document_reference.py +++ b/api/producer/searchPostDocumentReference/search_post_document_reference.py @@ -74,7 +74,6 @@ def handler( logger.log( LogReference.PROPOSTSEARCH003, custodian=metadata.ods_code, - custodian_suffix=metadata.ods_code_extension, nhs_number=body.nhs_number, pointer_types=pointer_types, categories=categories, @@ -82,7 +81,6 @@ def handler( for result in repository.search( custodian=metadata.ods_code, - custodian_suffix=metadata.ods_code_extension, nhs_number=body.nhs_number, pointer_types=pointer_types, categories=categories, diff --git a/api/producer/swagger.yaml b/api/producer/swagger.yaml index 3d44a8f7e..f25e49846 100644 --- a/api/producer/swagger.yaml +++ b/api/producer/swagger.yaml @@ -267,7 +267,6 @@ paths: $ref: "#/components/requestBodies/DocumentReference" parameters: - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" x-amazon-apigateway-integration: @@ -408,7 +407,6 @@ paths: - $ref: "#/components/parameters/category" - $ref: "#/components/parameters/nextPageToken" - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -610,7 +608,6 @@ paths: operationId: upsertDocumentReference parameters: - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -687,7 +684,6 @@ paths: operationId: searchPostDocumentReference parameters: - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" requestBody: @@ -902,7 +898,6 @@ paths: parameters: - $ref: "#/components/parameters/id" - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -1005,7 +1000,6 @@ paths: parameters: - $ref: "#/components/parameters/id" - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -1084,7 +1078,6 @@ paths: parameters: - $ref: "#/components/parameters/id" - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -2247,12 +2240,6 @@ components: invalid: summary: Unknown value: XYZ - odsCodeExtension: - name: NHSD-End-User-Organisation - description: Organisation extension code - in: header - schema: - $ref: "#/components/schemas/RequestHeaderOrganisationExtensionCode" requestId: name: X-Request-ID description: | diff --git a/api/producer/updateDocumentReference/tests/test_update_document_reference.py b/api/producer/updateDocumentReference/tests/test_update_document_reference.py index 692a14a04..3b4f35128 100644 --- a/api/producer/updateDocumentReference/tests/test_update_document_reference.py +++ b/api/producer/updateDocumentReference/tests/test_update_document_reference.py @@ -30,7 +30,6 @@ def test_update_document_reference_happy_path(repository: DocumentPointerReposit existing_doc_pointer = repository.get_by_id("Y05868-99999-99999-999999") assert existing_doc_pointer is not None - existing_doc_ref = DocumentReference.model_validate_json( existing_doc_pointer.document ) diff --git a/api/producer/updateDocumentReference/update_document_reference.py b/api/producer/updateDocumentReference/update_document_reference.py index c6f3e9bb1..7dba82bf9 100644 --- a/api/producer/updateDocumentReference/update_document_reference.py +++ b/api/producer/updateDocumentReference/update_document_reference.py @@ -61,10 +61,10 @@ def handler( core_model = DocumentPointer.from_document_reference(document_reference) - if metadata.ods_code_parts != tuple(core_model.producer_id.split("|")): + if metadata.ods_code != core_model.producer_id: logger.log( LogReference.PROUPDATE004, - metadata_ods_code_parts=metadata.ods_code_parts, + metadata_ods_code=metadata.ods_code, producer_id=core_model.producer_id, ) return SpineErrorResponse.AUTHOR_CREDENTIALS_ERROR( diff --git a/api/producer/upsertDocumentReference/upsert_document_reference.py b/api/producer/upsertDocumentReference/upsert_document_reference.py index d818b2561..eb2f39c51 100644 --- a/api/producer/upsertDocumentReference/upsert_document_reference.py +++ b/api/producer/upsertDocumentReference/upsert_document_reference.py @@ -62,14 +62,11 @@ def _check_permissions( """ Check the requester has permissions to create the DocumentReference """ - custodian_parts = tuple( - filter(None, (core_model.custodian, core_model.custodian_suffix)) - ) - if metadata.ods_code_parts != custodian_parts: + if metadata.ods_code != core_model.custodian: logger.log( LogReference.PROUPSERT004, - ods_code_parts=metadata.ods_code_parts, - custodian_parts=custodian_parts, + ods_code=metadata.ods_code, + custodian=core_model.custodian, ) return SpineErrorResponse.UNPROCESSABLE_ENTITY( 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): Validate that there is an ODS code in the relatesTo target identifier """ producer_id = identifier.split("-", 1)[0] - if metadata.ods_code_parts != tuple(producer_id.split("|")): + if metadata.ods_code != producer_id: logger.log( LogReference.PROUPSERT007b, related_identifier=identifier, - ods_code_parts=metadata.ods_code_parts, + ods_code=metadata.ods_code, ) _raise_operation_outcome_error( "The relatesTo target identifier value does not include the expected ODS code for this organisation", @@ -233,10 +230,10 @@ def handler( core_model = _create_core_model(result.resource, metadata) - if metadata.ods_code_parts != tuple(core_model.producer_id.split("|")): + if metadata.ods_code != core_model.producer_id: logger.log( LogReference.PROUPSERT003, - ods_code_parts=metadata.ods_code_parts, + ods_code=metadata.ods_code, producer_id=core_model.producer_id, ) return SpineErrorResponse.UNPROCESSABLE_ENTITY( diff --git a/layer/nrlf/core/authoriser.py b/layer/nrlf/core/authoriser.py index 137048abb..227179dd7 100644 --- a/layer/nrlf/core/authoriser.py +++ b/layer/nrlf/core/authoriser.py @@ -17,12 +17,8 @@ def get_pointer_types( app_id = connection_metadata.nrl_app_id ods_code = connection_metadata.ods_code - ods_code_extension = connection_metadata.ods_code_extension - if ods_code_extension: - key = f"{app_id}/{ods_code}.{ods_code_extension}.json" - else: - key = f"{app_id}/{ods_code}.json" + key = f"{app_id}/{ods_code}.json" logger.log(LogReference.S3PERMISSIONS001, bucket=config.AUTH_STORE, key=key) s3_client = get_s3_client() @@ -63,12 +59,8 @@ def parse_permissions_file( app_id = connection_metadata.nrl_app_id ods_code = connection_metadata.ods_code - ods_code_extension = connection_metadata.ods_code_extension - if ods_code_extension: - key = f"{app_id}/{ods_code}.{ods_code_extension}.json" - else: - key = f"{app_id}/{ods_code}.json" + key = f"{app_id}/{ods_code}.json" file_path = f"/opt/python/nrlf_permissions/{key}" diff --git a/layer/nrlf/core/dynamodb/model.py b/layer/nrlf/core/dynamodb/model.py index 2d75bb7b6..1cfca8fab 100644 --- a/layer/nrlf/core/dynamodb/model.py +++ b/layer/nrlf/core/dynamodb/model.py @@ -58,7 +58,6 @@ class DocumentPointer(DynamoDBModel): id: str nhs_number: str custodian: str - custodian_suffix: Optional[str] = None producer_id: str category_id: str category: str @@ -159,36 +158,6 @@ def from_document_reference( ) return core_model - @model_validator(mode="before") - @classmethod - def extract_custodian_suffix(cls, values: Dict[str, Any]) -> Dict[str, Any]: - """ - Extract the custodian suffix if it is not provided and the custodian - is in the format . - """ - logger.log(LogReference.DOCPOINTER001) - - custodian = values.get("custodian") - custodian_suffix = values.get("custodian_suffix") - - if custodian and not custodian_suffix: - split_custodian = custodian.split(".") - - if len(split_custodian) == 2: - custodian, custodian_suffix = split_custodian - values["custodian"] = custodian - - if custodian_suffix is not None: - values["custodian_suffix"] = custodian_suffix - - logger.log( - LogReference.DOCPOINTER002, - custodian=values["custodian"], - custodian_suffix=values.get("custodian_suffix"), - ) - - return values - @model_validator(mode="before") @classmethod def inject_producer_id(cls, values: Dict[str, Any]) -> Dict[str, Any]: @@ -242,16 +211,8 @@ def validate_producer_id( id_ = values.get("id") custodian = values.get("custodian_id") - custodian_suffix = values.get("custodian_suffix") - - if custodian and custodian_suffix: - if tuple(producer_id.split(".")) != (custodian, custodian_suffix): - raise ValueError( - f"Producer ID {producer_id} (extracted from '{id_}') is not correctly formed. " - "It is expected to be composed in the form '.'" - ) - elif custodian and producer_id != custodian: + if custodian and producer_id != custodian: raise ValueError( f"Producer ID {producer_id} (extracted from '{id_}')" " does not match the Custodian ID." diff --git a/layer/nrlf/core/dynamodb/repository.py b/layer/nrlf/core/dynamodb/repository.py index 9f1158fe4..1f8262ff0 100644 --- a/layer/nrlf/core/dynamodb/repository.py +++ b/layer/nrlf/core/dynamodb/repository.py @@ -216,7 +216,6 @@ def search( self, nhs_number: str, custodian: Optional[str] = None, - custodian_suffix: Optional[str] = None, pointer_types: Optional[List[str]] = [], categories: Optional[List[str]] = [], ) -> Iterator[DocumentPointer]: @@ -274,15 +273,6 @@ def search( filter_expressions.append("custodian = :custodian") expression_values[":custodian"] = custodian - if custodian_suffix: - logger.log( - LogReference.REPOSITORY016, - expression="custodian_suffix = :custodian_suffix", - values=["custodian_suffix"], - ) - filter_expressions.append("custodian_suffix = :custodian_suffix") - expression_values[":custodian_suffix"] = custodian_suffix - query = { "IndexName": "patient_gsi", "KeyConditionExpression": " AND ".join(key_conditions), diff --git a/layer/nrlf/core/dynamodb/tests/test_model.py b/layer/nrlf/core/dynamodb/tests/test_model.py index 951a8cf32..c2d5cfc4f 100644 --- a/layer/nrlf/core/dynamodb/tests/test_model.py +++ b/layer/nrlf/core/dynamodb/tests/test_model.py @@ -55,7 +55,6 @@ def test_document_pointer_init(): "id": "X26-999999-999999-99999999", "nhs_number": "9999999999", "custodian": "X26", - "custodian_suffix": None, "author": "X26", "producer_id": "X26", "type": "http://snomed.info/sct|123456789", @@ -88,7 +87,6 @@ def test_document_pointer_from_document_reference_valid(): assert model_data == { "created_on": "2024-01-01T00:00:00.000Z", "custodian": "Y05868", - "custodian_suffix": None, "author": "Y05868", "id": "Y05868-99999-99999-999999", "master_identifier": None, @@ -123,7 +121,6 @@ def test_document_pointer_from_document_reference_valid_with_created_on(): assert model_data == { "created_on": "2024-02-02T12:34:56.000Z", "custodian": "Y05868", - "custodian_suffix": None, "author": "Y05868", "id": "Y05868-99999-99999-999999", "master_identifier": None, @@ -158,42 +155,6 @@ def test_document_pointer_from_document_reference_invalid(): assert str(error.value) == "'NoneType' object has no attribute 'coding'" -def test_document_pointer_extract_custodian_suffix_no_suffix(): - values = {"custodian": "X26", "custodian_suffix": None} - - assert DocumentPointer.extract_custodian_suffix(values) == { - "custodian": "X26", - "custodian_suffix": None, - } - - -def test_document_pointer_extract_custodian_suffix_suffix(): - values = {"custodian": "X26.001", "custodian_suffix": None} - - assert DocumentPointer.extract_custodian_suffix(values) == { - "custodian": "X26", - "custodian_suffix": "001", - } - - -def test_document_pointer_extract_custodian_suffix_existing_suffix(): - values = {"custodian": "X26", "custodian_suffix": "001"} - - assert DocumentPointer.extract_custodian_suffix(values) == { - "custodian": "X26", - "custodian_suffix": "001", - } - - -def test_document_pointer_extract_custodian_suffix_multiple_suffix(): - values = {"custodian": "X26.001.002", "custodian_suffix": None} - - assert DocumentPointer.extract_custodian_suffix(values) == { - "custodian": "X26.001.002", - "custodian_suffix": None, - } - - def test_document_pointer_inject_producer_id(): values = {"id": "X26-999999-999999-99999999", "producer_id": None} diff --git a/layer/nrlf/core/log_references.py b/layer/nrlf/core/log_references.py index 4df8a25ff..b8948fa0c 100644 --- a/layer/nrlf/core/log_references.py +++ b/layer/nrlf/core/log_references.py @@ -289,7 +289,7 @@ class LogReference(Enum): ) PROUPSERT004 = _Reference( "WARN", - "ODS code in headers does not match ODWS code in resource custodian for upsert", + "ODS code in headers does not match ODS code in resource custodian for upsert", ) PROUPSERT005 = _Reference( "WARN", "Organisation is not allowed to upsert pointer type for upsert" diff --git a/layer/nrlf/core/model.py b/layer/nrlf/core/model.py index 05b3e5245..7163d339f 100644 --- a/layer/nrlf/core/model.py +++ b/layer/nrlf/core/model.py @@ -53,15 +53,7 @@ class ClientRpDetails(BaseModel): class ConnectionMetadata(BaseModel): pointer_types: list[str] = Field(alias="nrl.pointer-types", default_factory=list) ods_code: str = Field(alias="nrl.ods-code") - ods_code_extension: str | None = Field(alias="nrl.ods-code-extension", default=None) nrl_permissions: list[str] = Field(alias="nrl.permissions", default_factory=list) nrl_app_id: str = Field(alias="nrl.app-id") is_test_event: bool = Field(alias="nrl.test-event", default=False) client_rp_details: ClientRpDetails - - @property - def ods_code_parts(self): - if self.ods_code_extension: - return (self.ods_code, self.ods_code_extension) - - return (self.ods_code,) diff --git a/layer/nrlf/core/tests/test_model.py b/layer/nrlf/core/tests/test_model.py index 07641989e..f9e434586 100644 --- a/layer/nrlf/core/tests/test_model.py +++ b/layer/nrlf/core/tests/test_model.py @@ -14,7 +14,6 @@ def test_connection_metadata(): { "nrl.pointer-types": ["test"], "nrl.ods-code": "test", - "nrl.ods-code-extension": "test", "nrl.permissions": ["test"], "nrl.app-id": "test-nrl", "client_rp_details": { @@ -28,12 +27,10 @@ def test_connection_metadata(): assert metadata.pointer_types == ["test"] assert metadata.ods_code == "test" - assert metadata.ods_code_extension == "test" assert metadata.nrl_permissions == ["test"] assert metadata.nrl_app_id == "test-nrl" assert metadata.client_rp_details.developer_app_name == "test" assert metadata.client_rp_details.developer_app_id == "test" - assert metadata.ods_code_parts == ("test", "test") def test_producer_request_params(): diff --git a/layer/nrlf/core/tests/test_request.py b/layer/nrlf/core/tests/test_request.py index 22a98f207..c296c9c8d 100644 --- a/layer/nrlf/core/tests/test_request.py +++ b/layer/nrlf/core/tests/test_request.py @@ -44,7 +44,6 @@ def test_parse_headers_valid_headers(): { "nrl.pointer-types": ["pointer_type"], "nrl.ods-code": "X26", - "nrl.ods-code-extension": "001", "nrl.permissions": ["permission1", "permission2"], "nrl.app-id": "X26-TestApp-12345", } @@ -61,12 +60,10 @@ def test_parse_headers_valid_headers(): assert metadata.pointer_types == ["pointer_type"] assert metadata.ods_code == "X26" - assert metadata.ods_code_extension == "001" assert metadata.nrl_app_id == "X26-TestApp-12345" assert metadata.nrl_permissions == ["permission1", "permission2"] assert metadata.client_rp_details.developer_app_name == "TestApp" assert metadata.client_rp_details.developer_app_id == "12345" - assert metadata.ods_code_parts == ("X26", "001") def test_parse_headers_invalid_headers(): @@ -108,7 +105,6 @@ def test_parse_headers_case_insensitive(): { "nrl.pointer-types": ["pointer_type"], "nrl.ods-code": "X26", - "nrl.ods-code-extension": "001", "nrl.permissions": ["permission1", "permission2"], "nrl.app-id": "X26-App-12345", } @@ -125,12 +121,10 @@ def test_parse_headers_case_insensitive(): assert metadata.pointer_types == ["pointer_type"] assert metadata.ods_code == "X26" - assert metadata.ods_code_extension == "001" assert metadata.nrl_app_id == "X26-App-12345" assert metadata.nrl_permissions == ["permission1", "permission2"] assert metadata.client_rp_details.developer_app_name == "TestApp" assert metadata.client_rp_details.developer_app_id == "12345" - assert metadata.ods_code_parts == ("X26", "001") def test_parse_body_no_model_no_body(): diff --git a/swagger/consumer-static/components.yaml b/swagger/consumer-static/components.yaml index be736a02d..d740c7ba5 100644 --- a/swagger/consumer-static/components.yaml +++ b/swagger/consumer-static/components.yaml @@ -57,12 +57,6 @@ components: schema: $ref: "#/components/schemas/RequestHeaderOdsCode" required: true - odsCodeExtension: - name: NHSD-End-User-Organisation - description: Organisation extension code - in: header - schema: - $ref: "#/components/schemas/RequestHeaderOrganisationExtensionCode" requestId: name: X-Request-ID description: | diff --git a/swagger/consumer-static/count.yaml b/swagger/consumer-static/count.yaml index 1fb3ed5e5..d5cb2d66c 100644 --- a/swagger/consumer-static/count.yaml +++ b/swagger/consumer-static/count.yaml @@ -8,7 +8,6 @@ paths: parameters: - $ref: "#/components/parameters/subject" - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: diff --git a/swagger/consumer-static/header.yaml b/swagger/consumer-static/header.yaml index 526278cbb..9b21579c4 100644 --- a/swagger/consumer-static/header.yaml +++ b/swagger/consumer-static/header.yaml @@ -25,7 +25,6 @@ paths: - $ref: "#/components/parameters/type" - $ref: "#/components/parameters/nextPageToken" - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -96,7 +95,6 @@ paths: parameters: - $ref: "#/components/parameters/id" - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: diff --git a/swagger/producer-static/components.yaml b/swagger/producer-static/components.yaml index 8c984b796..2dae3fb15 100644 --- a/swagger/producer-static/components.yaml +++ b/swagger/producer-static/components.yaml @@ -39,12 +39,6 @@ components: schema: $ref: "#/components/schemas/RequestHeaderOdsCode" required: true - odsCodeExtension: - name: NHSD-End-User-Organisation - description: Organisation extension code - in: header - schema: - $ref: "#/components/schemas/RequestHeaderOrganisationExtensionCode" requestId: name: X-Request-ID description: | diff --git a/swagger/producer-static/header.yaml b/swagger/producer-static/header.yaml index c4667e3f6..2018bf6a5 100644 --- a/swagger/producer-static/header.yaml +++ b/swagger/producer-static/header.yaml @@ -24,7 +24,6 @@ paths: - $ref: "#/components/parameters/type" - $ref: "#/components/parameters/nextPageToken" - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -54,7 +53,6 @@ paths: operationId: createDocumentReference parameters: - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -77,7 +75,6 @@ paths: operationId: upsertDocumentReference parameters: - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -102,7 +99,6 @@ paths: parameters: - $ref: "#/components/parameters/id" - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -133,7 +129,6 @@ paths: parameters: - $ref: "#/components/parameters/id" - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -159,7 +154,6 @@ paths: parameters: - $ref: "#/components/parameters/id" - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" responses: @@ -183,7 +177,6 @@ paths: operationId: searchPostDocumentReference parameters: - $ref: "#/components/parameters/odsCode" - - $ref: "#/components/parameters/odsCodeExtension" - $ref: "#/components/parameters/requestId" - $ref: "#/components/parameters/correlationId" requestBody: diff --git a/tests/features/utils/api_client.py b/tests/features/utils/api_client.py index bb138d66e..4c8f8a8cc 100644 --- a/tests/features/utils/api_client.py +++ b/tests/features/utils/api_client.py @@ -9,10 +9,6 @@ def _config_from_context(context: Context, ods_code: str): - ods_code_parts = ods_code.split(".", 1) - ods_code_extension = None - if len(ods_code_parts) == 2: - ods_code_extension = ods_code_parts[1] feature_test_headers = { "X-Request-Id": context.request_id, @@ -25,8 +21,7 @@ def _config_from_context(context: Context, ods_code: str): client_cert=context.client_cert, connection_metadata=ConnectionMetadata.model_validate( { - "nrl.ods-code": ods_code_parts[0], - "nrl.ods-code-extension": ods_code_extension, + "nrl.ods-code": ods_code, "nrl.permissions": [], "nrl.app-id": context.application.app_id, "client_rp_details": {