-- Tabela para armazenar tokens FCM
CREATE TABLE IF NOT EXISTS fcm_tokens (
    id INT AUTO_INCREMENT PRIMARY KEY,
    fcm_token VARCHAR(500) NOT NULL,
    user_type ENUM('gestor', 'motorista') NOT NULL,
    device_id VARCHAR(100) NOT NULL,
    device_name VARCHAR(100) DEFAULT 'Android Device',
    app_version VARCHAR(20) DEFAULT '1.0.0',
    platform VARCHAR(20) DEFAULT 'android',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    
    -- Índices para performance
    INDEX idx_user_type (user_type),
    INDEX idx_device_id (device_id),
    INDEX idx_fcm_token (fcm_token(100)),
    
    -- Garantir que não há tokens duplicados para o mesmo dispositivo e tipo
    UNIQUE KEY unique_device_user_type (device_id, user_type)
);

-- Inserir alguns tokens de teste (opcional)
INSERT IGNORE INTO fcm_tokens (fcm_token, user_type, device_id, device_name, app_version) VALUES
('test_token_gestor_1', 'gestor', 'test_device_1', 'Samsung Galaxy S21', '1.0.0'),
('test_token_motorista_1', 'motorista', 'test_device_2', 'Xiaomi Redmi Note', '1.0.0'); 