from __future__ import annotations

from pydantic_settings import BaseSettings, SettingsConfigDict


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

    app_pin: str = "1234"
    jwt_secret: str = "dev-secret-change-me"
    jwt_expire_days: int = 90

    vapid_private_key: str = ""
    vapid_public_key: str = ""
    vapid_claims_email: str = "mailto:admin@schwenk.online"

    openrouter_api_key: str = ""
    openrouter_model: str = "google/gemini-2.0-flash-001"

    db_path: str = "data/medis.sqlite"
    meds_path: str = "meds.yaml"
    messages_path: str = "messages.yaml"

    public_dir: str = "public"
    app_version: str = "1.1.0"


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