in actions/event-actions/lib/Database.js [95:137]
this.disableTrigger = function(triggerID, trigger, retryCount, crudMessage) {
if (retryCount === 0) {
//check if it is already disabled
if (trigger.status && trigger.status.active === false) {
return Promise.resolve(triggerID);
}
var message = `Automatically disabled trigger while ${crudMessage}`;
var status = {
'active': false,
'dateChanged': Date.now(),
'reason': {'kind': 'AUTO', 'statusCode': undefined, 'message': message}
};
trigger.status = status;
}
return new Promise(function(resolve, reject) {
utilsDB.db.insert(trigger, triggerID, function (err) {
if (err) {
if (err.statusCode === 409 && retryCount < 5) {
setTimeout(function () {
utilsDB.disableTrigger(triggerID, trigger, (retryCount + 1))
.then(id => {
resolve(id);
})
.catch(err => {
reject(err);
});
}, 1000);
}
else {
reject(common.sendError(err.statusCode, 'there was an error while disabling the trigger in the database.', err.message));
}
}
else {
resolve(triggerID);
}
});
});
};