Jacob Windsor e0f8112d13 Mock auth
2025-02-19 13:55:42 +01:00

32 lines
703 B
Python

from functools import lru_cache
from pydantic import Field
from pydantic_settings import BaseSettings
from dotenv import load_dotenv
import os
load_dotenv()
class _BaseConfig(BaseSettings):
environment: str = Field(default=os.getenv("ENVIRONMENT", "development"))
class _AppSettings(_BaseConfig):
pass
class _DbSettings(_BaseConfig):
username: str = Field(default=os.getenv("PG_USER"))
password: str = Field(default=os.getenv("PG_PASSWORD"))
db_name: str = Field(default=os.getenv("PG_DB_NAME"))
class _Settings(_BaseConfig):
app: _AppSettings = _AppSettings()
db: _DbSettings = _DbSettings()
@lru_cache
def get_settings() -> _Settings:
return _Settings()