-- Base de datos con codificación UTF-8
CREATE DATABASE IF NOT EXISTS sistema_clientes 
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

USE sistema_clientes;

-- Tabla de clientes actualizada
CREATE TABLE clientes (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nombre VARCHAR(200) NOT NULL,
    ruc VARCHAR(13) NOT NULL UNIQUE, -- RUC ecuatoriano (13 dígitos)
    tipo_identificacion ENUM('RUC', 'CÉDULA', 'PASAPORTE') DEFAULT 'RUC',
    bdd_nombre VARCHAR(100),
    bdd_usuario VARCHAR(100),
    bdd_ip_servidor VARCHAR(45),
    bdd_clave TEXT,
    bdd_puerto VARCHAR(10) DEFAULT '3306',
    anydesk_id VARCHAR(50),
    anydesk_clave TEXT,
    telefono VARCHAR(20),
    email VARCHAR(100),
    direccion TEXT,
    observaciones TEXT,
    usuario_id INT,
    fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    fecha_actualizacion TIMESTAMP NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
    INDEX idx_ruc (ruc),
    INDEX idx_nombre (nombre),
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Tabla para configuración de tema
CREATE TABLE configuracion_usuario (
    id INT PRIMARY KEY AUTO_INCREMENT,
    usuario_id INT UNIQUE,
    tema_preferido ENUM('claro', 'oscuro', 'auto') DEFAULT 'auto',
    notificaciones BOOLEAN DEFAULT true,
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Tabla de logs de actividad
CREATE TABLE logs_actividad (
    id INT PRIMARY KEY AUTO_INCREMENT,
    usuario_id INT,
    accion VARCHAR(50) NOT NULL,
    tabla_afectada VARCHAR(50),
    registro_id INT,
    detalles TEXT,
    ip_address VARCHAR(45),
    user_agent TEXT,
    fecha TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Tabla para configuración de tema
CREATE TABLE configuracion_usuario (
    id INT PRIMARY KEY AUTO_INCREMENT,
    usuario_id INT UNIQUE,
    tema_preferido ENUM('claro', 'oscuro', 'auto') DEFAULT 'auto',
    notificaciones BOOLEAN DEFAULT true,
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;