Files
HartOMat/backend/app/config.py
T

51 lines
1.3 KiB
Python

from pydantic_settings import BaseSettings
from typing import Optional
class Settings(BaseSettings):
# Database
postgres_db: str = "hartomat"
postgres_user: str = "hartomat"
postgres_password: str = "hartomat"
postgres_host: str = "localhost"
postgres_port: int = 5432
@property
def database_url(self) -> str:
return (
f"postgresql+asyncpg://{self.postgres_user}:{self.postgres_password}"
f"@{self.postgres_host}:{self.postgres_port}/{self.postgres_db}"
)
@property
def database_url_sync(self) -> str:
return (
f"postgresql://{self.postgres_user}:{self.postgres_password}"
f"@{self.postgres_host}:{self.postgres_port}/{self.postgres_db}"
)
# Redis / Celery
redis_url: str = "redis://localhost:6379/0"
# JWT
jwt_secret_key: str = "changeme"
jwt_algorithm: str = "HS256"
jwt_access_token_expire_minutes: int = 480
# Azure OpenAI
azure_openai_api_key: Optional[str] = None
azure_openai_endpoint: Optional[str] = None
azure_openai_deployment: str = "gpt-4o"
azure_openai_api_version: str = "2024-02-01"
# File Storage
upload_dir: str = "/app/uploads"
max_upload_size_mb: int = 500
class Config:
env_file = ".env"
case_sensitive = False
settings = Settings()