from pydantic_settings import BaseSettings, SettingsConfigDict
from typing import Optional


class Settings(BaseSettings):


    POSTGRES_HOST: str = "192.168.12.40"
    POSTGRES_PORT: int = 5432
    POSTGRES_DB: str = "aurobindo"
    POSTGRES_USER: str = "postgres"
    POSTGRES_PASSWORD: str = "fyndo123"


    JWT_SECRET: str = "nihf38rn28rhf8nr3"
    JWT_ALGORITHM: str = "HS256"
    JWT_EXPIRATION_MINUTES: int = 60


    OPENAI_API_KEY: Optional[str] = None
    OPENAI_MODEL: str = "gpt-4o-mini"

    SERPER_API_KEY: Optional[str] = None


    LOCAL_LLM_BASE_URL: str = "http://192.168.12.37:8000/v1"
    LOCAL_LLM_MODEL: str = "kimi-k2.5:cloud"
    LOCAL_LLM_API_KEY: str = ""

    ORG_ID: str = "ae7aecba-e656-4577-b178-75db2938f040"
    USER_ID: str = "bb5ec92d-560c-4aef-8a05-5121e420fd5a"


    model_config = SettingsConfigDict(
        env_file=".env",
        extra="ignore"
    )


# singleton instance
settings = Settings()