From 80e36cd9facb56b330be3e4f1c5ba253cc78c308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Bertron?= Date: Tue, 31 Jul 2018 14:04:26 +0200 Subject: Add audit logs in various modules - Videos - Videos comments - Users - Videos channels - Videos abuses - Custom config --- server/controllers/api/config.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'server/controllers/api/config.ts') diff --git a/server/controllers/api/config.ts b/server/controllers/api/config.ts index 9c1b2818c..411b13539 100644 --- a/server/controllers/api/config.ts +++ b/server/controllers/api/config.ts @@ -9,10 +9,13 @@ import { CONFIG, CONSTRAINTS_FIELDS, reloadConfig } from '../../initializers' import { asyncMiddleware, authenticate, ensureUserHasRight } from '../../middlewares' import { customConfigUpdateValidator } from '../../middlewares/validators/config' import { ClientHtml } from '../../lib/client-html' +import { CustomConfigAuditView, auditLoggerFactory } from '../../helpers/audit-logger' const packageJSON = require('../../../../package.json') const configRouter = express.Router() +const auditLogger = auditLoggerFactory('config') + configRouter.get('/about', getAbout) configRouter.get('/', asyncMiddleware(getConfig) @@ -119,6 +122,11 @@ async function getCustomConfig (req: express.Request, res: express.Response, nex async function deleteCustomConfig (req: express.Request, res: express.Response, next: express.NextFunction) { await unlinkPromise(CONFIG.CUSTOM_FILE) + auditLogger.delete( + res.locals.oauth.token.User.Account.Actor.getIdentifier(), + new CustomConfigAuditView(customConfig()) + ) + reloadConfig() ClientHtml.invalidCache() @@ -129,6 +137,7 @@ async function deleteCustomConfig (req: express.Request, res: express.Response, async function updateCustomConfig (req: express.Request, res: express.Response, next: express.NextFunction) { const toUpdate: CustomConfig = req.body + const oldCustomConfigAuditKeys = new CustomConfigAuditView(customConfig()) // Force number conversion toUpdate.cache.previews.size = parseInt('' + toUpdate.cache.previews.size, 10) @@ -150,6 +159,13 @@ async function updateCustomConfig (req: express.Request, res: express.Response, ClientHtml.invalidCache() const data = customConfig() + + auditLogger.update( + res.locals.oauth.token.User.Account.Actor.getIdentifier(), + new CustomConfigAuditView(data), + oldCustomConfigAuditKeys + ) + return res.json(data).end() } -- cgit v1.2.3