RESTAPI_SERVER/routes/logs.js

39 lines
1.3 KiB
JavaScript

const express = require('express');
const router = express.Router();
const { getApiLogs, getApiLogStats } = require('../database/log-queries');
const { verifyToken, requireAdmin } = require('../middleware/auth');
// API 로그 목록 조회 (관리자만)
router.get('/api-logs', verifyToken, requireAdmin, async (req, res) => {
try {
const page = parseInt(req.query.page) || 1;
const limit = parseInt(req.query.limit) || 50;
const filters = {
startDate: req.query.startDate,
endDate: req.query.endDate,
method: req.query.method,
endpoint: req.query.endpoint,
username: req.query.username
};
const result = await getApiLogs(page, limit, filters);
res.json(result);
} catch (error) {
console.error('API 로그 조회 오류:', error);
res.status(500).json({ error: 'API 로그 조회에 실패했습니다.' });
}
});
// API 로그 통계 조회 (관리자만)
router.get('/api-logs/stats', verifyToken, requireAdmin, async (req, res) => {
try {
const stats = await getApiLogStats();
res.json(stats);
} catch (error) {
console.error('API 로그 통계 조회 오류:', error);
res.status(500).json({ error: 'API 로그 통계 조회에 실패했습니다.' });
}
});
module.exports = router;