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

55 lines
1.2 KiB
JavaScript
Raw Permalink Normal View History

'use strict';
var utils = require('../utils');
module.exports = {
log: log,
dataSubject: dataSubject,
logPrepare: logPrepare,
logSuccess: logSuccess,
logFailure: logFailure
};
function dataSubject(obj) {
utils.validate.dataSubject(obj, 'data-subject');
this._content['data_subject'] = obj;
return this;
}
function logPrepare(callback) {
if (this._content.hasOwnProperty('success')) {
var whichFunction = this._content.success ? logSuccess.name : logFailure.name;
throw new Error(whichFunction + ' already called on the current message');
}
return logWithStatus.call(this, undefined, callback);
}
function logSuccess(callback) {
return logWithStatus.call(this, true, callback);
}
function logFailure(callback) {
return logWithStatus.call(this, false, callback);
}
function logWithStatus(success, callback) {
if (callback) {
utils.validate.callback(callback);
}
this._update();
this._validateContent();
if (success !== undefined) {
this._content.success = success;
}
return this._transport.log(this, callback);
}
function log(callback) {
if (callback) {
utils.validate.callback(callback);
}
this._update();
this._validateContent();
return this._transport.log(this, callback);
}