From 08026be5d753cfea9a499071d2795baf0991bb8d Mon Sep 17 00:00:00 2001 From: ksieuk Date: Fri, 29 Sep 2023 15:26:32 +0300 Subject: [PATCH] add app settings --- src/fastapi_app/lib/app/split_settings/app.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/fastapi_app/lib/app/split_settings/app.py diff --git a/src/fastapi_app/lib/app/split_settings/app.py b/src/fastapi_app/lib/app/split_settings/app.py new file mode 100644 index 0000000..58e5e45 --- /dev/null +++ b/src/fastapi_app/lib/app/split_settings/app.py @@ -0,0 +1,25 @@ +import pydantic +import pydantic_settings + +import lib.app.split_settings.utils as app_split_settings_utils + + +class AppSettings(pydantic_settings.BaseSettings): + model_config = pydantic_settings.SettingsConfigDict( + env_file=app_split_settings_utils.ENV_PATH, + env_prefix="APP_", + env_file_encoding="utf-8", + extra="ignore", + ) + + title: str = "FastAPI" + version: str = "0.1.0" + docs_url: str = "/api/openapi" + openapi_url: str = "/api/openapi.json" + reload: bool = False + + @pydantic.field_validator("reload") + def validate_debug(cls, v: str | bool) -> bool: + if isinstance(v, bool): + return v + return v.lower() == "true"