Files
dashboard-infra/api/webhook.js
T
kvilches1410 5467427a08 nuevo dash
2026-03-31 16:57:26 -03:00

34 lines
1.2 KiB
JavaScript

import { clearCache } from './data.js';
export default async (req, res) => {
// CORS
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'POST');
if (req.method !== 'POST') {
return res.status(405).json({ error: 'Método no permitido. Usa POST.' });
}
// ── Validación de Secret ──────────────────────────────────────────────
const expectedSecret = process.env.WEBHOOK_SECRET;
const providedSecret = req.query.secret;
// Si hay un secret configurado en .env, exigimos que coincida
if (expectedSecret && providedSecret !== expectedSecret) {
console.warn('⚠️ Intento de Webhook con secret inválido.');
return res.status(401).json({ error: 'No autorizado / Secret inválido.' });
}
try {
console.log('🔔 Webhook recibido desde Jira!');
// Invocamos la limpieza de caché del módulo data.js
clearCache();
return res.status(200).json({ success: true, message: 'Caché invalidada exitosamente.' });
} catch (error) {
console.error('❌ Error manejando webhook:', error);
return res.status(500).json({ error: 'Error interno invalidando caché.' });
}
};