Spaces:
Running
Running
| from typing import Union | |
| from pydantic import SecretStr, field_validator | |
| from pydantic_settings import BaseSettings, SettingsConfigDict | |
| class Settings(BaseSettings): | |
| # Supabase / PostgreSQL | |
| DATABASE_URL: str | |
| # JWT | |
| SECRET_KEY: SecretStr | |
| ALGORITHM: str = "HS256" | |
| ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 24 # 24 hours | |
| # App | |
| APP_NAME: str = "DocBoard" | |
| DEBUG: bool = False | |
| ALLOWED_ORIGINS: Union[list[str], str] = ["http://localhost:5173", "http://127.0.0.1:5173"] | |
| # Supabase | |
| SUPABASE_JWT_SECRET: SecretStr | |
| def assemble_cors_origins(cls, v: Union[str, list[str]]) -> list[str]: | |
| if isinstance(v, str) and not v.startswith("["): | |
| return [i.strip() for i in v.split(",")] | |
| elif isinstance(v, (list, str)): | |
| return v | |
| raise ValueError(v) | |
| model_config = SettingsConfigDict( | |
| env_file=".env", | |
| env_file_encoding="utf-8", | |
| extra="ignore" | |
| ) | |
| settings = Settings() | |