diff --git a/apiserver/config/__init__.py b/apiserver/config/__init__.py index 094d3cd993c1d36caf251bfc714135cc52f3fa75..c7398456bb22e02a7a075df1afc2d0d908e94b15 100644 --- a/apiserver/config/__init__.py +++ b/apiserver/config/__init__.py @@ -1 +1 @@ -from .settings import Settings \ No newline at end of file +from .settings import ApiserverSettings \ No newline at end of file diff --git a/apiserver/config/settings.py b/apiserver/config/settings.py index 4c1559a3a7ef003f36702f45752d0c1550e8b1d9..6cc526ddca7e3b2be4f9d59f61b9644994ad9f3e 100644 --- a/apiserver/config/settings.py +++ b/apiserver/config/settings.py @@ -5,10 +5,9 @@ DEFAULT_JSON_FILEPATH: str = "./app/data" ## Additional Settings can be made available by adding them as properties to this class # At launch they will be read from environment variables (case-INsensitive) -class Settings(BaseSettings): - datacatalog_apiserver_host: str = "0.0.0.0" - datacatalog_apiserver_port: int = 80 - datacatalog_apiserver_json_storage_path: str = DEFAULT_JSON_FILEPATH +class ApiserverSettings(BaseSettings): + json_storage_path: str = DEFAULT_JSON_FILEPATH class Config: - env_file = "config.env" \ No newline at end of file + env_prefix: str = "datacatalog_apiserver_" + env_file: str = "config.env" \ No newline at end of file diff --git a/apiserver/main.py b/apiserver/main.py index 64b30d01719f5061c37b27873d45e4d413c36aa8..9366ebf2a0495e3d946d1bda72bdd7301b240f43 100644 --- a/apiserver/main.py +++ b/apiserver/main.py @@ -11,12 +11,12 @@ from .storage import AbstractLocationDataStorageAdapter from .storage import LocationData from .storage import LocationDataType -from .config import Settings +from .config import ApiserverSettings from enum import Enum -settings = Settings() +settings = ApiserverSettings() app = FastAPI( title="API-Server for the Data Catalogue" diff --git a/apiserver/storage/JsonFileStorageAdapter.py b/apiserver/storage/JsonFileStorageAdapter.py index 4489df1262ea5377da25b9f39de1c5e7fb612e91..e8fbc6ff87b63418e8bf5498c633ea6b702060d4 100644 --- a/apiserver/storage/JsonFileStorageAdapter.py +++ b/apiserver/storage/JsonFileStorageAdapter.py @@ -4,7 +4,7 @@ import uuid from .LocationStorage import AbstractLocationDataStorageAdapter, LocationData, LocationDataType -from apiserver.config import Settings +from apiserver.config import ApiserverSettings from typing import List @@ -23,9 +23,9 @@ class StoredData: class JsonFileStorageAdapter(AbstractLocationDataStorageAdapter): data_dir: str - def __init__(self, settings: Settings): + def __init__(self, settings: ApiserverSettings): AbstractLocationDataStorageAdapter.__init__(self) - self.data_dir = settings.datacatalog_apiserver_json_storage_path + self.data_dir = settings.json_storage_path if not (os.path.exists(self.data_dir) and os.path.isdir(self.data_dir)): raise Exception('Data Directory \"' + self.data_dir + '\" does not exist.') diff --git a/apiserver_tests/context.py b/apiserver_tests/context.py index 2f8a3617f1bab5c1c03d74afd466644f33f1650c..557827b88f271d88771bc21d9f8441f43cb5c5a2 100644 --- a/apiserver_tests/context.py +++ b/apiserver_tests/context.py @@ -2,5 +2,5 @@ import os import sys sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) -import apiserver -import apiserver.storage as storage \ No newline at end of file +import apiserver as apiserver +import apiserver.storage as storage \ No newline at end of file diff --git a/apiserver_tests/test_responsiveness.py b/apiserver_tests/test_responsiveness.py index b70b0b900fc2587a988881031e6cfe39a03e71e5..7838446a688a0a7daa7e38779c6821e51ff2b954 100644 --- a/apiserver_tests/test_responsiveness.py +++ b/apiserver_tests/test_responsiveness.py @@ -6,7 +6,6 @@ from fastapi.testclient import TestClient from context import apiserver from context import storage - client = TestClient(apiserver.app) # get root diff --git a/apiserver/config/config.env b/config.env similarity index 61% rename from apiserver/config/config.env rename to config.env index 93c325d208f31ed20ee38c6a032d0a4cc61ff9b5..64719b6697c5e7fdd94000939c2e2e0c54d0f848 100644 --- a/apiserver/config/config.env +++ b/config.env @@ -1,3 +1,4 @@ +# contains Settings that can be loaded via pydantic settings .env support DATACATALOG_APISERVER_HOST="0.0.0.0", DATACATALOG_APISERVER_PORT=80 DATACATALOG_APISERVER_JSON_STORAGE_PATH="./app/data" \ No newline at end of file