nuevo dash
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
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é.' });
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user