const express = require('express'); const validator = require('../../lib/validator'); const jwtdecode = require('../../lib/express/jwt-decode'); const internalAuditLog = require('../../internal/audit-log'); let router = express.Router({ caseSensitive: true, strict: true, mergeParams: true }); /** * /api/audit-log */ router .route('/') .options((req, res) => { res.sendStatus(204); }) .all(jwtdecode()) /** * GET /api/audit-log * * Retrieve all logs */ .get((req, res, next) => { validator({ additionalProperties: false, properties: { expand: { $ref: 'definitions#/definitions/expand' }, query: { $ref: 'definitions#/definitions/query' } } }, { expand: (typeof req.query.expand === 'string' ? req.query.expand.split(',') : null), query: (typeof req.query.query === 'string' ? req.query.query : null) }) .then((data) => { return internalAuditLog.getAll(res.locals.access, data.expand, data.query); }) .then((rows) => { res.status(200) .send(rows); }) .catch(next); }); module.exports = router;