@5minds/node-red-contrib-processcube 1.1.4-feature-cf47e1-m0h7fe3x → 1.1.4-feature-bc1698-m0kn1ci4
Sign up to get free protection for your applications and to get access to all the features.
- package/externaltask-event-listener.js +20 -14
- package/package.json +1 -1
- package/usertask-event-listener.js +18 -21
@@ -16,14 +16,14 @@ module.exports = function (RED) {
|
|
16
16
|
|
17
17
|
let subscription;
|
18
18
|
|
19
|
-
function externalTaskCallback(
|
19
|
+
function externalTaskCallback() {
|
20
20
|
return (externalTaskNotification) => {
|
21
21
|
if (config.externaltask != '' && config.externaltask != externalTaskNotification.flowNodeId) return;
|
22
22
|
node.send({
|
23
23
|
payload: {
|
24
24
|
flowNodeInstanceId: externalTaskNotification.flowNodeInstanceId,
|
25
25
|
externalTaskEvent: externalTaskNotification,
|
26
|
-
action:
|
26
|
+
action: config.eventtype,
|
27
27
|
type: 'externaltask',
|
28
28
|
},
|
29
29
|
});
|
@@ -31,21 +31,27 @@ module.exports = function (RED) {
|
|
31
31
|
}
|
32
32
|
|
33
33
|
async function subscribe() {
|
34
|
-
|
35
|
-
|
36
|
-
|
34
|
+
const eventHandlers = {
|
35
|
+
created: () =>
|
36
|
+
client.notification.onExternalTaskCreated(externalTaskCallback('created'), {
|
37
37
|
identity: currentIdentity,
|
38
|
-
})
|
39
|
-
|
40
|
-
|
38
|
+
}),
|
39
|
+
locked: () =>
|
40
|
+
client.notification.onExternalTaskLocked(externalTaskCallback('locked'), {
|
41
41
|
identity: currentIdentity,
|
42
|
-
})
|
43
|
-
|
44
|
-
|
42
|
+
}),
|
43
|
+
unlocked: () =>
|
44
|
+
client.notification.onExternalTaskUnlocked(externalTaskCallback('unlocked'), {
|
45
45
|
identity: currentIdentity,
|
46
|
-
})
|
47
|
-
|
48
|
-
|
46
|
+
}),
|
47
|
+
};
|
48
|
+
|
49
|
+
const handler = eventHandlers[config.eventtype];
|
50
|
+
|
51
|
+
if (handler) {
|
52
|
+
return await handler();
|
53
|
+
} else {
|
54
|
+
console.error('No such event: ' + config.eventtype);
|
49
55
|
}
|
50
56
|
}
|
51
57
|
|
package/package.json
CHANGED
@@ -17,7 +17,7 @@ module.exports = function (RED) {
|
|
17
17
|
let subscription;
|
18
18
|
const query = RED.util.evaluateNodeProperty(config.query, config.query_type, node);
|
19
19
|
|
20
|
-
function userTaskCallback(
|
20
|
+
function userTaskCallback() {
|
21
21
|
return async (userTaskNotification) => {
|
22
22
|
if (config.usertask != '' && config.usertask != userTaskNotification.flowNodeId) return;
|
23
23
|
const newQuery = {
|
@@ -37,7 +37,7 @@ module.exports = function (RED) {
|
|
37
37
|
flowNodeInstanceId: userTaskNotification.flowNodeInstanceId,
|
38
38
|
userTaskEvent: userTaskNotification,
|
39
39
|
userTask: userTask,
|
40
|
-
action:
|
40
|
+
action: config.eventtype,
|
41
41
|
type: 'usertask',
|
42
42
|
},
|
43
43
|
});
|
@@ -46,26 +46,23 @@ module.exports = function (RED) {
|
|
46
46
|
}
|
47
47
|
|
48
48
|
async function subscribe() {
|
49
|
-
|
50
|
-
|
51
|
-
|
49
|
+
const eventHandlers = {
|
50
|
+
new: () => client.userTasks.onUserTaskWaiting(userTaskCallback(), { identity: currentIdentity }),
|
51
|
+
finished: () =>
|
52
|
+
client.userTasks.onUserTaskFinished(userTaskCallback(), { identity: currentIdentity }),
|
53
|
+
reserved: () =>
|
54
|
+
client.userTasks.onUserTaskReserved(userTaskCallback(), { identity: currentIdentity }),
|
55
|
+
'reservation-canceled': () =>
|
56
|
+
client.userTasks.onUserTaskReservationCanceled(userTaskCallback(), {
|
52
57
|
identity: currentIdentity,
|
53
|
-
})
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
});
|
62
|
-
case 'reservation-canceled':
|
63
|
-
return await client.userTasks.onUserTaskReservationCanceled(
|
64
|
-
userTaskCallback('reservation-canceled'),
|
65
|
-
{ identity: currentIdentity }
|
66
|
-
);
|
67
|
-
default:
|
68
|
-
console.error('no such event: ' + config.eventtype);
|
58
|
+
}),
|
59
|
+
};
|
60
|
+
|
61
|
+
const handler = eventHandlers[config.eventtype];
|
62
|
+
if (handler) {
|
63
|
+
return await handler();
|
64
|
+
} else {
|
65
|
+
console.error('no such event: ' + config.eventtype);
|
69
66
|
}
|
70
67
|
}
|
71
68
|
|