<?php
require_once __DIR__ . '/functions.php';
require_once __DIR__ . '/auth.php';
requireLogin();

// Apenas ADMIN pode executar
if (usuarioLogado()['perfil'] !== 'ADMIN') {
    die('Acesso negado. Apenas ADMIN.');
}

$columns = [
    'pppoe_usuario' => "VARCHAR(100) DEFAULT NULL COMMENT 'Usuário PPPoE'",
    'vlan' => "VARCHAR(20) DEFAULT NULL COMMENT 'VLAN do cliente'",
    'cto_nome' => "VARCHAR(100) DEFAULT NULL COMMENT 'Nome da caixa CTO'",
    'cto_porta' => "VARCHAR(20) DEFAULT NULL COMMENT 'Porta da CTO'",
    'sinal_box' => "DECIMAL(5,1) DEFAULT NULL COMMENT 'Sinal na caixa (dBm)'",
    'sinal_cli' => "DECIMAL(5,1) DEFAULT NULL COMMENT 'Sinal no cliente (dBm)'"
];

$db = pdo();
$added = [];

foreach ($columns as $column => $definition) {
    try {
        // Verifica se a coluna já existe
        $stmt = $db->prepare("SHOW COLUMNS FROM clientes LIKE ?");
        $stmt->execute([$column]);
        if ($stmt->fetch()) {
            echo "⚠ Coluna '{$column}' já existe. Pulando...<br>\n";
            continue;
        }
        
        // Adiciona a coluna
        $db->exec("ALTER TABLE clientes ADD COLUMN {$column} {$definition}");
        $added[] = $column;
        echo "✓ Coluna '{$column}' adicionada com sucesso!<br>\n";
    } catch (PDOException $e) {
        echo "❌ Erro ao adicionar '{$column}': " . $e->getMessage() . "<br>\n";
    }
}

if (empty($added)) {
    echo "<br>Nenhuma coluna nova foi adicionada.<br>";
} else {
    echo "<br>✅ Migração concluída! Colunas adicionadas: " . implode(', ', $added) . "<br>";
}
?>