diff --git a/app/core/config.py b/app/core/config.py index 09ccad9..74d1d92 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -1,15 +1,25 @@ from pathlib import Path -from pydantic_settings import BaseSettings +from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): + model_config = SettingsConfigDict( + env_file=".env", + env_file_encoding="utf-8", + extra="ignore" + ) + API_V1_STR: str = "/api/v1" PROJECT_NAME: str = "Todo Application" # Database settings - DB_DIR = Path("/app") / "storage" / "db" - DB_DIR.mkdir(parents=True, exist_ok=True) + DB_DIR: Path = Path("/app") / "storage" / "db" SQLALCHEMY_DATABASE_URL: str = f"sqlite:///{DB_DIR}/db.sqlite" + + def __init__(self, **data): + super().__init__(**data) + self.DB_DIR.mkdir(parents=True, exist_ok=True) + settings = Settings() \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 25d7839..262b4eb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,6 +2,7 @@ fastapi>=0.95.0 uvicorn>=0.22.0 sqlalchemy>=2.0.0 pydantic>=2.0.0 +pydantic-settings>=2.0.0 python-multipart>=0.0.6 python-jose[cryptography]>=3.3.0 alembic>=1.10.0