from __future__ import annotations

from pydantic_settings import BaseSettings, SettingsConfigDict


class Settings(BaseSettings):
    model_config = SettingsConfigDict(env_prefix="CATAN_", env_file=".env", extra="ignore")

    env: str = "dev"
    debug: bool = False

    database_url: str = "postgresql+psycopg://catan:catan@db:5432/catan"

    jwt_secret: str = "change-me"
    jwt_algorithm: str = "HS256"
    jwt_exp_hours: int = 24 * 7

    api_service_url: str = "http://api:8000"
    game_service_url: str = "http://game:8001"
    ai_service_url: str = "http://ai:8002"
    analytics_service_url: str = "http://analytics:8003"

    models_dir: str = "/models"
    replay_dir: str = "/replays"

    cors_origins: str = "*"


settings = Settings()
