From 5a4770820ad94d2acaa5e8834c04d5128a5bc332 Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Wed, 19 Aug 2026 17:08:13 +0100 Subject: [PATCH] Refactor audit logs route and service for improved readability and maintainability This update enhances the `auditlogs.js` files by formatting the allowed filters for better clarity and refactoring the `listAuditLogsRouteHandler` function to improve code readability. Unused filter translations for Mongoose have been removed, streamlining the filtering logic. These changes contribute to cleaner code and easier future modifications. --- src/routes/management/auditlogs.js | 19 +++++++++++++++++-- src/services/management/auditlogs.js | 16 +--------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/routes/management/auditlogs.js b/src/routes/management/auditlogs.js index 20001fc..7d521fe 100644 --- a/src/routes/management/auditlogs.js +++ b/src/routes/management/auditlogs.js @@ -11,13 +11,28 @@ import { getFilter, getSort } from '../../utils.js'; const router = express.Router(); -const listAllowedFilters = ['parent._id', 'owner._id', 'operation', 'createdAt', 'updatedAt', '_reference']; +const listAllowedFilters = [ + 'parent._id', + 'owner._id', + 'operation', + 'createdAt', + 'updatedAt', + '_reference', +]; const listAllowedSorters = ['createdAt', 'updatedAt']; router.get('/', isAuthenticated, async (req, res) => { const { page, limit, sort, order } = req.query; const filter = await getFilter(req.query, listAllowedFilters); - listAuditLogsRouteHandler(req, res, page, limit, filter, getSort(sort, listAllowedSorters), order); + listAuditLogsRouteHandler( + req, + res, + page, + limit, + filter, + getSort(sort, listAllowedSorters), + order + ); }); router.get('/search', isAuthenticated, async (req, res) => { diff --git a/src/services/management/auditlogs.js b/src/services/management/auditlogs.js index bcb43e9..52eb185 100644 --- a/src/services/management/auditlogs.js +++ b/src/services/management/auditlogs.js @@ -2,10 +2,7 @@ import config from '../../config.js'; import { auditLogModel } from '../../database/schemas/management/auditlog.schema.js'; import log4js from 'log4js'; import mongoose from 'mongoose'; -import { - getModelStats, getModelHistory, - searchObjects -} from '../../database/database.js'; +import { getModelStats, getModelHistory, searchObjects } from '../../database/database.js'; const logger = log4js.getLogger('AuditLogs'); logger.level = config.server.logLevel; @@ -27,17 +24,6 @@ export const listAuditLogsRouteHandler = async ( if (!sort || sort != '') { sort = 'createdAt'; } - // Translate parent._id to parent for Mongoose - if (filter['parent._id']) { - filter.parent = filter['parent._id']; - delete filter['parent._id']; - } - - // Translate owner._id to parent for Mongoose - if (filter['owner._id']) { - filter.owner = filter['owner._id']; - delete filter['owner._id']; - } // Use find with population and filter let query = auditLogModel