from pydantic_settings import BaseSettings, SettingsConfigDict


class Settings(BaseSettings):
    model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8")

    app_name: str = "soc-integrator"
    app_env: str = "dev"
    log_level: str = "INFO"

    soc_integrator_internal_key: str = "dev-internal-key"
    soc_integrator_db_host: str = "soc-integrator-db"
    soc_integrator_db_port: int = 5432
    soc_integrator_db_name: str = "soc_integrator"
    soc_integrator_db_user: str = "soc_integrator"
    soc_integrator_db_password: str = "soc_integrator_password"

    wazuh_base_url: str = "https://wazuh.manager:55000"
    wazuh_username: str = "wazuh-wui"
    wazuh_password: str = "MyS3cr37P450r.*-"

    shuffle_base_url: str = "http://shuffle-backend:5001"
    shuffle_api_key: str = ""
    shuffle_username: str = ""
    shuffle_password: str = ""

    pagerduty_base_url: str = "http://pagerduty-stub"
    pagerduty_api_key: str = ""

    iris_base_url: str = "https://iriswebapp_nginx:8443"
    iris_api_key: str = ""
    iris_default_customer_id: int = 1
    iris_default_soc_id: str = ""


settings = Settings()
