docboard-api / app /core /config.py
yCamelow's picture
Upload app folder
29cbab9 verified
Raw
History Blame Contribute Delete
1.1 kB
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
@field_validator("ALLOWED_ORIGINS", mode="before")
@classmethod
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()