From 5b6f0550d0b5a87c6d61da15df8dc56ca08b0123 Mon Sep 17 00:00:00 2001 From: Matthew Richards Date: Mon, 1 Feb 2021 17:51:55 +0000 Subject: [PATCH] #119: Move endpoints dict to a separate file - This change is to prevent a circular import when get_entity_object_from_name is modified - Also removes a TODO comment that has previously addressed - it was regarding camelCasing of modId etc. --- datagateway_api/common/database/helpers.py | 2 +- datagateway_api/common/helpers.py | 1 + datagateway_api/src/api_start_utils.py | 2 +- .../entities/entity_endpoint_dict.py | 41 +++++++++++++++++ .../src/resources/entities/entity_map.py | 45 +------------------ test/test_endpoint_rules.py | 2 +- 6 files changed, 46 insertions(+), 47 deletions(-) create mode 100644 datagateway_api/src/resources/entities/entity_endpoint_dict.py diff --git a/datagateway_api/common/database/helpers.py b/datagateway_api/common/database/helpers.py index 76d8bf97..2c404cfd 100644 --- a/datagateway_api/common/database/helpers.py +++ b/datagateway_api/common/database/helpers.py @@ -147,7 +147,7 @@ def execute_query(self): record.createTime = datetime.datetime.now() record.modTime = datetime.datetime.now() record.createId = "user" - record.modId = "user" # TODO - These will need changing + record.modId = "user" self.session.add(record) self.commit_changes() self.session.refresh(record) diff --git a/datagateway_api/common/helpers.py b/datagateway_api/common/helpers.py index a6562394..13146018 100644 --- a/datagateway_api/common/helpers.py +++ b/datagateway_api/common/helpers.py @@ -14,6 +14,7 @@ MissingCredentialsError, ) from datagateway_api.common.query_filter_factory import QueryFilterFactory +from datagateway_api.src.resources.entities.entity_endpoint_dict import endpoints log = logging.getLogger() diff --git a/datagateway_api/src/api_start_utils.py b/datagateway_api/src/api_start_utils.py index 036f596f..fef5f2fe 100644 --- a/datagateway_api/src/api_start_utils.py +++ b/datagateway_api/src/api_start_utils.py @@ -15,7 +15,7 @@ get_find_one_endpoint, get_id_endpoint, ) -from datagateway_api.src.resources.entities.entity_map import endpoints +from datagateway_api.src.resources.entities.entity_endpoint_dict import endpoints from datagateway_api.src.resources.non_entities.sessions_endpoints import ( session_endpoints, ) diff --git a/datagateway_api/src/resources/entities/entity_endpoint_dict.py b/datagateway_api/src/resources/entities/entity_endpoint_dict.py new file mode 100644 index 00000000..0c6863d5 --- /dev/null +++ b/datagateway_api/src/resources/entities/entity_endpoint_dict.py @@ -0,0 +1,41 @@ +# endpoint_name: entity_name +endpoints = { + "Applications": "Application", + "DataCollectionDatafiles": "DataCollectionDatafile", + "DataCollectionDatasets": "DataCollectionDataset", + "DataCollectionParameters": "DataCollectionParameter", + "DataCollections": "DataCollection", + "DatafileFormats": "DatafileFormat", + "DatafileParameters": "DatafileParameter", + "Datafiles": "Datafile", + "DatasetParameters": "DatasetParameter", + "DatasetTypes": "DatasetType", + "Datasets": "Dataset", + "Facilities": "Facility", + "FacilityCycles": "FacilityCycle", + "Groupings": "Grouping", + "InstrumentScientists": "InstrumentScientist", + "Instruments": "Instrument", + "InvestigationGroups": "InvestigationGroup", + "InvestigationInstruments": "InvestigationInstrument", + "InvestigationParameters": "InvestigationParameter", + "InvestigationTypes": "InvestigationType", + "InvestigationUsers": "InvestigationUser", + "Investigations": "Investigation", + "Jobs": "Job", + "Keywords": "Keyword", + "ParameterTypes": "ParameterType", + "PermissibleStringValues": "PermissibleStringValue", + "PublicSteps": "PublicStep", + "Publications": "Publication", + "RelatedDatafiles": "RelatedDatafile", + "Rules": "Rule", + "SampleParameters": "SampleParameter", + "SampleTypes": "SampleType", + "Samples": "Sample", + "Shifts": "Shift", + "Studies": "Study", + "StudyInvestigations": "StudyInvestigation", + "UserGroups": "UserGroup", + "Users": "User", +} diff --git a/datagateway_api/src/resources/entities/entity_map.py b/datagateway_api/src/resources/entities/entity_map.py index 42f76d8e..588d4b85 100644 --- a/datagateway_api/src/resources/entities/entity_map.py +++ b/datagateway_api/src/resources/entities/entity_map.py @@ -2,50 +2,7 @@ from sqlalchemy.inspection import inspect -from datagateway_api.common.database.models import EntityHelper - - -# endpoint_name: entity_name -endpoints = { - "Applications": "Application", - "DataCollectionDatafiles": "DataCollectionDatafile", - "DataCollectionDatasets": "DataCollectionDataset", - "DataCollectionParameters": "DataCollectionParameter", - "DataCollections": "DataCollection", - "DatafileFormats": "DatafileFormat", - "DatafileParameters": "DatafileParameter", - "Datafiles": "Datafile", - "DatasetParameters": "DatasetParameter", - "DatasetTypes": "DatasetType", - "Datasets": "Dataset", - "Facilities": "Facility", - "FacilityCycles": "FacilityCycle", - "Groupings": "Grouping", - "InstrumentScientists": "InstrumentScientist", - "Instruments": "Instrument", - "InvestigationGroups": "InvestigationGroup", - "InvestigationInstruments": "InvestigationInstrument", - "InvestigationParameters": "InvestigationParameter", - "InvestigationTypes": "InvestigationType", - "InvestigationUsers": "InvestigationUser", - "Investigations": "Investigation", - "Jobs": "Job", - "Keywords": "Keyword", - "ParameterTypes": "ParameterType", - "PermissibleStringValues": "PermissibleStringValue", - "PublicSteps": "PublicStep", - "Publications": "Publication", - "RelatedDatafiles": "RelatedDatafile", - "Rules": "Rule", - "SampleParameters": "SampleParameter", - "SampleTypes": "SampleType", - "Samples": "Sample", - "Shifts": "Shift", - "Studies": "Study", - "StudyInvestigations": "StudyInvestigation", - "UserGroups": "UserGroup", - "Users": "User", -} +from datagateway_api.src.resources.entities.entity_endpoint_dict import endpoints def type_conversion(python_type): diff --git a/test/test_endpoint_rules.py b/test/test_endpoint_rules.py index f703e4f6..cc3c5b14 100644 --- a/test/test_endpoint_rules.py +++ b/test/test_endpoint_rules.py @@ -1,6 +1,6 @@ import pytest -from datagateway_api.src.resources.entities.entity_map import endpoints +from datagateway_api.src.resources.entities.entity_endpoint_dict import endpoints class TestEndpointRules: