-- https://www.phpmyadmin.net/
--
-- Servidor: 127.0.0.1
-- Tiempo de generación: 19-02-2026 a las 06:04:28
-- Versión del servidor: 10.4.32-MariaDB
-- Versión de PHP: 8.0.30

START TRANSACTION;



-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_cohortes`
--

CREATE TABLE `tbl_cohortes` (
  `id` int(11) NOT NULL,
  `cohort_code` varchar(20) NOT NULL COMMENT 'Código institucional (ej: 2026-I)',
  `name` varchar(100) NOT NULL COMMENT 'Nombre descriptivo del periodo',
  `start_date` date NOT NULL COMMENT 'Inicio oficial del periodo académico',
  `end_date` date NOT NULL COMMENT 'Fin oficial del periodo académico',
  `enrollment_start` date DEFAULT NULL COMMENT 'Inicio de ventana de inscripción',
  `enrollment_end` date DEFAULT NULL COMMENT 'Cierre de ventana de inscripción',
  `description` text DEFAULT NULL,
  `base_campus` varchar(150) DEFAULT NULL COMMENT 'Sede base institucional',
  `cohort_status` enum('Planificada','En curso','Finalizada','Reabierta','Suspendida','Cancelada') NOT NULL DEFAULT 'Planificada',
  `is_active` tinyint(1) DEFAULT 1,
  `created_by` int(10) UNSIGNED DEFAULT NULL,
  `updated_by` int(10) UNSIGNED DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `tbl_cohortes`
--

INSERT INTO `tbl_cohortes` (`id`, `cohort_code`, `name`, `start_date`, `end_date`, `enrollment_start`, `enrollment_end`, `description`, `base_campus`, `cohort_status`, `is_active`, `created_by`, `updated_by`, `created_at`, `updated_at`) VALUES
(1, '2026-I', 'Cohorte ENERO - MAYO - 2026', '2026-01-01', '2026-05-31', '2026-01-01', '2026-02-15', 'Notas de la Cohorte', 'Decanato de Ciencias de la Salud', 'Planificada', 1, 1, 1, '2026-02-18 11:54:35', '2026-02-19 03:54:14');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_company_settings`
--

CREATE TABLE `tbl_company_settings` (
  `id` int(11) NOT NULL,
  `nombre_legal` varchar(255) DEFAULT NULL,
  `nombre_comercial` varchar(255) DEFAULT NULL,
  `id_fiscal` varchar(100) DEFAULT NULL,
  `direccion` text DEFAULT NULL,
  `telefono` varchar(50) DEFAULT NULL,
  `email` varchar(150) DEFAULT NULL,
  `sitio_web` varchar(255) DEFAULT NULL,
  `representante` varchar(255) DEFAULT NULL,
  `cargo_rep` varchar(150) DEFAULT NULL,
  `tel_rep` varchar(50) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `tbl_company_settings`
--

INSERT INTO `tbl_company_settings` (`id`, `nombre_legal`, `nombre_comercial`, `id_fiscal`, `direccion`, `telefono`, `email`, `sitio_web`, `representante`, `cargo_rep`, `tel_rep`, `created_at`, `updated_at`) VALUES
(1, 'Diplomados', 'Plataforma Diplomados', 'G1212121212', '10773 NW 58th ST, Doral FL 33178', '+584145365380', 'admin@plataformadiplomados.com', 'www.plataformadiplomados.com', 'JORGE PEREIRA', 'PROGRAMADOR', '+584145042125', '2026-02-12 15:54:22', '2026-02-12 15:58:10');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_diplomados`
--

CREATE TABLE `tbl_diplomados` (
  `id` int(11) NOT NULL,
  `code` varchar(20) NOT NULL COMMENT 'Código institucional del diplomado',
  `name` varchar(255) NOT NULL COMMENT 'Nombre completo del diplomado',
  `description` text DEFAULT NULL COMMENT 'Propósito y enfoque científico',
  `directed_to` text DEFAULT NULL COMMENT 'Perfil profesional admitido',
  `total_hours` int(5) DEFAULT 200 COMMENT 'Carga horaria total (según oferta)',
  `status` enum('ACTIVE','INACTIVE') DEFAULT 'ACTIVE',
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `tbl_diplomados`
--

INSERT INTO `tbl_diplomados` (`id`, `code`, `name`, `description`, `directed_to`, `total_hours`, `status`, `created_at`, `updated_at`) VALUES
(1, 'DCS-DIP-GR-033-2025', 'DIPLOMADO EN TERAPIA RESPIRATORIA\r\nCLÍNICA Y MANEJO INTEGRAL DEL\r\nPACIENTE', 'Estimado participante, le damos la mas cordial bienvenida. Esta pagina es de carácter\r\ninformativo en relación con el Diplomado en Terapia Respiratoria Clínica y Manejo Integral\r\ndel Paciente. Para nosotros es un placer atenderte.\r\nLa terapia respiratoria constituye un pilar fundamental en la atención multidisciplinaria del\r\npaciente crítico, crónico y con patologías respiratorias agudas. Este Diplomado ha sido\r\ndiseñado bajo un enfoque bimodal (virtual y presencial), que permite articular la\r\nflexibilidad del aprendizaje en línea con la rigurosidad de la práctica clínica supervisada. A\r\nlo largo del Diplomado, los participantes adquirirán competencias teóricas y prácticas para\r\nel manejo seguro y eficaz de gases medicinales, la implementación de estrategias de\r\noxigenoterapia, la aplicación de ventilación no invasiva, la ejecución de técnicas de\r\nfisioterapia torácica y el monitoreo respiratorio avanzado. Estos saberes se integran en un\r\nmarco ético, científico y humanizado, orientado a optimizar la calidad asistencial y\r\nfortalecer la toma de decisiones clínicas en diversos contextos de atención.\r\nEl objetivo es formar profesionales de la salud con competencias teóricas, clínicas y éticas\r\nque les permitan intervenir de manera segura, eficaz y humanizada en el manejo de\r\npacientes con patologías respiratorias agudas y crónicas, mediante el análisis, la\r\naplicación y la evaluación crítica de procedimientos terapéuticos, el uso racional de\r\ntecnologías respiratorias, y la toma de decisiones interdisciplinarias orientadas a la mejora\r\ncontinua de la atención.', ' Médicos, Profesionales de Enfermería (TSU o Licenciados) y\r\ntodo Profesional del área de la salud que desee actualizarse en el área de la Terapia\r\nRespiratoria', 200, 'ACTIVE', '2026-02-18 00:10:49', '2026-02-18 00:43:29'),
(2, 'DCS-DIP-GR-007-2024', 'DIPLOMADO EN MEDICINA LEGAL Y\r\nCIENCIAS FORENSES ', 'Estimado participante, le damos la mas cordial bienvenida. Esta pagina es de carácter\r\ninformativo en relación con el Diplomado en Medicina Legal y Ciencias Forenses ofertado\r\npara Profesionales del área de Ciencias de la Salud, Ciencias Jurídicas, Ciencias Sociales y\r\nPoliciales. Para nosotros es un placer atenderte.\r\nEl objetivo principal de este Diplomado es proporcionar a los Profesionales una\r\noportunidad única para actualizar y fortalecer sus conocimientos, habilidades y destrezas\r\nen el campo de la Medicina Forense y Legal. Los profesionales capacitados en esta área\r\ndesempeñan roles cruciales en la administración de justicia y en la protección de los\r\nderechos individuales, de la misma manera, estarán capacitados para desempeñarse en\r\nuna variedad de roles, incluyendo la consultoría, el peritaje, la investigación y la asesoría\r\nforense en el ámbito sanitario y jurídico. Su formación les permitirá contribuir de manera\r\nsignificativa a la búsqueda de la verdad y la justicia en contextos legales y forenses.\r\nEl término \"forense\" abarca todo lo relacionado con la ley y lo legal. En el contexto de la\r\nciencia forense, los profesionales se adentran en la intersección entre la salud y la justicia.\r\nLa Medicina Legal y Forense abarca diversas sub especialidades, y quienes la practican\r\npueden asumir múltiples roles en diferentes escenarios del sector público de salud. Estos\r\nprofesionales, capacitados en Medicina Legal y Forense, intervienen en aspectos legales\r\nde la comunidad, recopilan evidencia en escenarios de crimen, interrogan a víctimas de\r\ncrímenes y pueden participar en la determinación de la causa y el momento de la muerte.\r\nAdemás, brindan asesoramiento a individuos con antecedentes criminales o a infractores\r\ncon trastornos emocionales. La Medicina Legal y Forense ha surgido como una respuesta\r\nintegral y multidisciplinaria en el Sistema de Justicia Criminal, llenando vacíos que existían\r\nen este sistema. Con un enfoque interdisciplinario, los profesionales de la Medicina Legal\r\ny Forense desempeñan un papel esencial en la búsqueda de la verdad y la justicia.', 'TODOS LOS MÉDICOS, ENFERMERAS (OS), ABOGADOS,\r\nPOLICÍAS, MILITARES, CUERPO DE SEGURIDAD EN GENERAL, PERSONAL DE SALUD Y\r\nPROFESIONALES CON DESEOS DE INCURSIONAR EN EL CAMPO DE LA MEDICINA LEGAL\r\nY FORENSE.', 200, 'ACTIVE', '2026-02-18 00:48:17', '2026-02-18 00:48:17');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_diplomados_conditions`
--

CREATE TABLE `tbl_diplomados_conditions` (
  `id` int(11) NOT NULL,
  `diplomado_id` int(11) NOT NULL,
  `condition_text` text NOT NULL COMMENT 'Ej: La nota mínima aprobatoria es 15 puntos',
  `order_priority` int(2) DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `tbl_diplomados_conditions`
--

INSERT INTO `tbl_diplomados_conditions` (`id`, `diplomado_id`, `condition_text`, `order_priority`) VALUES
(21, 2, 'La nota mínima aprobatoria del diplomado es de 15 puntos.', 1),
(22, 2, 'El participante debe mantenerse solvente y cumplir con las cuotas establecidas para\r\nmantenerse activo dentro del Diplomado.', 1),
(23, 2, 'El dinero no es reembolsable ni es transferible a otro participante bajo ninguna causa.', 1),
(24, 2, 'En caso de insolvencia el participante estará sujeto a las políticas administrativas\r\nestablecidas por el Diplomado.', 1),
(29, 1, 'El participante debe mantenerse solvente y cumplir con las cuotas establecidas para mantenerse activo dentro del Diplomado.', 1),
(30, 1, 'El dinero no es reembolsable ni es transferible a otro participante bajo ninguna causa.', 1),
(31, 1, 'En caso de insolvencia el participante estará sujeto a las políticas administrativas establecidas por el Diplomado.', 1),
(32, 1, 'La nota mínima aprobatoria del diplomado es 15 puntos.', 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_diplomados_requirements`
--

CREATE TABLE `tbl_diplomados_requirements` (
  `id` int(11) NOT NULL,
  `diplomado_id` int(11) NOT NULL,
  `requirement_text` varchar(255) NOT NULL COMMENT 'Ej: Copia del Título Universitario',
  `is_mandatory` tinyint(1) DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `tbl_diplomados_requirements`
--

INSERT INTO `tbl_diplomados_requirements` (`id`, `diplomado_id`, `requirement_text`, `is_mandatory`) VALUES
(26, 2, 'Profesionales del área de Ciencias de la Salud, Ciencias Jurídicas, Cs Sociales y\r\nPoliciales que se desempeñen con interés de actualizarse o que deseen incursionar en el\r\nÁrea de la Medicina legal y Ciencias Forenses.', 1),
(27, 2, 'Planilla de Inscripción. Esta planilla será enviada al correo registrado en la pre\r\ninscripción.', 1),
(28, 2, 'Cancelar la inscripción (Dólares en físico) o pago móvil. También se pueden realizar\r\nadelanto de cuotas o pago total.', 1),
(29, 2, 'Copia del Título o constancia de trabajo según el caso.', 1),
(30, 2, 'Copia de la cédula.', 1),
(36, 1, 'Ser Médico, Técnico Superior en Enfermería, Licenciado en Enfermería o Profesional en el área de Ciencias de la Salud.', 1),
(37, 1, 'Planilla de Inscripción. Esta planilla será enviada al correo electrónico registrado inmediatamente luego de la pre inscripción (IMPRIMIR 2 PLANILLAS).', 1),
(38, 1, 'Cancelar la inscripción (Dólares en físico) o pago móvil. También se pueden realizar adelanto de cuotas o pago total.', 1),
(39, 1, 'Copia del Título Universitario.', 1),
(40, 1, 'Copia de la cédula.', 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_event_catalog`
--

CREATE TABLE `tbl_event_catalog` (
  `id` int(10) UNSIGNED NOT NULL,
  `event_code` varchar(30) NOT NULL,
  `event_type` enum('SECURITY','ACADEMIC','FINANCIAL','SYSTEM','DOCUMENT') NOT NULL,
  `severity` enum('LOW','MEDIUM','HIGH','CRITICAL') NOT NULL DEFAULT 'LOW',
  `title` varchar(120) NOT NULL,
  `message_template` varchar(255) NOT NULL,
  `status` enum('ACTIVE','INACTIVE') NOT NULL DEFAULT 'ACTIVE',
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_event_logs`
--

CREATE TABLE `tbl_event_logs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `event_catalog_id` int(10) UNSIGNED NOT NULL,
  `event_code` varchar(30) NOT NULL,
  `user_id` int(10) UNSIGNED DEFAULT NULL,
  `role_key` varchar(60) DEFAULT NULL,
  `session_id` int(10) UNSIGNED DEFAULT NULL,
  `module_key` varchar(60) DEFAULT NULL,
  `action_key` varchar(60) DEFAULT NULL,
  `result` enum('SUCCESS','FAIL') NOT NULL DEFAULT 'SUCCESS',
  `ip_address` varchar(45) DEFAULT NULL,
  `user_agent` varchar(255) DEFAULT NULL,
  `entity_table` varchar(80) DEFAULT NULL,
  `entity_id` bigint(20) UNSIGNED DEFAULT NULL,
  `description` varchar(255) DEFAULT NULL,
  `occurred_at` datetime NOT NULL DEFAULT current_timestamp(),
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_grupos`
--

CREATE TABLE `tbl_grupos` (
  `id` int(11) NOT NULL,
  `name` varchar(100) NOT NULL COMMENT 'Ej: Grupo Viernes, Grupo Online',
  `modality` enum('Presencial','Virtual','Mixta') NOT NULL DEFAULT 'Presencial',
  `description` text DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1: Activo, 0: Eliminado/Inactivo',
  `created_by` int(11) DEFAULT NULL,
  `updated_by` int(11) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;

--
-- Volcado de datos para la tabla `tbl_grupos`
--

INSERT INTO `tbl_grupos` (`id`, `name`, `modality`, `description`, `is_active`, `created_by`, `updated_by`, `created_at`, `updated_at`) VALUES
(1, 'GRUPO VIERNES', 'Presencial', 'Clases cada 15 días en horario diurno (viernes)\r\n2:00 pm a 5:00 pm', 1, 1, NULL, '2026-02-19 05:01:33', NULL),
(2, 'GRUPO SABADO', 'Presencial', 'Clases cada 15 días en horario diurno (sábado)\r\n8:00 am a 12:00 m', 1, 1, NULL, '2026-02-19 05:02:46', NULL),
(3, 'ONLINE', 'Virtual', 'Clases en modalidad virtual', 1, 1, NULL, '2026-02-19 05:03:08', NULL),
(4, 'SEMI PRESENCIAL', 'Mixta', 'Clases combinadas presencial y online', 1, 1, NULL, '2026-02-19 05:03:30', NULL);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_permissions`
--

CREATE TABLE `tbl_permissions` (
  `id` int(10) UNSIGNED NOT NULL,
  `perm_key` varchar(80) NOT NULL,
  `module_key` varchar(60) NOT NULL,
  `action_key` varchar(60) NOT NULL,
  `description` varchar(255) NOT NULL,
  `status` enum('ACTIVE','INACTIVE') NOT NULL DEFAULT 'ACTIVE',
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_roles`
--

CREATE TABLE `tbl_roles` (
  `id` int(10) UNSIGNED NOT NULL,
  `role_key` varchar(60) NOT NULL,
  `name` varchar(120) NOT NULL,
  `description` varchar(255) DEFAULT NULL,
  `level` int(11) NOT NULL DEFAULT 1,
  `status` enum('ACTIVE','INACTIVE') NOT NULL DEFAULT 'ACTIVE',
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `tbl_roles`
--

INSERT INTO `tbl_roles` (`id`, `role_key`, `name`, `description`, `level`, `status`, `created_at`, `updated_at`) VALUES
(1, 'ADMIN', 'Administrador', 'Control total, auditoría y configuración global del sistema', 10, 'ACTIVE', '2026-02-11 08:40:30', '2026-02-11 08:40:30'),
(2, 'FINANZAS', 'Finanzas', 'Gestión centralizada de cobros, validación de soportes y reportes financieros', 5, 'ACTIVE', '2026-02-11 08:40:30', '2026-02-11 08:40:30'),
(3, 'ACADEMIC', 'Académico', 'Administración de diplomados, cohortes, profesores y control de estudios', 5, 'ACTIVE', '2026-02-11 08:40:30', '2026-02-11 08:40:30'),
(4, 'OPERATOR', 'Operador', 'Administración de cartelera digital, noticias y soporte a inscripciones', 3, 'ACTIVE', '2026-02-11 08:40:30', '2026-02-11 08:40:30'),
(5, 'PARTICIPANT', 'Participante', 'Acceso a oferta académica, registro de pagos y estado de cuenta', 1, 'ACTIVE', '2026-02-11 08:40:30', '2026-02-11 08:40:30');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_role_permissions`
--

CREATE TABLE `tbl_role_permissions` (
  `id` int(10) UNSIGNED NOT NULL,
  `role_id` int(10) UNSIGNED NOT NULL,
  `permission_id` int(10) UNSIGNED NOT NULL,
  `status` enum('ACTIVE','INACTIVE') NOT NULL DEFAULT 'ACTIVE',
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_sessions`
--

CREATE TABLE `tbl_sessions` (
  `id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `session_token` varchar(255) NOT NULL,
  `ip_address` varchar(45) DEFAULT NULL,
  `user_agent` varchar(255) DEFAULT NULL,
  `started_at` datetime NOT NULL DEFAULT current_timestamp(),
  `last_activity_at` datetime DEFAULT NULL,
  `ended_at` datetime DEFAULT NULL,
  `end_reason` enum('LOGOUT','TIMEOUT','FORCED','UNKNOWN') DEFAULT NULL,
  `status` enum('ACTIVE','CLOSED') NOT NULL DEFAULT 'ACTIVE',
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_user_remember_tokens`
--

CREATE TABLE `tbl_user_remember_tokens` (
  `id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `token_hash` varchar(255) NOT NULL,
  `expires_at` datetime NOT NULL,
  `created_at` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_wa_manual_logs`
--

CREATE TABLE `tbl_wa_manual_logs` (
  `id` int(11) NOT NULL,
  `estudiante` varchar(255) DEFAULT NULL,
  `evento` varchar(50) DEFAULT NULL,
  `telefono` varchar(50) DEFAULT NULL,
  `fecha_envio` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `tbl_wa_manual_logs`
--

INSERT INTO `tbl_wa_manual_logs` (`id`, `estudiante`, `evento`, `telefono`, `fecha_envio`) VALUES
(1, 'Jorge Pereira', 'INSCRIPCION', '+584145365380', '2026-02-12 17:31:26'),
(2, 'Raiza Mileva', 'CONSTANCIA_ESTUDIO', '+584124571599', '2026-02-12 17:31:59'),
(3, 'Juan Pérez', 'CONSTANCIA_ESTUDIO', '+584145042125', '2026-02-13 16:39:33');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tbl_wa_manual_templates`
--

CREATE TABLE `tbl_wa_manual_templates` (
  `id` int(11) NOT NULL,
  `evento` varchar(50) NOT NULL,
  `mensaje` text DEFAULT NULL,
  `activo` tinyint(1) DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `tbl_wa_manual_templates`
--

INSERT INTO `tbl_wa_manual_templates` (`id`, `evento`, `mensaje`, `activo`) VALUES
(1, 'INSCRIPCION', 'Hola {NOMBRE}, tu inscripción al diplomado {DIPLOMADO} ha sido confirmada. ¡Nos vemos pronto! {URL_PORTAL}', 1),
(2, 'CONSTANCIA_ESTUDIO', 'Hola {NOMBRE}, tu constancia de estudio para {DIPLOMADO} ya está disponible aquí: {URL_PORTAL}', 1),
(3, 'CONSTANCIA_INSCRIPCION', 'Hola {NOMBRE}, adjuntamos tu constancia de inscripción al diplomado {DIPLOMADO}: {URL_PORTAL}', 1),
(4, 'PAGO', 'Hola {NOMBRE}, te recordamos que tienes un pago pendiente en el diplomado {DIPLOMADO}. Puedes gestionarlo aquí: {URL_PORTAL}', 1);

--
-- Indices de la tabla `tbl_cohortes`
--
ALTER TABLE `tbl_cohortes`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_cohort_code` (`cohort_code`),
  ADD KEY `fk_cohort_created_by` (`created_by`),
  ADD KEY `fk_cohort_updated_by` (`updated_by`);

--
-- Indices de la tabla `tbl_company_settings`
--
ALTER TABLE `tbl_company_settings`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `tbl_diplomados`
--
ALTER TABLE `tbl_diplomados`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `code` (`code`);

--
-- Indices de la tabla `tbl_diplomados_conditions`
--
ALTER TABLE `tbl_diplomados_conditions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_cond_diplomado` (`diplomado_id`);

--
-- Indices de la tabla `tbl_diplomados_requirements`
--
ALTER TABLE `tbl_diplomados_requirements`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_req_diplomado` (`diplomado_id`);

--
-- Indices de la tabla `tbl_event_catalog`
--
ALTER TABLE `tbl_event_catalog`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_event_catalog_code` (`event_code`),
  ADD KEY `idx_event_catalog_type` (`event_type`),
  ADD KEY `idx_event_catalog_severity` (`severity`);

--
-- Indices de la tabla `tbl_event_logs`
--
ALTER TABLE `tbl_event_logs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_event_logs_code` (`event_code`),
  ADD KEY `idx_event_logs_user` (`user_id`),
  ADD KEY `idx_event_logs_session` (`session_id`),
  ADD KEY `idx_event_logs_occurred` (`occurred_at`),
  ADD KEY `idx_event_logs_entity` (`entity_table`,`entity_id`),
  ADD KEY `fk_event_logs_catalog` (`event_catalog_id`);

--
-- Indices de la tabla `tbl_grupos`
--
ALTER TABLE `tbl_grupos`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `tbl_permissions`
--
ALTER TABLE `tbl_permissions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_permissions_key` (`perm_key`),
  ADD KEY `idx_permissions_module` (`module_key`),
  ADD KEY `idx_permissions_action` (`action_key`);

--
-- Indices de la tabla `tbl_roles`
--
ALTER TABLE `tbl_roles`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_roles_key` (`role_key`);

--
-- Indices de la tabla `tbl_role_permissions`
--
ALTER TABLE `tbl_role_permissions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_role_permission` (`role_id`,`permission_id`),
  ADD KEY `fk_role_permissions_permission` (`permission_id`);

--
-- Indices de la tabla `tbl_sessions`
--
ALTER TABLE `tbl_sessions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_sessions_token` (`session_token`),
  ADD KEY `idx_sessions_user` (`user_id`),
  ADD KEY `idx_sessions_status` (`status`);

--
-- Indices de la tabla `tbl_user_remember_tokens`
--
ALTER TABLE `tbl_user_remember_tokens`
  ADD PRIMARY KEY (`id`),
  ADD KEY `user_id` (`user_id`);

--
-- Indices de la tabla `tbl_wa_manual_logs`
--
ALTER TABLE `tbl_wa_manual_logs`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `tbl_wa_manual_templates`
--
ALTER TABLE `tbl_wa_manual_templates`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `idx_evento_wa` (`evento`);

--
-- AUTO_INCREMENT de la tabla `tbl_cohortes`
--
ALTER TABLE `tbl_cohortes`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT de la tabla `tbl_company_settings`
--
ALTER TABLE `tbl_company_settings`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de la tabla `tbl_diplomados`
--
ALTER TABLE `tbl_diplomados`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de la tabla `tbl_diplomados_conditions`
--
ALTER TABLE `tbl_diplomados_conditions`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=33;

--
-- AUTO_INCREMENT de la tabla `tbl_diplomados_requirements`
--
ALTER TABLE `tbl_diplomados_requirements`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=41;

--
-- AUTO_INCREMENT de la tabla `tbl_event_catalog`
--
ALTER TABLE `tbl_event_catalog`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `tbl_event_logs`
--
ALTER TABLE `tbl_event_logs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `tbl_grupos`
--
ALTER TABLE `tbl_grupos`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT de la tabla `tbl_permissions`
--
ALTER TABLE `tbl_permissions`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `tbl_roles`
--
ALTER TABLE `tbl_roles`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT de la tabla `tbl_role_permissions`
--
ALTER TABLE `tbl_role_permissions`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `tbl_sessions`
--
ALTER TABLE `tbl_sessions`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `tbl_user_remember_tokens`
--
ALTER TABLE `tbl_user_remember_tokens`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- AUTO_INCREMENT de la tabla `tbl_wa_manual_logs`
--
ALTER TABLE `tbl_wa_manual_logs`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT de la tabla `tbl_wa_manual_templates`
--
ALTER TABLE `tbl_wa_manual_templates`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- Restricciones para tablas volcadas
--

--
-- Filtros para la tabla `tbl_cohortes`
--
ALTER TABLE `tbl_cohortes`
  ADD CONSTRAINT `fk_cohort_created_by` FOREIGN KEY (`created_by`) REFERENCES `tbl_users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_cohort_updated_by` FOREIGN KEY (`updated_by`) REFERENCES `tbl_users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_diplomados_conditions`
--
ALTER TABLE `tbl_diplomados_conditions`
  ADD CONSTRAINT `fk_cond_diplomado` FOREIGN KEY (`diplomado_id`) REFERENCES `tbl_diplomados` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `tbl_diplomados_requirements`
--
ALTER TABLE `tbl_diplomados_requirements`
  ADD CONSTRAINT `fk_req_diplomado` FOREIGN KEY (`diplomado_id`) REFERENCES `tbl_diplomados` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `tbl_event_logs`
--
ALTER TABLE `tbl_event_logs`
  ADD CONSTRAINT `fk_event_logs_catalog` FOREIGN KEY (`event_catalog_id`) REFERENCES `tbl_event_catalog` (`id`) ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_event_logs_session` FOREIGN KEY (`session_id`) REFERENCES `tbl_sessions` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_event_logs_user` FOREIGN KEY (`user_id`) REFERENCES `tbl_users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_role_permissions`
--
ALTER TABLE `tbl_role_permissions`
  ADD CONSTRAINT `fk_role_permissions_permission` FOREIGN KEY (`permission_id`) REFERENCES `tbl_permissions` (`id`) ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_role_permissions_role` FOREIGN KEY (`role_id`) REFERENCES `tbl_roles` (`id`) ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_sessions`
--
ALTER TABLE `tbl_sessions`
  ADD CONSTRAINT `fk_sessions_user` FOREIGN KEY (`user_id`) REFERENCES `tbl_users` (`id`) ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_user_remember_tokens`
--
ALTER TABLE `tbl_user_remember_tokens`
  ADD CONSTRAINT `tbl_user_remember_tokens_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `tbl_users` (`id`) ON DELETE CASCADE;
COMMIT;

