import os
from dotenv import load_dotenv

load_dotenv()

class Config:
    # Tipo de Banco de Dados: 'sqlite' ou 'mysql'
    DB_TYPE = os.getenv('DB_TYPE', 'sqlite').lower()
    
    # MySQL Database (usado apenas se DB_TYPE='mysql')
    DB_HOST = os.getenv('DB_HOST', 'localhost')
    DB_PORT = int(os.getenv('DB_PORT', 3306))
    DB_USER = os.getenv('DB_USER', 'root')
    DB_PASSWORD = os.getenv('DB_PASSWORD', '')
    DB_NAME = os.getenv('DB_NAME', 'skyhawk_db')
    
    # SQLite Database (padrão - zero configuração!)
    DB_PATH = os.getenv('DB_PATH', 'skyhawk.db')
    
    # Configurar URI do banco de dados
    if DB_TYPE == 'mysql':
        SQLALCHEMY_DATABASE_URI = f"mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}?charset=utf8mb4"
    else:
        # SQLite (padrão - funciona imediatamente!)
        SQLALCHEMY_DATABASE_URI = f"sqlite:///{DB_PATH}"
    
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    
    # JWT
    JWT_SECRET_KEY = os.getenv('JWT_SECRET_KEY', 'change-this-secret-key-in-production')
    JWT_ACCESS_TOKEN_EXPIRES = int(os.getenv('JWT_ACCESS_TOKEN_EXPIRES', 86400))
    
    # Modelo YOLO
    MODEL_PATH = os.getenv('MODEL_PATH', 'treinov8m.pt')
    
    # Stream
    TARGET_URL = os.getenv('TARGET_URL', 'https://youtube.com/live/VkA1QKzwZvc?feature=share')
    
    # Credenciais Padrão
    DEFAULT_USERNAME = os.getenv('DEFAULT_USERNAME', 'admin')
    DEFAULT_PASSWORD = os.getenv('DEFAULT_PASSWORD', '123')
    
    # Configurações de Processamento
    FRAME_SKIP = 3
    IMG_SIZE = 640
    ALARM_FILE = "finland_alarm.mp3"
    
    # Logos
    LOGO_ESQUERDA = "skyhawk_logo.png"
    LOGO_DIREITA = "inviolavel.png"

