tractatus/src/routes/hooks-metrics.routes.js
TheFlow ddc78329f0 fix: correct auth middleware imports in hooks metrics route
Changed authMiddleware/roleMiddleware to authenticateToken/requireAdmin
to match actual exports from auth.middleware.js
2025-10-15 21:03:32 +13:00

49 lines
1.2 KiB
JavaScript

/**
* Hooks Metrics API Routes
* Serves framework enforcement metrics to admin dashboard
*/
const express = require('express');
const router = express.Router();
const fs = require('fs');
const path = require('path');
const { authenticateToken, requireAdmin } = require('../middleware/auth.middleware');
const METRICS_PATH = path.join(__dirname, '../../.claude/metrics/hooks-metrics.json');
/**
* GET /api/admin/hooks/metrics
* Get current hooks metrics
*/
router.get('/metrics', authenticateToken, requireAdmin, async (req, res) => {
try {
// Check if metrics file exists
if (!fs.existsSync(METRICS_PATH)) {
return res.json({
success: true,
metrics: {
hook_executions: [],
blocks: [],
session_stats: {}
}
});
}
// Read metrics
const metricsData = fs.readFileSync(METRICS_PATH, 'utf8');
const metrics = JSON.parse(metricsData);
res.json({
success: true,
metrics: metrics
});
} catch (error) {
console.error('Error fetching hooks metrics:', error);
res.status(500).json({
success: false,
error: 'Failed to fetch hooks metrics'
});
}
});
module.exports = router;