admin / Apex
publicBid Management and Orchestration Tool with AI Capability
Apex / Synapse-Apexv2 / backend / app / core / config.py
1060 B · main
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): model_config = SettingsConfigDict(env_file=".env", extra="ignore") database_url: str = "postgresql+psycopg://apex:apex_dev_pw@postgres:5432/apex" redis_url: str = "redis://redis:6379/0" jwt_secret: str = "change-me" jwt_algorithm: str = "HS256" access_token_minutes: int = 15 refresh_token_days: int = 7 admin_email: str = "[email protected]" admin_initial_password: str = "ChangeMe123!" anthropic_api_key: str = "" anthropic_model: str = "claude-opus-4-8" anthropic_model_light: str = "claude-haiku-4-5" upload_max_mb: int = 50 upload_dir: str = "/data/uploads" default_currency: str = "GBP" cors_origins: str = "http://localhost:3000" @property def cors_list(self) -> list[str]: return [o.strip() for o in self.cors_origins.split(",") if o.strip()] @property def ai_enabled(self) -> bool: return bool(self.anthropic_api_key.strip()) settings = Settings() |