-- ============================================================
--  Base de datos - Asistente de Reclutamiento WhatsApp
--  MARECUADOR
--  Importa este archivo en phpMyAdmin (cPanel) sobre tu BD.
-- ============================================================

SET NAMES utf8mb4;

-- ----------------- Postulantes -----------------
CREATE TABLE IF NOT EXISTS `postulantes` (
  `id`            INT AUTO_INCREMENT PRIMARY KEY,
  `telefono`      VARCHAR(20)  NOT NULL,
  `nombre`        VARCHAR(150) DEFAULT NULL,
  `cedula`        VARCHAR(20)  DEFAULT NULL,
  `ciudad`        VARCHAR(150) DEFAULT NULL,
  `vacante`       VARCHAR(30)  DEFAULT NULL,
  `estado`        VARCHAR(30)  NOT NULL DEFAULT 'nuevo',
  `completado`    TINYINT(1)   NOT NULL DEFAULT 0,
  `creado_en`     DATETIME     DEFAULT NULL,
  `actualizado_en` DATETIME    DEFAULT NULL,
  UNIQUE KEY `uk_telefono` (`telefono`),
  KEY `idx_estado` (`estado`),
  KEY `idx_vacante` (`vacante`),
  KEY `idx_completado` (`completado`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ----------------- Documentos ------------------
CREATE TABLE IF NOT EXISTS `documentos` (
  `id`            INT AUTO_INCREMENT PRIMARY KEY,
  `postulante_id` INT NOT NULL,
  `tipo`          VARCHAR(30)  NOT NULL,
  `archivo`       VARCHAR(255) NOT NULL,
  `mime`          VARCHAR(100) DEFAULT NULL,
  `wa_media_id`   VARCHAR(120) DEFAULT NULL,
  `creado_en`     DATETIME     DEFAULT NULL,
  KEY `idx_postulante` (`postulante_id`),
  CONSTRAINT `fk_doc_postulante` FOREIGN KEY (`postulante_id`)
      REFERENCES `postulantes`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ----------------- Conversaciones (log) --------
CREATE TABLE IF NOT EXISTS `conversaciones` (
  `id`            INT AUTO_INCREMENT PRIMARY KEY,
  `postulante_id` INT NOT NULL,
  `direccion`     VARCHAR(5)  NOT NULL,  -- in / out
  `tipo`          VARCHAR(20) DEFAULT NULL,
  `contenido`     TEXT,
  `creado_en`     DATETIME    DEFAULT NULL,
  KEY `idx_conv_postulante` (`postulante_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ----------------- Control de duplicados -------
CREATE TABLE IF NOT EXISTS `mensajes_procesados` (
  `wa_message_id` VARCHAR(120) NOT NULL,
  `creado_en`     DATETIME DEFAULT NULL,
  PRIMARY KEY (`wa_message_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ----------------- Usuarios del panel ----------
CREATE TABLE IF NOT EXISTS `usuarios_admin` (
  `id`            INT AUTO_INCREMENT PRIMARY KEY,
  `usuario`       VARCHAR(60)  NOT NULL,
  `password_hash` VARCHAR(255) NOT NULL,
  `nombre`        VARCHAR(120) DEFAULT NULL,
  `creado_en`     DATETIME     DEFAULT NULL,
  UNIQUE KEY `uk_usuario` (`usuario`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Usuario inicial:  admin / admin123  (CÁMBIALO al entrar)
-- El hash corresponde a la contraseña "admin123".
INSERT INTO `usuarios_admin` (`usuario`, `password_hash`, `nombre`, `creado_en`)
VALUES ('admin', '$2y$10$fU.VbvScmd.JEF9wEIwv6eLDV0VeCRdaGUhhDBafCS3bMgb/PvsZq', 'Administrador', NOW())
ON DUPLICATE KEY UPDATE `usuario` = `usuario`;
