Audit log: search (person, target, IP), role filter, every action in the filter, inclusive To date. Data requests: search and paging (was cut at 200). Webhook deliveries: status filter and Load older. Supervisor Payments loads only what it needs (unpaid registrations, recent/today/donation payments, a person's own for refunds) instead of everything. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ls1vMdg2GYqbnKZmPaX1ot
18 lines
627 B
JavaScript
18 lines
627 B
JavaScript
const { getAdminAuditLog } = require('../utils/adminAudit');
|
|
const { safeErrorMessage } = require('../utils/errorUtils');
|
|
|
|
// @desc Paginated admin/supervisor action audit trail, with optional filters
|
|
// @route GET /api/admin/audit-log
|
|
// @access Admin
|
|
const listAuditLog = async (req, res) => {
|
|
try {
|
|
const { page, limit, actorId, action, role, from, to, search } = req.query;
|
|
const result = await getAdminAuditLog({ page, limit, actorId, action, role, from, to, search });
|
|
res.json(result);
|
|
} catch (e) {
|
|
res.status(500).json({ message: safeErrorMessage(e) });
|
|
}
|
|
};
|
|
|
|
module.exports = { listAuditLog };
|