START TRANSACTION;

CREATE DATABASE IF NOT EXISTS asesoriadb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE asesoriadb;


-- =====================================================
-- =============== TABLA: config_bot ===================
-- =====================================================

CREATE TABLE `config_bot` (
  `id` int(11) NOT NULL,
  `plataforma` varchar(50) DEFAULT 'chatgpt',
  `api_chatgpt` text DEFAULT NULL,
  `api_grok` text DEFAULT NULL,
  `modelo` varchar(100) DEFAULT 'gpt-4.1-mini',
  `temperatura` decimal(4,2) DEFAULT 0.70,
  `max_tokens` int(11) DEFAULT 500,
  `delay_respuesta` int(11) DEFAULT 0,
  `prompt_base` text DEFAULT NULL,
  `actualizado` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

ALTER TABLE `config_bot`
  ADD PRIMARY KEY (`id`);

ALTER TABLE `config_bot`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;


-- =====================================================
-- =============== TABLA: prospectos ===================
-- =====================================================

CREATE TABLE `prospectos` (
  `id` int(11) NOT NULL,
  `nombre` varchar(200) DEFAULT NULL,
  `correo` varchar(200) DEFAULT NULL,
  `telefono` varchar(20) DEFAULT NULL,
  `origen` varchar(50) DEFAULT 'web',
  `fecha_registro` timestamp NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

ALTER TABLE `prospectos`
  ADD PRIMARY KEY (`id`);

ALTER TABLE `prospectos`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;


-- =====================================================
-- ============ TABLA: conversaciones ==================
-- =====================================================

CREATE TABLE `conversaciones` (
  `id` int(11) NOT NULL,
  `id_prospecto` int(11) NOT NULL,
  `plataforma` enum('web','whatsapp','messenger') NOT NULL DEFAULT 'web',
  `fecha_inicio` datetime DEFAULT current_timestamp(),
  `fecha_fin` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

ALTER TABLE `conversaciones`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_prospecto` (`id_prospecto`);

ALTER TABLE `conversaciones`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

ALTER TABLE `conversaciones`
  ADD CONSTRAINT `conversaciones_ibfk_1`
    FOREIGN KEY (`id_prospecto`)
    REFERENCES `prospectos` (`id`)
    ON DELETE CASCADE;


-- =====================================================
-- ================== TABLA: mensajes ==================
-- =====================================================

CREATE TABLE `mensajes` (
  `id` int(11) NOT NULL,
  `id_conversacion` int(11) NOT NULL,
  `remitente` enum('usuario','bot','admin') NOT NULL,
  `mensaje` text NOT NULL,
  `fecha_envio` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

ALTER TABLE `mensajes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_conversacion` (`id_conversacion`);

ALTER TABLE `mensajes`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

ALTER TABLE `mensajes`
  ADD CONSTRAINT `mensajes_ibfk_1`
    FOREIGN KEY (`id_conversacion`)
    REFERENCES `conversaciones` (`id`)
    ON DELETE CASCADE;


COMMIT;
