from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict


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

    app_api_key: str = Field(default='change-me-mobile-api-key', alias='APP_API_KEY')
    database_url: str = Field(default='sqlite:///./directory.db', alias='DATABASE_URL')
    cx_base_url: str = Field(alias='3CX_BASE_URL')
    cx_client_id: str = Field(alias='3CX_CLIENT_ID')
    cx_client_secret: str = Field(alias='3CX_CLIENT_SECRET')
    cx_token_path: str = Field(default='/connect/token', alias='3CX_TOKEN_PATH')
    cx_users_path: str = Field(default='/xapi/v1/Users', alias='3CX_USERS_PATH')


settings = Settings()  # type: ignore[call-arg]
