in provider/lib/utils.js [211:244]
function fireTrigger(triggerIdentifier, change) {
var method = 'fireTrigger';
var triggerData = self.triggers[triggerIdentifier];
var triggerObj = parseQName(triggerData.id);
var form = change;
form.dbname = triggerData.dbname;
logger.info(method, 'firing trigger', triggerData.id, 'with db update');
var host = 'https://' + self.routerHost;
var uri = host + '/api/v1/namespaces/' + triggerObj.namespace + '/triggers/' + triggerObj.name;
postTrigger(triggerData, form, uri, 0)
.then(triggerId => {
logger.info(method, 'Trigger', triggerId, 'was successfully fired');
if (isMonitoringTrigger(triggerData.monitor, triggerId)) {
self.monitorStatus.triggerFired = "success";
}
if (triggerData.triggersLeft === 0) {
if (triggerData.monitor) {
deleteTrigger(triggerId, triggerData.monitor);
}
else {
disableTrigger(triggerId, undefined, 'Automatically disabled after reaching max triggers');
logger.warn(method, 'no more triggers left, disabled', triggerId);
}
}
})
.catch(err => {
logger.error(method, err);
});
}