-- DDL: mrbs_userApp
-- Sistema de control de acceso por aplicación para agendaJuicios.
-- Cada fila define los niveles mínimos requeridos (mrbs_users.level) para cada acción.
-- Escala: 0 = bloqueado, 1 = usuario básico, 2 = editor, 9 = administrador, 10 = super-admin.
-- Si la tabla está vacía, perm() devuelve true para todos los usuarios autenticados.

CREATE TABLE IF NOT EXISTS mrbs_userApp (
  id                  INT          NOT NULL AUTO_INCREMENT,
  aplicacion          VARCHAR(100) NOT NULL              COMMENT 'Clave interna ($authApp en PHP)',
  acceder_aplicacion  SMALLINT     NOT NULL DEFAULT 1   COMMENT 'Nivel mínimo para acceder a la sección',
  ver                 SMALLINT     NOT NULL DEFAULT 1   COMMENT 'Nivel mínimo para ver registros',
  editar              SMALLINT     NOT NULL DEFAULT 2   COMMENT 'Nivel mínimo para editar registros',
  agregar             SMALLINT     NOT NULL DEFAULT 2   COMMENT 'Nivel mínimo para crear registros',
  borrar              SMALLINT     NOT NULL DEFAULT 9   COMMENT 'Nivel mínimo para eliminar registros',
  otras_acciones      SMALLINT     NOT NULL DEFAULT 9   COMMENT 'Nivel mínimo para exportar, importar, etc.',
  PRIMARY KEY (id),
  UNIQUE KEY uq_aplicacion (aplicacion)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
  COMMENT='Niveles mínimos de acceso por aplicación en agendaJuicios';

-- Datos iniciales (opcional — listarUserApp.php los auto-inserta si la tabla está vacía)
-- INSERT INTO mrbs_userApp (aplicacion, acceder_aplicacion, ver, editar, agregar, borrar, otras_acciones) VALUES
--   ('autos',         1, 1, 2, 2, 9, 9),
--   ('agenda',        1, 1, 2, 2, 9, 9),
--   ('juicios',       1, 1, 2, 2, 9, 9),
--   ('litigantes',    1, 1, 2, 2, 9, 9),
--   ('configuracion', 2, 2, 9, 9, 9, 9),
--   ('userApp',       9, 9, 9, 9, 9, 9);
