ts-logs
Version:
This package provide a skd for audit and manager logs in nodejs and express
29 lines • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.autoPublishLog = void 0;
const can_auto_publish_util_1 = require("../utils/can-auto-publish.util");
const global_log_1 = require("./global-log");
/**
* @description Add middleware to listen response and publish log when status match if options.
* @param config connection configuration to connect on provider.
* @param options option to check status before publish. You can define publish log only when status match with options.
* @returns middleware to apply.
* @default publishWhenStatus every statusCode.
* @default publish only when exist some step on log.
*/
const autoPublishLog = (config, options) => {
return async (req, res, next) => {
res.on('finish', async () => {
const canPublish = (0, can_auto_publish_util_1.default)(req, res, options);
if (!canPublish)
return next();
const log = req?.log || global_log_1.default.singleton();
await log.publish(config);
return next();
});
return next();
};
};
exports.autoPublishLog = autoPublishLog;
exports.default = exports.autoPublishLog;
//# sourceMappingURL=auto-publish-log.builder.js.map