bpmn-client 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -0
- package/bin/cli.js +245 -0
- package/bin/setup.js +24 -0
- package/{src → dist}/BPMNClient.js +3 -3
- package/{cli.js → dist/cli.js} +3 -2
- package/dist/setup.js +22 -0
- package/dist/test.js +75 -0
- package/package.json +11 -2
- package/.env +0 -4
- package/Sample/.env +0 -4
- package/Sample/CarExample.js +0 -62
- package/Sample/CarExample.ts +0 -97
- package/Sample/package.json +0 -44
- package/Sample/test.js +0 -33
- package/Sample/test.ts +0 -32
- package/Sample/tsconfig.json +0 -17
- package/cli.ts +0 -268
- package/demo.env +0 -4
- package/index.js +0 -17
- package/index.ts +0 -1
- package/local.env +0 -4
- package/monitor.ts +0 -100
- package/remote-import.ts +0 -167
- package/src/BPMNClient.ts +0 -265
- package/src/WebService.ts +0 -90
- package/src/index.ts +0 -4
- package/src/interfaces/BPMNClient.ts +0 -29
- package/src/interfaces/DataObjects.ts +0 -100
- package/src/interfaces/Enums.ts +0 -82
- package/test/.eslintrc.json +0 -20
- package/test/.mocharc.json +0 -12
- package/test/feature/.env +0 -4
- package/test/feature/car.js +0 -123
- package/test/feature/carServer.js +0 -123
- package/test/helpers/setup.js +0 -9
- package/test/logs/Buy Used Carrepairsfalse cleaning +0 -0
- package/test/logs/Buy Used Carrepairstrue cleaning +0 -0
- package/test/logs/Buy Used Carscenario CaseId +0 -0
- package/test/logs/carrepairsfalse cleaning +0 -0
- package/test/logs/carrepairstrue cleaning +0 -0
- package/test-raw.ts +0 -73
- package/test.env +0 -4
- package/test.js +0 -258
- package/test.ts +0 -339
- package/test2.js +0 -91
- package/test3.ts +0 -40
- package/tsconfig.json +0 -17
- /package/{src → dist}/WebService.js +0 -0
- /package/{src → dist}/index.js +0 -0
- /package/{src/interfaces/BPMNClient.js → dist/interfaces/API.js} +0 -0
- /package/{src → dist}/interfaces/DataObjects.js +0 -0
- /package/{src → dist}/interfaces/Enums.js +0 -0
- /package/{monitor.js → dist/monitor.js} +0 -0
- /package/{remote-import.js → dist/remote-import.js} +0 -0
- /package/{test-raw.js → dist/test-raw.js} +0 -0
- /package/{test3.js → dist/test3.js} +0 -0
package/Sample/package.json
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "bpmn-client-sample",
|
|
3
|
-
"version": "1.3.23",
|
|
4
|
-
"license": "MIT",
|
|
5
|
-
"scripts": {
|
|
6
|
-
"build": "tsc --build",
|
|
7
|
-
"clean": "tsc --build --clean",
|
|
8
|
-
"start": "node app.ts",
|
|
9
|
-
"test": "mocha -R dot",
|
|
10
|
-
"posttest": "eslint . --cache && npm run toc",
|
|
11
|
-
"wintest": "node_modules/.bin/mocha",
|
|
12
|
-
"start:watch": "tsc-watch --project . --onSuccess \"nodemon ./test.ts\"",
|
|
13
|
-
"toc": "node scripts/generate-api-toc ./docs/API.md,./docs/Examples.md",
|
|
14
|
-
"test-md": "node scripts/test-markdown.js ./docs/API.md && node scripts/test-markdown.js ./docs/Examples.md"
|
|
15
|
-
},
|
|
16
|
-
"description": "Client API for BPMN-Server webservices",
|
|
17
|
-
"keywords": [
|
|
18
|
-
"BPMN",
|
|
19
|
-
"BPMN 2.0",
|
|
20
|
-
"Workflow",
|
|
21
|
-
"Node.js",
|
|
22
|
-
"TypeScript"
|
|
23
|
-
],
|
|
24
|
-
"author": {
|
|
25
|
-
"name": "ralphhanna"
|
|
26
|
-
},
|
|
27
|
-
"dependencies": {
|
|
28
|
-
"bpmn-client": "*",
|
|
29
|
-
"connect-busboy": "0.0.2",
|
|
30
|
-
"core-js": "^3.6.5",
|
|
31
|
-
"dotenv": "^16.0.1"
|
|
32
|
-
},
|
|
33
|
-
"devDependencies": {
|
|
34
|
-
"@types/mime": "^1.3.1",
|
|
35
|
-
"@types/node": "^8.10.66",
|
|
36
|
-
"@types/serve-static": "^1.7.32",
|
|
37
|
-
"nodemon": "^2.0.19",
|
|
38
|
-
"ts-node": "^8.10.2",
|
|
39
|
-
"typescript": "^3.9.7"
|
|
40
|
-
},
|
|
41
|
-
"engines": {
|
|
42
|
-
"node": "^14.0.0"
|
|
43
|
-
}
|
|
44
|
-
}
|
package/Sample/test.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const bpmn_client_1 = require("bpmn-client");
|
|
13
|
-
console.log("Testing BPMNClient");
|
|
14
|
-
const dotenv = require('dotenv');
|
|
15
|
-
const res = dotenv.config();
|
|
16
|
-
console.log("Testing BPMNClient");
|
|
17
|
-
test();
|
|
18
|
-
function test() {
|
|
19
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
//const client = new BPMNClient('localhost', 3000,12345);
|
|
21
|
-
const client = new bpmn_client_1.BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
22
|
-
var instance = yield client.engine.start("Buy Used Car", {});
|
|
23
|
-
console.log("instance.id", instance.id, instance.name, instance.status);
|
|
24
|
-
var insts = yield client.datastore.findInstances({ 'status': 'running' });
|
|
25
|
-
insts.forEach(inst => {
|
|
26
|
-
console.log('id==>' + inst.id, inst.name, 'status==>', inst.status);
|
|
27
|
-
});
|
|
28
|
-
var items = yield client.datastore.findItems({ query: { "items.elementId": "task_Buy" } });
|
|
29
|
-
items.forEach(item => {
|
|
30
|
-
console.log('item: id==>' + item.id, item.name, 'status==>', item.status);
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
}
|
package/Sample/test.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { BPMNClient } from "bpmn-client";
|
|
2
|
-
|
|
3
|
-
console.log("Testing BPMNClient");
|
|
4
|
-
const dotenv = require('dotenv');
|
|
5
|
-
const res = dotenv.config();
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
console.log("Testing BPMNClient");
|
|
9
|
-
test();
|
|
10
|
-
|
|
11
|
-
async function test() {
|
|
12
|
-
//const client = new BPMNClient('localhost', 3000,12345);
|
|
13
|
-
const client= new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
14
|
-
var instance = await client.engine.start("Buy Used Car", {} );
|
|
15
|
-
console.log("instance.id", instance.id, instance.name,instance.status);
|
|
16
|
-
|
|
17
|
-
var insts= await client.datastore.findInstances({ 'status': 'running' });
|
|
18
|
-
|
|
19
|
-
insts.forEach(inst => {
|
|
20
|
-
console.log('id==>' + inst.id,inst.name, 'status==>',inst.status);
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var items = await client.datastore.findItems({ query: { "items.elementId": "task_Buy" } });
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
items.forEach(item => {
|
|
28
|
-
console.log('item: id==>' + item.id, item.name, 'status==>', item.status);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
package/Sample/tsconfig.json
DELETED
package/cli.ts
DELETED
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
//import { BPMNClient } from "bpmn-client";
|
|
2
|
-
import { BPMNClient } from './';
|
|
3
|
-
|
|
4
|
-
import * as readline from 'readline';
|
|
5
|
-
|
|
6
|
-
const dotenv = require('dotenv');
|
|
7
|
-
const res = dotenv.config();
|
|
8
|
-
|
|
9
|
-
const server = new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
10
|
-
|
|
11
|
-
const cl = readline.createInterface( process.stdin, process.stdout );
|
|
12
|
-
const question = function(q) {
|
|
13
|
-
return new Promise( (res, rej) => {
|
|
14
|
-
cl.question( q, answer => {
|
|
15
|
-
res(answer);
|
|
16
|
-
})
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
completeUserTask();
|
|
21
|
-
|
|
22
|
-
function menu() {
|
|
23
|
-
console.log('Commands:');
|
|
24
|
-
console.log(' q to quit');
|
|
25
|
-
console.log(' s start process ');
|
|
26
|
-
console.log(' lo list outstanding items');
|
|
27
|
-
console.log(' li list items');
|
|
28
|
-
console.log(' l list instances for a process');
|
|
29
|
-
console.log(' di display Instance information');
|
|
30
|
-
console.log(' i Invoke Task');
|
|
31
|
-
console.log(' sgl Signal Task');
|
|
32
|
-
console.log(' msg Message Task');
|
|
33
|
-
console.log(' d delete instnaces');
|
|
34
|
-
console.log(' ? repeat this list');
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
async function completeUserTask() {
|
|
38
|
-
|
|
39
|
-
menu();
|
|
40
|
-
|
|
41
|
-
let option='';
|
|
42
|
-
var command;
|
|
43
|
-
while(option!=='q')
|
|
44
|
-
{
|
|
45
|
-
command= await question('Enter Command, q to quit\n\r>');
|
|
46
|
-
let opts=command.split(' ');
|
|
47
|
-
option=opts[0];
|
|
48
|
-
switch(option)
|
|
49
|
-
{
|
|
50
|
-
case '?':
|
|
51
|
-
menu();
|
|
52
|
-
break;
|
|
53
|
-
case 'lo':
|
|
54
|
-
console.log("Listing Outstanding Items");
|
|
55
|
-
await findItems({ "items.status": "wait"});
|
|
56
|
-
break;
|
|
57
|
-
case 'l':
|
|
58
|
-
console.log("Listing Instances for a Process");
|
|
59
|
-
await listInstances();
|
|
60
|
-
break;
|
|
61
|
-
case 'li':
|
|
62
|
-
console.log("list items");
|
|
63
|
-
await listItems();
|
|
64
|
-
break;
|
|
65
|
-
case 'di':
|
|
66
|
-
console.log("Displaying Instance Details");
|
|
67
|
-
await displayInstance();
|
|
68
|
-
break;
|
|
69
|
-
case 'i':
|
|
70
|
-
console.log("invoking");
|
|
71
|
-
await invoke();
|
|
72
|
-
break;
|
|
73
|
-
|
|
74
|
-
case 's':
|
|
75
|
-
console.log("Starting Process");
|
|
76
|
-
await start();
|
|
77
|
-
break;
|
|
78
|
-
case 'sgl':
|
|
79
|
-
console.log("Signalling Process");
|
|
80
|
-
await signal();
|
|
81
|
-
break;
|
|
82
|
-
case 'msg':
|
|
83
|
-
console.log("Message Process");
|
|
84
|
-
await message();
|
|
85
|
-
break;
|
|
86
|
-
|
|
87
|
-
case 'd':
|
|
88
|
-
console.log("deleting");
|
|
89
|
-
await delInstances();
|
|
90
|
-
break;
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
console.log("bye");
|
|
98
|
-
|
|
99
|
-
cl.close();
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
async function start()
|
|
103
|
-
{
|
|
104
|
-
const name = await question('Please provide your process name: ');
|
|
105
|
-
let taskData = await question('Please provide your Task Data (json obj) if any: ');
|
|
106
|
-
|
|
107
|
-
console.log(taskData);
|
|
108
|
-
|
|
109
|
-
try {
|
|
110
|
-
if (taskData === "") {
|
|
111
|
-
taskData = {};
|
|
112
|
-
} else {
|
|
113
|
-
taskData = JSON.parse(taskData.toString());
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
catch (exc) {
|
|
118
|
-
console.log(exc);
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
let response=await server.engine.start(name, taskData);
|
|
123
|
-
|
|
124
|
-
console.log("Process " + name + " started:", 'InstanceId', response.id);
|
|
125
|
-
return await displayInstance(response.id);
|
|
126
|
-
}
|
|
127
|
-
async function findItems(query) {
|
|
128
|
-
var items = await server.datastore.findItems(query);
|
|
129
|
-
|
|
130
|
-
console.log(`processName item.name item.elementId instanceId item.id`);
|
|
131
|
-
for (var i = 0; i < items.length; i++) {
|
|
132
|
-
let item = items[i];
|
|
133
|
-
console.log(`${item['processName']} ${item.name} ${item.elementId} ${item['instanceId']} ${item.id}`);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
async function listItems() {
|
|
138
|
-
const answer = await question('Please items criteria name value pair; example: items.status wait ');
|
|
139
|
-
let str=''+ answer;
|
|
140
|
-
|
|
141
|
-
const list = str.split(' ');
|
|
142
|
-
let criteria = {};
|
|
143
|
-
console.log(list);
|
|
144
|
-
for (var i = 0; i < list.length; i += 2) {
|
|
145
|
-
console.log(list[i], list[i + 1]);
|
|
146
|
-
criteria[list[i]] = list[i + 1];
|
|
147
|
-
}
|
|
148
|
-
console.log(criteria);
|
|
149
|
-
|
|
150
|
-
var items = await server.datastore.findItems(criteria)
|
|
151
|
-
console.log(items.length);
|
|
152
|
-
|
|
153
|
-
for (var j = 0; j < items.length; j++) {
|
|
154
|
-
let item = items[j];
|
|
155
|
-
console.log(`element: ${item.elementId} status: ${item.status} processName: ${item['processName']} InstanceId: ${item['instanceId']} id: ${item.id}`);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
async function listInstances() {
|
|
160
|
-
const name = await question('Please provide your process name: ');
|
|
161
|
-
|
|
162
|
-
let insts = await server.datastore.findInstances({ name: name})
|
|
163
|
-
|
|
164
|
-
for (var i = 0; i < insts.length; i++) {
|
|
165
|
-
let inst = insts[i];
|
|
166
|
-
console.log(`name: ${inst.name} status: ${inst.status} instanceId: ${inst.id}
|
|
167
|
-
startedAt: ${inst.startedAt} endedAt ${inst.endedAt}`, 'data:', inst.data);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
async function displayInstance(instanceId=null) {
|
|
172
|
-
|
|
173
|
-
if (instanceId==null)
|
|
174
|
-
instanceId = await question('Please provide your Instance ID: ');
|
|
175
|
-
|
|
176
|
-
let insts = await server.datastore.findInstances({id: instanceId})
|
|
177
|
-
|
|
178
|
-
for (var i = 0; i < insts.length; i++) {
|
|
179
|
-
let inst = insts[i];
|
|
180
|
-
var items = inst.items;
|
|
181
|
-
console.log(`name: ${inst.name} status: ${inst.status} instanceId: ${inst.id}
|
|
182
|
-
startedAt: ${inst.startedAt} endedAt ${inst.endedAt}`,'data:', inst.data);
|
|
183
|
-
for (var j = 0; j < items.length; j++) {
|
|
184
|
-
let item= items[j];
|
|
185
|
-
console.log(`element: ${item.elementId} status: ${item.status} id: ${item.id}`);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
async function invoke()
|
|
190
|
-
{
|
|
191
|
-
const instanceId = await question('Please provide your Instance ID: ');
|
|
192
|
-
const taskId = await question('Please provide your Task ID: ');
|
|
193
|
-
let taskData = await question('Please provide your Task Data (json obj) if any: ');
|
|
194
|
-
|
|
195
|
-
if (taskData === ""){
|
|
196
|
-
taskData = {};
|
|
197
|
-
}else{
|
|
198
|
-
taskData = JSON.parse(taskData.toString());
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
try {
|
|
202
|
-
let response = await server.engine.invoke(
|
|
203
|
-
{ id: instanceId, "items.elementId": taskId }
|
|
204
|
-
, taskData);
|
|
205
|
-
|
|
206
|
-
console.log("Completed UserTask:", taskId);
|
|
207
|
-
|
|
208
|
-
return await displayInstance(response.id);
|
|
209
|
-
}
|
|
210
|
-
catch (exc) {
|
|
211
|
-
console.log("Invoking task failed for:", taskId, instanceId);
|
|
212
|
-
await findItems({ id: instanceId, "items.elementId": taskId });
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
async function signal() {
|
|
219
|
-
const signalId = await question('Please provide signal ID: ');
|
|
220
|
-
|
|
221
|
-
let signalData = await question('Please provide your Data (json obj) if any: ');
|
|
222
|
-
|
|
223
|
-
//if (typeof signalData === 'string' && signalData.trim() === '') {
|
|
224
|
-
if (signalData === "") {
|
|
225
|
-
signalData = {};
|
|
226
|
-
} else {
|
|
227
|
-
try {
|
|
228
|
-
signalData = JSON.parse(signalData.toString());
|
|
229
|
-
}
|
|
230
|
-
catch (exc) {
|
|
231
|
-
console.log(exc);
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
let response = await server.engine.throwSignal(signalId, signalData);
|
|
237
|
-
|
|
238
|
-
console.log("Signal Response:", response);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
async function message() {
|
|
242
|
-
const messageId = await question('Please provide message ID: ');
|
|
243
|
-
|
|
244
|
-
let messageData = await question('Please provide your Data (json obj) if any: ');
|
|
245
|
-
|
|
246
|
-
if (typeof messageData === 'string' && messageData.trim() === '') {
|
|
247
|
-
messageData = {};
|
|
248
|
-
} else {
|
|
249
|
-
messageData = JSON.parse(messageData.toString());
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
let response = await server.engine.throwMessage(messageId, messageData);
|
|
253
|
-
|
|
254
|
-
if (response['id'])
|
|
255
|
-
return await displayInstance(response['id']);
|
|
256
|
-
else {
|
|
257
|
-
console.log(' no results.');
|
|
258
|
-
return null;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
async function delInstances() {
|
|
263
|
-
const name = await question('Please provide process name to delete instances for process: ');
|
|
264
|
-
|
|
265
|
-
let response = await server.datastore.deleteInstances({ name: name });
|
|
266
|
-
|
|
267
|
-
console.log("Instances Deleted:", response['result']['deletedCount']);
|
|
268
|
-
}
|
package/demo.env
DELETED
package/index.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./src/"), exports);
|
package/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './src/';
|
package/local.env
DELETED
package/monitor.ts
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { BPMNClient } from './';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
console.log("Testing BPMNClient");
|
|
5
|
-
const dotenv = require('dotenv');
|
|
6
|
-
const res = dotenv.config();
|
|
7
|
-
|
|
8
|
-
console.log(res);
|
|
9
|
-
monitor();
|
|
10
|
-
|
|
11
|
-
async function monitor() {
|
|
12
|
-
|
|
13
|
-
const server = new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
14
|
-
|
|
15
|
-
console.log('running monitor');
|
|
16
|
-
for (var i = 0; i < 1000; i++) {
|
|
17
|
-
await checkStatus(server);
|
|
18
|
-
await delay(15000, 'test');
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
async function checkStatus(server, reason = '') {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var list = await server.engine.status();
|
|
27
|
-
|
|
28
|
-
var insT = 0, insR = 0, itmT = 0, itmR = 0, tokT = 0, tokR = 0;
|
|
29
|
-
for (var i = 0; i < list.length; i++) {
|
|
30
|
-
var exec = list[i];
|
|
31
|
-
var dInstance = null;
|
|
32
|
-
insT++;
|
|
33
|
-
tokT += exec.instance.tokens.length;
|
|
34
|
-
if (exec.instance.status == 'running') insR++;
|
|
35
|
-
var started = dateDiff(exec.instance.startedAt);
|
|
36
|
-
var ended = dateDiff(exec.instance.endedAt);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
var msg = ` Instance for '${exec.instance.name}' Status: ${exec.status} Started At ${started} Ended ${ended} items: ${exec.instance.items.length}`;
|
|
40
|
-
try {
|
|
41
|
-
dInstance = await server.datastore.findInstances({ id: exec.instance.id }, {});
|
|
42
|
-
//console.log(reason+' logs:',exec.instance.logs.length, dInstance.logs.length,dInstance.data.caseId);
|
|
43
|
-
if (dInstance.length > 0)
|
|
44
|
-
msg += ' items:' + dInstance[0].items.length;
|
|
45
|
-
}
|
|
46
|
-
catch (exc) {
|
|
47
|
-
msg += ' no instance' + exc.toString();
|
|
48
|
-
}
|
|
49
|
-
console.log(msg);
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
console.log(`${reason} ->Instances: Total: ${insT} Running: ${insR}`);// Tokens: ${tokT} `);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
async function delay(time, result) {
|
|
56
|
-
return new Promise(function (resolve) {
|
|
57
|
-
setTimeout(function () {
|
|
58
|
-
resolve(result);
|
|
59
|
-
}, time);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
function dateDiff(dateStr) {
|
|
67
|
-
|
|
68
|
-
var endDate = new Date();
|
|
69
|
-
var startTime = new Date(dateStr);
|
|
70
|
-
var time1 = endDate.getTime();
|
|
71
|
-
var time2 = startTime as unknown as number;
|
|
72
|
-
|
|
73
|
-
var seconds = Math.abs(time1 - time2) / 1000;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
// get total seconds between the times
|
|
77
|
-
var delta = seconds; //Math.abs(date_future - date_now) / 1000;
|
|
78
|
-
|
|
79
|
-
// calculate (and subtract) whole days
|
|
80
|
-
var days = Math.floor(delta / 86400);
|
|
81
|
-
delta -= days * 86400;
|
|
82
|
-
|
|
83
|
-
// calculate (and subtract) whole hours
|
|
84
|
-
var hours = Math.floor(delta / 3600) % 24;
|
|
85
|
-
delta -= hours * 3600;
|
|
86
|
-
|
|
87
|
-
// calculate (and subtract) whole minutes
|
|
88
|
-
var minutes = Math.floor(delta / 60) % 60;
|
|
89
|
-
delta -= minutes * 60;
|
|
90
|
-
|
|
91
|
-
// what's left is seconds
|
|
92
|
-
var seconds = Math.floor(delta % 60); // in theory the modulus is not required
|
|
93
|
-
if (days > 0)
|
|
94
|
-
return (days + " days");
|
|
95
|
-
if (hours > 0)
|
|
96
|
-
return (hours + " hours");
|
|
97
|
-
if (minutes > 0)
|
|
98
|
-
return (minutes + " minutes");
|
|
99
|
-
return (seconds + " seconds");
|
|
100
|
-
}
|
package/remote-import.ts
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
//FromPostMan();
|
|
3
|
-
//request('test4', 'Trans.bpmn');
|
|
4
|
-
import { BPMNClient } from './';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
console.log('remote-import.ts');
|
|
8
|
-
|
|
9
|
-
//badImport();
|
|
10
|
-
fromClientLib();
|
|
11
|
-
|
|
12
|
-
console.log('-------------------');
|
|
13
|
-
//FromPostMan();
|
|
14
|
-
/*
|
|
15
|
-
process.on('uncaughtException', function (err) {
|
|
16
|
-
console.log('*******************Client ERROR***********');
|
|
17
|
-
console.error(err.stack);
|
|
18
|
-
throw err;
|
|
19
|
-
});
|
|
20
|
-
*/
|
|
21
|
-
async function badImport()
|
|
22
|
-
{
|
|
23
|
-
const path = require('path');
|
|
24
|
-
|
|
25
|
-
try{
|
|
26
|
-
const bpmnServer = new BPMNClient(
|
|
27
|
-
'127.0.0.1',
|
|
28
|
-
3000,
|
|
29
|
-
12345,
|
|
30
|
-
);
|
|
31
|
-
|
|
32
|
-
const importResult = await bpmnServer.definitions.import(
|
|
33
|
-
'dummyTest',
|
|
34
|
-
path.resolve('test.js'),
|
|
35
|
-
);
|
|
36
|
-
console.log('badImport done');
|
|
37
|
-
return 'done';
|
|
38
|
-
} catch(err){
|
|
39
|
-
console.log('badImport Error',err);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
async function fromClientLib() {
|
|
43
|
-
|
|
44
|
-
console.log('from client lib');
|
|
45
|
-
try {
|
|
46
|
-
// const server = new BPMNClient('localhost', 3000, '12345');
|
|
47
|
-
|
|
48
|
-
const dotenv = require('dotenv');
|
|
49
|
-
dotenv.config();
|
|
50
|
-
console.log('env:',process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
51
|
-
|
|
52
|
-
const server = new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
53
|
-
|
|
54
|
-
var name = 'test-import';
|
|
55
|
-
var file = '..\\WebApp\\processes\\Trans.bpmn';
|
|
56
|
-
var file2 = '..\\WebApp\\processes\\Trans.svg';
|
|
57
|
-
|
|
58
|
-
var res=await server.definitions.import(name, file,file2);
|
|
59
|
-
return res;
|
|
60
|
-
}
|
|
61
|
-
catch(exc)
|
|
62
|
-
{
|
|
63
|
-
console.log('*******ERROR********');
|
|
64
|
-
console.log(exc);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
async function FromPostMan() {
|
|
68
|
-
|
|
69
|
-
console.log("Testing Remote import");
|
|
70
|
-
var file = 'E:\\x4\\dev\\webApp\\processes\\Trans.bpmn';
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
var http = require('follow-redirects').http;
|
|
74
|
-
//const http = require('http');
|
|
75
|
-
|
|
76
|
-
var fs = require('fs');
|
|
77
|
-
|
|
78
|
-
var options = {
|
|
79
|
-
'method': 'POST',
|
|
80
|
-
'hostname': 'localhost',
|
|
81
|
-
'port': 3000,
|
|
82
|
-
'path': '/api/definitions/import/testing4',
|
|
83
|
-
'headers': {
|
|
84
|
-
'x-api-key': '12345',
|
|
85
|
-
'Cookie': 'connect.sid=s%3AXMa01DuOlQ4WsrvBj0FVaIrTak49vLPB.hDIV9j7ONA437rZf%2F%2Biu%2Bc6B7T5%2FVuEIjj1BAaoCJW4'
|
|
86
|
-
},
|
|
87
|
-
'maxRedirects': 20
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
var req = http.request(options, function (res) {
|
|
91
|
-
var chunks = [];
|
|
92
|
-
|
|
93
|
-
res.on("data", function (chunk) {
|
|
94
|
-
chunks.push(chunk);
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
res.on("end", function (chunk) {
|
|
98
|
-
var body = Buffer.concat(chunks);
|
|
99
|
-
console.log(body.toString());
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
res.on("error", function (error) {
|
|
103
|
-
console.error(error);
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
var postData = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"file\"; filename=\"Trans.bpmn\"\r\nContent-Type: \"text/plain\"\r\n\r\n" + fs.readFileSync(file) + "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--";
|
|
108
|
-
|
|
109
|
-
req.setHeader('content-type', 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW');
|
|
110
|
-
|
|
111
|
-
req.write(postData);
|
|
112
|
-
|
|
113
|
-
req.end();
|
|
114
|
-
|
|
115
|
-
return req;
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
async function request(name,path) {
|
|
121
|
-
|
|
122
|
-
console.log("Testing Request");
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
var http = require('http');
|
|
126
|
-
var fs = require('fs');
|
|
127
|
-
|
|
128
|
-
var options = {
|
|
129
|
-
'method': 'POST',
|
|
130
|
-
'hostname': 'localhost',
|
|
131
|
-
'port': 3000,
|
|
132
|
-
'path': '/api/definitions/import/'+name,
|
|
133
|
-
'headers': {
|
|
134
|
-
'x-api-key': '12345',
|
|
135
|
-
'Cookie': 'connect.sid=s%3AXMa01DuOlQ4WsrvBj0FVaIrTak49vLPB.hDIV9j7ONA437rZf%2F%2Biu%2Bc6B7T5%2FVuEIjj1BAaoCJW4'
|
|
136
|
-
},
|
|
137
|
-
'maxRedirects': 20
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
var req = http.request(options, function (res) {
|
|
141
|
-
var chunks = [];
|
|
142
|
-
|
|
143
|
-
res.on("data", function (chunk) {
|
|
144
|
-
chunks.push(chunk);
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
res.on("end", function (chunk) {
|
|
148
|
-
var body = Buffer.concat(chunks);
|
|
149
|
-
console.log(body.toString());
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
res.on("error", function (error) {
|
|
153
|
-
console.error(error);
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
|
|
157
|
-
var postData = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"file\"; filename=\""
|
|
158
|
-
+ path + "\"\r\nContent-Type: \"text/plain\"\r\n\r\n" +
|
|
159
|
-
fs.readFileSync(path) + "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--";
|
|
160
|
-
|
|
161
|
-
req.setHeader('content-type', 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW');
|
|
162
|
-
|
|
163
|
-
req.write(postData);
|
|
164
|
-
|
|
165
|
-
req.end();
|
|
166
|
-
console.log('end');
|
|
167
|
-
}
|