-- ============================================================
-- Migration: 20260302_lab_07_actividad_admin
-- Módulo Administrativo: Trazabilidad general del módulo
-- Registra TODA acción realizada por administradoras
-- ============================================================

CREATE TABLE IF NOT EXISTS `lab_actividad_admin` (
    `id`                INT(11)         NOT NULL AUTO_INCREMENT,
    `admin_id`          INT(11)         DEFAULT NULL            COMMENT 'FK a admin_users.id',
    `admin_nombre`      VARCHAR(150)    DEFAULT NULL            COMMENT 'Snapshot del nombre (por si se elimina)',
    `modulo`            VARCHAR(50)     NOT NULL                COMMENT 'pacientes|ordenes|domicilios|enfermeras|asignaciones',
    `accion`            VARCHAR(100)    NOT NULL                COMMENT 'crear|editar|eliminar|autorizar|rechazar|asignar...',
    `entidad_id`        INT(11)         DEFAULT NULL            COMMENT 'ID del registro afectado',
    `detalle`           TEXT            DEFAULT NULL            COMMENT 'JSON o descripción del cambio',
    `ip_address`        VARCHAR(45)     DEFAULT NULL,
    `user_agent`        VARCHAR(255)    DEFAULT NULL,
    `created_at`        TIMESTAMP       NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`),
    KEY `idx_act_admin`     (`admin_id`),
    KEY `idx_act_modulo`    (`modulo`),
    KEY `idx_act_accion`    (`accion`),
    KEY `idx_act_entidad`   (`entidad_id`),
    KEY `idx_act_fecha`     (`created_at`),
    CONSTRAINT `fk_act_admin` FOREIGN KEY (`admin_id`)
        REFERENCES `admin_users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
  COMMENT='Log de trazabilidad del módulo administrativo';
