<?php
require_once '../config/bootstrap.php';

echo "🔧 CRIANDO TABELA FCM_TOKENS\n";
echo "==============================\n\n";

try {
    // SQL para criar a tabela
    $sql = "
    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)
    )";
    
    $stmt = $pdo->prepare($sql);
    $stmt->execute();
    
    echo "✅ Tabela fcm_tokens criada com sucesso!\n\n";
    
    // Verificar se a tabela foi criada
    $check_sql = "SHOW TABLES LIKE 'fcm_tokens'";
    $check_stmt = $pdo->prepare($check_sql);
    $check_stmt->execute();
    $table_exists = $check_stmt->fetch();
    
    if ($table_exists) {
        echo "✅ Tabela fcm_tokens existe no banco de dados\n";
        
        // Verificar estrutura da tabela
        $describe_sql = "DESCRIBE fcm_tokens";
        $describe_stmt = $pdo->prepare($describe_sql);
        $describe_stmt->execute();
        $columns = $describe_stmt->fetchAll(PDO::FETCH_ASSOC);
        
        echo "\n📋 Estrutura da tabela:\n";
        foreach ($columns as $column) {
            echo "   - {$column['Field']}: {$column['Type']}\n";
        }
        
        echo "\n🎯 Próximos passos:\n";
        echo "   1. Configure o Firebase Console\n";
        echo "   2. Substitua google-services.json\n";
        echo "   3. Recompile o app\n";
        echo "   4. Teste as notificações push\n\n";
        
    } else {
        echo "❌ Erro: Tabela não foi criada\n";
    }
    
} catch (Exception $e) {
    echo "❌ Erro ao criar tabela: " . $e->getMessage() . "\n";
}
?> 
