36 lines
937 B
TypeScript
36 lines
937 B
TypeScript
import { Router } from 'express';
|
|
import { authMiddleware, requireRole } from '../auth/middleware';
|
|
import { logger } from '../services/logger';
|
|
|
|
const router = Router();
|
|
router.use(authMiddleware);
|
|
|
|
router.get('/', requireRole('superadmin', 'admin'), async (req, res) => {
|
|
try {
|
|
const { limit = '100', level, category } = req.query;
|
|
|
|
const logs = logger.getLogs(
|
|
parseInt(limit as string),
|
|
level as string,
|
|
category as string
|
|
);
|
|
|
|
res.json({ logs });
|
|
} catch (error) {
|
|
console.error('Error fetching logs:', error);
|
|
res.status(500).json({ error: 'Failed to fetch logs' });
|
|
}
|
|
});
|
|
|
|
router.delete('/', requireRole('superadmin'), async (req, res) => {
|
|
try {
|
|
logger.clear();
|
|
res.json({ message: 'Logs cleared' });
|
|
} catch (error) {
|
|
console.error('Error clearing logs:', error);
|
|
res.status(500).json({ error: 'Failed to clear logs' });
|
|
}
|
|
});
|
|
|
|
export default router;
|