@@ -2,7 +2,6 @@ const Triggers = require('./parts/triggers/index.js');
22const Effects = require ( './parts/effects/index.js' ) ;
33const asyncLib = require ( 'async' ) ;
44const EventEmitter = require ( 'events' ) ;
5-
65const common = require ( '../../../api/utils/common.js' ) ;
76const { validateRead, validateCreate, validateDelete, validateUpdate } = require ( '../../../api/utils/rights.js' ) ;
87const plugins = require ( '../../pluginManager.js' ) ;
@@ -304,6 +303,21 @@ plugins.register("/i/hook/save", function(ob) {
304303 { new : true } ,
305304 function ( err , result ) {
306305 if ( ! err ) {
306+ // Audit log: Hook updated
307+ if ( result && result . value ) {
308+ plugins . dispatch ( "/systemlogs" , {
309+ params : params ,
310+ action : "hook_updated" ,
311+ data : {
312+ updatedHookID : result . value . _id ,
313+ updatedBy : params . member . _id ,
314+ updatedHookName : result . value . name
315+ }
316+ } ) ;
317+ }
318+ else {
319+ common . returnMessage ( params , 500 , "No result found" ) ;
320+ }
307321 common . returnOutput ( params , result && result . value ) ;
308322 }
309323 else {
@@ -318,6 +332,16 @@ plugins.register("/i/hook/save", function(ob) {
318332 function ( err , result ) {
319333 log . d ( "insert new hook:" , err , result ) ;
320334 if ( ! err && result && result . insertedIds && result . insertedIds [ 0 ] ) {
335+ // Audit log: Hook created
336+ plugins . dispatch ( "/systemlogs" , {
337+ params : params ,
338+ action : "hook_created" ,
339+ data : {
340+ createdHookID : hookConfig . _id ,
341+ createdBy : params . member . _id ,
342+ createdHookName : hookConfig . name
343+ }
344+ } ) ;
321345 common . returnOutput ( params , result . insertedIds [ 0 ] ) ;
322346 }
323347 else {
@@ -514,6 +538,12 @@ plugins.register("/i/hook/status", function(ob) {
514538 }
515539 Promise . all ( batch ) . then ( function ( ) {
516540 log . d ( "hooks all updated." ) ;
541+ // Audit log: Hook status updated
542+ plugins . dispatch ( "/systemlogs" , {
543+ params : params ,
544+ action : "hook_status_updated" ,
545+ data : { updatedHooksCount : Object . keys ( statusList ) . length , requestedBy : params . member . _id }
546+ } ) ;
517547 common . returnOutput ( params , true ) ;
518548 } ) ;
519549 } , paramsInstance ) ;
@@ -548,6 +578,15 @@ plugins.register("/i/hook/delete", function(ob) {
548578 function ( err , result ) {
549579 log . d ( err , result , "delete an hook" ) ;
550580 if ( ! err ) {
581+ // Audit log: Hook deleted
582+ plugins . dispatch ( "/systemlogs" , {
583+ params : params ,
584+ action : "hook_deleted" ,
585+ data : {
586+ deletedHookID : hookID ,
587+ requestedBy : params . member . _id
588+ }
589+ } ) ;
551590 common . returnMessage ( params , 200 , "Deleted an hook" ) ;
552591 }
553592 }
0 commit comments