from pydantic_settings import BaseSettings, SettingsConfigDict
from typing import List


class Settings(BaseSettings):
    API_V1_STR: str = "/api/v1"
    PROJECT_NAME: str

    MONGODB_URL: str
    DATABASE_NAME: str

    FIREBASE_CONFIG_PATH: str
    FIREBASE_STORAGE_BUCKET: str
    FIREBASE_DATABASE_URL: str

    YOLO_MODEL: str = "yolov5s"

    BACKEND_CORS_ORIGINS: List[str] = ["http://localhost", "http://localhost:8000", "https://localhost",
                                       "https://localhost:8000"]

    SECRET_KEY: str = "kjhKIUHI988joio9ua09xuhxiaubxsisjhg89y98yhUHXa9xsy8as908xyhaiusxh0a789x9a6y87i2y30783yeikahksaoso8iu"
    ALGORITHM: str = "HS256"
    ACCESS_TOKEN_EXPIRE_MINUTES: int = 30

    LOG_LEVEL: str = "INFO"
    AI_SERVER_URL: str

    AWS_ACCESS_KEY_ID: str
    AWS_SECRET_ACCESS_KEY: str
    AWS_REGION: str
    AWS_S3_BUCKET_NAME: str

    model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", extra="ignore")


settings = Settings()
