Skip to content

Commit c87016d

Browse files
committed
Properly update trigger
1 parent 3bb44e7 commit c87016d

File tree

3 files changed

+32
-27
lines changed

3 files changed

+32
-27
lines changed

action/kafkaFeedWeb.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,13 @@ function main(params) {
121121
if (!triggerDoc.status.active) {
122122
resolve(common.webResponse(400, `${params.triggerName} cannot be updated because it is disabled`));
123123
}
124-
return common.performUpdateParameterValidation(params, triggerDoc)
125-
.then(updatedParams => db.updateTrigger(triggerDoc, updatedParams))
124+
125+
return db.disableTrigger(triggerDoc)
126+
.then(() => db.getTrigger(params.triggerName))
127+
.then(doc => {
128+
return common.performUpdateParameterValidation(params, doc)
129+
.then(updatedParams => db.updateTrigger(doc, updatedParams))
130+
});
126131
})
127132
.then(() => {
128133
console.log('successfully updated the trigger');

action/lib/Database.js

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ module.exports = function(dbURL, dbName) {
6262
this.getTrigger(params.triggerName)
6363
.then(doc => this.disableTrigger(doc))
6464
.then(() => this.getTrigger(params.triggerName))
65-
.then(doc => this.updateTrigger(doc, params))
65+
.then(doc => this.updateTrigger(params, {_rev: doc._rev}))
6666
.then(result => resolve(result))
6767
.catch(err => reject(err));
6868
} else {
@@ -151,30 +151,25 @@ module.exports = function(dbURL, dbName) {
151151
}
152152

153153
this.updateTrigger = function(existing, params) {
154-
this.disableTrigger(existing)
155-
.then(() => this.getTrigger(existing.triggerName))
156-
.then(doc => {
157-
for (var key in params) {
158-
if (params[key] !== undefined) {
159-
doc[key] = params[key];
160-
}
154+
for (var key in params) {
155+
if (params[key] !== undefined) {
156+
existing[key] = params[key];
161157
}
162-
var status = {
163-
'active': true,
164-
'dateChanged': Date.now()
165-
};
166-
doc.status = status;
158+
}
159+
var status = {
160+
'active': true,
161+
'dateChanged': Date.now()
162+
};
163+
existing.status = status;
167164

168-
return new Promise((resolve, reject) => {
169-
this.db.insert(doc, (err, result) => {
170-
if(err) {
171-
reject(err);
172-
} else {
173-
resolve(result);
174-
}
175-
});
165+
return new Promise((resolve, reject) => {
166+
this.db.insert(existing, (err, result) => {
167+
if(err) {
168+
reject(err);
169+
} else {
170+
resolve(result);
171+
}
176172
});
177-
})
178-
.catch(err => Promise.reject(err));
173+
});
179174
};
180175
};

action/messageHubFeedWeb.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,13 @@ function main(params) {
128128
if (!triggerDoc.status.active) {
129129
resolve(common.webResponse(400, `${params.triggerName} cannot be updated because it is disabled`));
130130
}
131-
return common.performUpdateParameterValidation(params, triggerDoc)
132-
.then(updatedParams => db.updateTrigger(triggerDoc, updatedParams))
131+
132+
return db.disableTrigger(triggerDoc)
133+
.then(() => db.getTrigger(params.triggerName))
134+
.then(doc => {
135+
return common.performUpdateParameterValidation(params, doc)
136+
.then(updatedParams => db.updateTrigger(doc, updatedParams))
137+
});
133138
})
134139
.then(() => {
135140
console.log('successfully updated the trigger');

0 commit comments

Comments
 (0)