from __future__ import annotations

from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict


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

    environment_name: str = Field(default="development", alias="ENVIRONMENT_NAME")
    database_url: str = Field(default="postgresql+psycopg://tribute:tribute@localhost:5432/tribute_licensing", alias="DATABASE_URL")
    api_bind_host: str = Field(default="127.0.0.1", alias="API_BIND_HOST")
    api_bind_port: int = Field(default=8000, alias="API_BIND_PORT")
    log_level: str = Field(default="INFO", alias="LOG_LEVEL")
    joomla_integration_token: str = Field(default="", alias="JOOMLA_INTEGRATION_TOKEN")


settings = Settings()
