const express = require('express'); const { authRequired } = require('../middleware/auth'); const { requireRole } = require('../middleware/rbac'); const { resolveTenant } = require('../middleware/tenant'); const { generatePdfReport, generateExcelReport } = require('../services/reportService'); const router = express.Router(); router.get('/pdf/:surveyPeriodId', authRequired, requireRole('admin'), resolveTenant, async (req, res, next) => { try { const buffer = await generatePdfReport(req.tenantPool, req.params.surveyPeriodId, req.company.name); res.setHeader('Content-Type', 'application/pdf'); res.setHeader('Content-Disposition', 'attachment; filename="reporte.pdf"'); res.send(buffer); } catch (err) { next(err); } }); router.get('/excel/:surveyPeriodId', authRequired, requireRole('admin'), resolveTenant, async (req, res, next) => { try { const buffer = await generateExcelReport(req.tenantPool, req.params.surveyPeriodId); res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); res.setHeader('Content-Disposition', 'attachment; filename="reporte.xlsx"'); res.send(buffer); } catch (err) { next(err); } }); module.exports = router;