<?php
/**
 * ASISMA CRM - Limpieza TOTAL de datos de demostración (2026-07-13).
 * Deja el sistema listo para datos reales:
 *   - Borra leads, cotizaciones, actividades, empresas/contactos cliente,
 *     cobros, colas, marcas autorizadas, franquiciados y usuarios demo.
 *   - Borra el catálogo demo (verticales/marcas/productos): el catálogo real
 *     se sincroniza desde la matriz ASISMA en Control Empresas.
 *   - Conserva: usuario admin@asisma.cl, regiones, configuración y auditoría.
 *
 * SOLO CLI. Uso: php database\limpiar_todo_demo.php --aplicar
 */
if (php_sapi_name() !== 'cli') die("Solo CLI\n");
$aplicar = in_array('--aplicar', $argv);

$env = include __DIR__ . '/../.env.php';
$m = new mysqli('127.0.0.1', $env['DB_USER'], $env['DB_PASS'], $env['DB_NAME']);
$m->set_charset('utf8mb4');
if ($m->connect_errno) die("Conexión: " . $m->connect_error . "\n");

$tablas = array(
    'whatsapp_mensajes', 'actividades_crm', 'asignaciones_lead', 'cotizaciones',
    'cobros_leads', 'leads', 'contactos', 'empresas', 'whatsapp_instancias',
    'cola_asignacion', 'franquiciado_marcas', 'precios_franquiciado',
    'franquiciados', 'empresas_franquiciados', 'productos', 'marcas', 'verticales'
);

echo "Conteos actuales:\n";
foreach ($tablas as $t) {
    $r = $m->query("SELECT COUNT(*) c FROM $t");
    if ($r) { $c = $r->fetch_assoc(); echo "  $t: {$c['c']}\n"; }
}
$r = $m->query("SELECT COUNT(*) c FROM usuarios WHERE email != 'admin@asisma.cl'");
echo "  usuarios (a borrar, se conserva admin@asisma.cl): " . $r->fetch_assoc()['c'] . "\n";

if (!$aplicar) die("\nSIMULACIÓN: nada borrado. Corre con --aplicar.\n");

$m->query("SET FOREIGN_KEY_CHECKS = 0");
foreach ($tablas as $t) {
    // La fila 1 de empresas_franquiciados es la EMPRESA MATRIZ (ASISMA):
    // de ella cuelgan los usuarios de la matriz. NUNCA se borra.
    if ($t === 'empresas_franquiciados') {
        $m->query("DELETE FROM $t WHERE id != 1");
    } else {
        $m->query("DELETE FROM $t");
    }
    echo "  borrada $t (" . $m->affected_rows . ")\n";
}
$m->query("DELETE FROM usuarios WHERE email != 'admin@asisma.cl'");
echo "  usuarios borrados (" . $m->affected_rows . "), se conserva admin@asisma.cl\n";
$m->query("SET FOREIGN_KEY_CHECKS = 1");

echo "Listo. Sincroniza el catálogo desde Control Empresas para poblar verticales/marcas/productos.\n";
