const express = require('express'); const router = express.Router(); const HerramientaSet = require('../models/HerramientaSet'); const HerramientaAsignacion = require('../models/HerramientaAsignacion'); // Escaneo público de Set / Caja de herramientas router.get('/set/:token', async (req, res) => { try { const { token } = req.params; const set = await HerramientaSet.findByToken(token); if (!set) { return res.status(404).render('public/qr_error', { title: 'Caja o Kit no encontrado', mensaje: 'El código QR escaneado no corresponde a ninguna caja de herramientas registrada en el sistema.' }); } res.render('public/qr_set', { title: `Caja de Herramientas: ${set.nombre}`, set, herramientas: set.herramientas || [], custodia: set.custodia }); } catch (error) { console.error('Error al consultar QR de Set:', error); res.status(500).render('public/qr_error', { title: 'Error de Consulta', mensaje: 'Ocurrió un error al cargar la información del kit de herramientas.' }); } }); // Escaneo público de Asignación de custodia router.get('/asignacion/:token', async (req, res) => { try { const { token } = req.params; const asig = await HerramientaAsignacion.findByToken(token); if (!asig) { return res.status(404).render('public/qr_error', { title: 'Asignación no encontrada', mensaje: 'El código QR escaneado no corresponde a ninguna asignación de equipamiento activa.' }); } res.render('public/qr_asignacion', { title: `Custodia: ${asig.set_nombre || asig.herramienta_nombre}`, asig, herramientas: asig.herramientas || [] }); } catch (error) { console.error('Error al consultar QR de Asignación:', error); res.status(500).render('public/qr_error', { title: 'Error de Consulta', mensaje: 'Ocurrió un error al cargar la información de la asignación.' }); } }); module.exports = router;