From aa35e766705dc326269dc30cd347d323cde71ce6 Mon Sep 17 00:00:00 2001 From: Nicola Stoira <nicola.stoira@accenture.com> Date: Tue, 16 Jul 2024 14:33:21 +0200 Subject: [PATCH] Add share_with_einstein and output_format to /Get_projects endpoint --- api/app/responses.py | 2 ++ api/tests/test_main.py | 6 +++--- lib/database.py | 5 +++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/api/app/responses.py b/api/app/responses.py index 9af42938..caecbcb1 100644 --- a/api/app/responses.py +++ b/api/app/responses.py @@ -251,6 +251,8 @@ def get_responses(endpoint: Endpoint) -> dict: "data-provider-id": "DATA-PROVIDER-ID", "created-by": "user", "is_initialized": True, + "output_format": "Turtle", + "share_with_einstein": False, "uploaded-files": { "project_specific_schema": [ { diff --git a/api/tests/test_main.py b/api/tests/test_main.py index bb257132..0585a360 100644 --- a/api/tests/test_main.py +++ b/api/tests/test_main.py @@ -372,7 +372,7 @@ class ProjectConfigTest(object): ] assert response.status_code == 200 assert response.json() == {"projects": [{"project-name": f"{project_one}", "schema-name": f"{project_one}", "data-provider-id": database.config.data_provider_id, "created-by": database.config.api_user, - "is_initialized": True, + "is_initialized": True, "output_format": "Turtle", "share_with_einstein": False, "uploaded-files": {"project_specific_schema": [{"filename": project_one + "_schema.ttl", 'original_name': 'sphn_schema_2024.1.ttl', 'file_size': '610.3KB', 'versionIRI': 'https://biomedit.ch/rdf/sphn-schema/sphn/2024/2', "owl:imports": owl_imports}], 'ext_shacls': [{'filename': f'Shacler_{project_one}_shacl.ttl', 'file_size': '683.0KB'}]}}]} assert response.json() == initialized_projects @@ -384,10 +384,10 @@ class ProjectConfigTest(object): assert response.status_code == 200 initialized_projects = database.get_created_projects()['projects'] expected_result = [{"project-name": f"{project_one}", "schema-name": f"{project_one}", "data-provider-id": database.config.data_provider_id, "created-by": database.config.api_user, - "is_initialized": True, "uploaded-files": {"project_specific_schema": [{"filename": project_one + "_schema.ttl", 'original_name': 'sphn_schema_2024.1.ttl', 'file_size': '610.3KB', 'versionIRI': 'https://biomedit.ch/rdf/sphn-schema/sphn/2024/2', "owl:imports": owl_imports}], + "is_initialized": True, "output_format": "Turtle", "share_with_einstein": False, "uploaded-files": {"project_specific_schema": [{"filename": project_one + "_schema.ttl", 'original_name': 'sphn_schema_2024.1.ttl', 'file_size': '610.3KB', 'versionIRI': 'https://biomedit.ch/rdf/sphn-schema/sphn/2024/2', "owl:imports": owl_imports}], 'ext_shacls': [{'filename': f'Shacler_{project_one}_shacl.ttl', 'file_size': '683.0KB'}]}}, {"project-name": f"{project_two}", "schema-name": f"{project_two}", "data-provider-id": database.config.data_provider_id, "created-by": database.config.api_user, - "is_initialized": True, "uploaded-files": {"project_specific_schema": [{"filename": project_two + "_schema.ttl", 'original_name': 'sphn_schema_2024.1.ttl', 'file_size': '610.3KB', 'versionIRI': 'https://biomedit.ch/rdf/sphn-schema/sphn/2024/2', "owl:imports": owl_imports}]}}] + "is_initialized": True, "output_format": "Turtle", "share_with_einstein": False, "uploaded-files": {"project_specific_schema": [{"filename": project_two + "_schema.ttl", 'original_name': 'sphn_schema_2024.1.ttl', 'file_size': '610.3KB', 'versionIRI': 'https://biomedit.ch/rdf/sphn-schema/sphn/2024/2', "owl:imports": owl_imports}]}}] for project in response.json()['projects']: assert project in expected_result assert project in initialized_projects diff --git a/lib/database.py b/lib/database.py index efb7dab5..1d7569f6 100644 --- a/lib/database.py +++ b/lib/database.py @@ -320,7 +320,7 @@ class Database(object): Returns map with details of created projects """ self.create_connection() - sql = "SELECT project_name, data_provider_id, api_user, initialized FROM configuration" + sql = "SELECT project_name, data_provider_id, api_user, initialized, output_format, share_with_einstein FROM configuration" self.cursor.execute(sql) records = self.cursor.fetchall() self.close_connection() @@ -328,7 +328,8 @@ class Database(object): for project in records: project_name = project[0] bucket = Buckets.CONNECTOR.value - project_dict = {"project-name": project_name, "schema-name": project_name, "data-provider-id": project[1], "created-by": project[2], "is_initialized": project[3], "uploaded-files": {}} + project_dict = {"project-name": project_name, "schema-name": project_name, "data-provider-id": project[1], "created-by": project[2], "is_initialized": project[3], "output_format": project[4], + "share_with_einstein": project[5], "uploaded-files": {}} schemas = [schema for schema in self.config.minio_client.list_objects(bucket_name=bucket, prefix=f"{project_name}/Schema/")] if schemas: -- GitLab