import os from dotenv import load_dotenv from pydantic import AnyHttpUrl from pydantic_settings import BaseSettings, SettingsConfigDict from typing import List, Optional load_dotenv() class Settings(BaseSettings): PROJECT_NAME: str = "SumaQ Backend" API_V1_STR: str = "/api/v1" # Security SECRET_KEY: str = os.getenv("SECRET_KEY", "Bt50MaUvRYJ28UOIberyBlRVQCcKiYzVF2JHOFKjbBQq5xoOpowyxjY1tCOEzYEL") ALGORITHM: str = "HS256" ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 8 # 8 days # Base de Datos # DATABASE_URL: Optional[str] = os.getenv("DATABASE_URL") DATABASE_URL: Optional[str] = ( f"postgresql://{os.getenv('DB_USER')}:{os.getenv('DB_PASSWORD')}" f"@{os.getenv('DB_HOST')}:{os.getenv('DB_PORT')}/{os.getenv('DB_NAME')}" ) # Google API GOOGLE_API_KEY: Optional[str] = os.getenv("GOOGLE_API_KEY") # Email SMTP_HOST: Optional[str] = os.getenv("SMTP_HOST") SMTP_PORT: Optional[int] = os.getenv("SMTP_PORT") SMTP_USER: Optional[str] = os.getenv("SMTP_USER") SMTP_PASSWORD: Optional[str] = os.getenv("SMTP_PASSWORD") EMAILS_FROM_NAME: str = os.getenv("EMAILS_FROM_NAME", "Sistema SumaQ") EMAILS_FROM_EMAIL: Optional[str] = os.getenv("EMAILS_FROM_EMAIL") # Frontend FRONTEND_URL: str = os.getenv("FRONTEND_URL", "http://localhost:4200") model_config = SettingsConfigDict( case_sensitive=True, env_file=".env", env_file_encoding="utf-8", extra="ignore" ) settings = Settings()