SAP-BTP-Spielwiese/app1/node_modules/@sap/audit-logging/lib/v2/audit-log.js

38 lines
1.4 KiB
JavaScript
Raw Normal View History

'use strict';
var currentTransport = require('../transports/current-transport');
var ConfigurationChangeMessage = require('./ConfigurationChangeMessage');
var DataModificationMessage = require('./DataModificationMessage');
var DataAccessMessage = require('./DataAccessMessage');
var SecurityMessage = require('./SecurityEventMessage');
var format = require('util').format;
var utils = require('../utils');
module.exports = function auditlog(credentials, serviceOptions, securityContext) {
var transport = currentTransport(credentials, serviceOptions, securityContext);
return {
configurationChange: function (accessedObject) {
utils.validate.objectWithTypeAndId(accessedObject, 'accessed-object');
return new ConfigurationChangeMessage({ object: accessedObject }, transport);
},
read: function (accessedObject) {
utils.validate.objectWithTypeAndId(accessedObject, 'accessed-object');
return new DataAccessMessage({ object: accessedObject }, transport);
},
update: function (accessedObject) {
utils.validate.objectWithTypeAndId(accessedObject, 'accessed-object');
return new DataModificationMessage({ object: accessedObject }, transport);
},
securityMessage: function () {
utils.validate.provided(arguments[0], 'An argument');
return new SecurityMessage({ data: format.apply(null, arguments) }, transport);
}
};
};