CREATE TABLE preferencias_catalogos_usuario (
    id_preferencia INT IDENTITY(1,1) NOT NULL,
    id_usuario INT NOT NULL,
    locaciones BIT DEFAULT 0,
    vinculacion BIT DEFAULT 0,
    transportistas BIT DEFAULT 0,
    transportes BIT DEFAULT 0,
    choferes BIT DEFAULT 0,
    proveedores BIT DEFAULT 0,
    productos_frecuentes BIT DEFAULT 0,
    solicitudes_importacion BIT DEFAULT 0,
    expediente_electronico BIT DEFAULT 0,
    configuracion BIT DEFAULT 0,
    cerrar_sesion BIT DEFAULT 0,
    FOREIGN KEY (id_usuario) REFERENCES usuarios_sistema(id_usuario)
);

ALTER TABLE usuarios_sistema 
ADD [preferencias_catalogos] BIT DEFAULT 1;

CREATE TABLE tipos_catalogos (
    id INT PRIMARY KEY IDENTITY,
    tipo_usuario VARCHAR(20) NOT NULL,
    nombre VARCHAR(255) NOT NULL,
    descripcion VARCHAR(500) NULL,
    color VARCHAR(20) NOT NULL,
    ruta VARCHAR(100) NOT NULL,
    accion VARCAHR(50) NOT NULL
);

INSERT INTO tipos_catalogos (tipo_usuario, nombre, descripcion, color, ruta, accion) VALUES
('importador', 'Locaciones',              'Visualiza las locaciones registradas.',                              'lime',    '/IMPORTADORES/importadores/lista',                'Ver locaciones'),
('importador', 'Vinculación',             'Visualiza o establece nuevas vinculaciones con agencias aduanales.', 'teal',    '/IMPORTADORES/vinculaciones/vinculacionesUsuario', 'Ver vinculaciones'),
('importador', 'Transportistas',          'Agrega o consulta los choferes que colaboran contigo.',              'success', '/IMPORTADORES/transportistas/lista',              'Ver transportistas'),
('importador', 'Transportes',             'Gestiona y carga tus unidades de transporte.',                       'info',    '/IMPORTADORES/transportes/lista',                 'Ver transportes'),
('importador', 'Choferes',                'Gestiona y carga a tus choferes.',                                   'cyan',    '/IMPORTADORES/choferes/lista',                    'Ver choferes'),
('importador', 'Proveedores',             'Agrega tus proveedores.',                                            'primary', '/IMPORTADORES/proveedores/crear',                 'Nuevo proveedor'),
('importador', 'Productos frecuentes',    'Agrega productos frecuentes de tu interez.',                         'violet',  '/IMPORTADORES/productos_frecuentes/alta',         'Nuevo producto'),
('importador', 'Solicitudes importación', 'Inicia nuevas solicitudes de pedimentos.',                           'indigo',  '/IMPORTADORES/solicitud_importacion/crear',       'Nueva solicitud'),
('importador', 'Expediente electrónico',  'Revisa el expediente electrónico para tus solicitudes.',             'orange',  '/IMPORTADORES/expediente/index',                  'Ver expediente'),
('importador', 'Configuración',           'Administra los datos de tu empresa y preferencias.',                 'warning', '/IMPORTADORES/configuracion',                     'Ir a configuración'),
('importador', 'Cerrar sesión',           'Salir del sistema de forma segura.',                                 'danger',  '/IMPORTADORES/sistemas/logout',                   'Cerrar sesión');



UPDATE usuarios_sistema
SET preferencias_catalogos = 1
WHERE preferencias_catalogos IS NULL OR preferencias_catalogos = 0;

-- 2. Insertar en preferencias_catalogos_usuario solo para los que aún no tienen registro
INSERT INTO preferencias_catalogos_usuario (
    id_usuario, locaciones, vinculacion, transportistas, transportes, choferes, proveedores,
    productos_frecuentes, solicitudes_importacion, expediente_electronico, configuracion, cerrar_sesion
)
SELECT u.id_usuario, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
FROM usuarios_sistema u
WHERE u.tipo_usuario = 'importador'
  AND NOT EXISTS (
      SELECT 1 FROM preferencias_catalogos_usuario p
      WHERE p.id_usuario = u.id_usuario
  );