bpmn-client 1.2.5 → 1.3.2

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/.env CHANGED
@@ -1,4 +1,4 @@
1
1
  API_KEY=12345
2
- HOST=test.omniworkflow.com
3
- PORT=443
2
+ HOST=localhost
3
+ PORT=3000
4
4
  BASE_URL=api
@@ -1,44 +1,44 @@
1
- {
2
- "name": "bpmn-client-sample",
3
- "version": "1.2.0",
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
- }
1
+ {
2
+ "name": "bpmn-client-sample",
3
+ "version": "1.2.0",
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/index.js CHANGED
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
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);
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
5
  }) : (function(o, m, k, k2) {
10
6
  if (k2 === undefined) k2 = k;
11
7
  o[k2] = m[k];
package/monitor.js ADDED
@@ -0,0 +1,91 @@
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 _1 = require("./");
13
+ console.log("Testing BPMNClient");
14
+ const dotenv = require('dotenv');
15
+ const res = dotenv.config();
16
+ console.log(res);
17
+ monitor();
18
+ function monitor() {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ const server = new _1.BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
21
+ console.log('running monitor');
22
+ for (var i = 0; i < 1000; i++) {
23
+ yield checkStatus(server);
24
+ yield delay(15000, 'test');
25
+ }
26
+ });
27
+ }
28
+ function checkStatus(server, reason = '') {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ var list = yield server.engine.status();
31
+ var insT = 0, insR = 0, itmT = 0, itmR = 0, tokT = 0, tokR = 0;
32
+ for (var i = 0; i < list.length; i++) {
33
+ var exec = list[i];
34
+ var dInstance = null;
35
+ insT++;
36
+ tokT += exec.instance.tokens.length;
37
+ if (exec.instance.status == 'running')
38
+ insR++;
39
+ var started = dateDiff(exec.instance.startedAt);
40
+ var ended = dateDiff(exec.instance.endedAt);
41
+ var msg = ` Instance for '${exec.instance.name}' Status: ${exec.status} Started At ${started} Ended ${ended} items: ${exec.instance.items.length}`;
42
+ try {
43
+ dInstance = yield server.datastore.findInstances({ id: exec.instance.id }, {});
44
+ //console.log(reason+' logs:',exec.instance.logs.length, dInstance.logs.length,dInstance.data.caseId);
45
+ if (dInstance.length > 0)
46
+ msg += ' items:' + dInstance[0].items.length;
47
+ }
48
+ catch (exc) {
49
+ msg += ' no instance' + exc.toString();
50
+ }
51
+ console.log(msg);
52
+ }
53
+ console.log(`${reason} ->Instances: Total: ${insT} Running: ${insR}`); // Tokens: ${tokT} `);
54
+ });
55
+ }
56
+ function delay(time, result) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ return new Promise(function (resolve) {
59
+ setTimeout(function () {
60
+ resolve(result);
61
+ }, time);
62
+ });
63
+ });
64
+ }
65
+ function dateDiff(dateStr) {
66
+ var endDate = new Date();
67
+ var startTime = new Date(dateStr);
68
+ var time1 = endDate.getTime();
69
+ var time2 = startTime;
70
+ var seconds = Math.abs(time1 - time2) / 1000;
71
+ // get total seconds between the times
72
+ var delta = seconds; //Math.abs(date_future - date_now) / 1000;
73
+ // calculate (and subtract) whole days
74
+ var days = Math.floor(delta / 86400);
75
+ delta -= days * 86400;
76
+ // calculate (and subtract) whole hours
77
+ var hours = Math.floor(delta / 3600) % 24;
78
+ delta -= hours * 3600;
79
+ // calculate (and subtract) whole minutes
80
+ var minutes = Math.floor(delta / 60) % 60;
81
+ delta -= minutes * 60;
82
+ // what's left is seconds
83
+ var seconds = Math.floor(delta % 60); // in theory the modulus is not required
84
+ if (days > 0)
85
+ return (days + " days");
86
+ if (hours > 0)
87
+ return (hours + " hours");
88
+ if (minutes > 0)
89
+ return (minutes + " minutes");
90
+ return (seconds + " seconds");
91
+ }
package/monitor.ts ADDED
@@ -0,0 +1,100 @@
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/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "bpmn-client",
3
- "version": "1.2.5",
3
+ "version": "1.3.2",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "build": "tsc --build",
7
- "compileRun": "tsc --build && node app.js",
7
+ "compileRun": "tsc --build && node test.js",
8
8
  "dev": "nodemon -e ts --exec \"npm run compileRun\"",
9
9
  "clean": "tsc --build --clean",
10
10
  "start": "node test.ts",
package/src/BPMNClient.js CHANGED
@@ -19,7 +19,7 @@ class WebService {
19
19
  return __awaiter(this, void 0, void 0, function* () {
20
20
  var driver = http;
21
21
  var body = JSON.stringify(params);
22
- console.log(options, params);
22
+ // console.log(options, params);
23
23
  if (options.port == 443)
24
24
  driver = https;
25
25
  let data = '';
@@ -27,7 +27,7 @@ class WebService {
27
27
  return new Promise(function (resolve, reject) {
28
28
  try {
29
29
  driver.request(options, function (res) {
30
- console.log('STATUS: ' + res.statusCode);
30
+ // console.log('STATUS: ' + res.statusCode);
31
31
  this.response = res;
32
32
  //console.log(res);
33
33
  self.statusCode = res.statusCode;
@@ -212,7 +212,7 @@ class ClientDatastore {
212
212
  }
213
213
  deleteInstances(query) {
214
214
  return __awaiter(this, void 0, void 0, function* () {
215
- return yield this.client.del('datastore/delete', query);
215
+ return yield this.client.del('datastore/deleteInstances', query);
216
216
  });
217
217
  }
218
218
  }
package/src/BPMNClient.ts CHANGED
@@ -15,7 +15,7 @@ class WebService {
15
15
  var driver = http;
16
16
  var body = JSON.stringify(params);
17
17
 
18
- console.log(options, params);
18
+ // console.log(options, params);
19
19
  if (options.port == 443)
20
20
  driver = https;
21
21
 
@@ -25,7 +25,7 @@ class WebService {
25
25
  try {
26
26
 
27
27
  driver.request(options, function (res) {
28
- console.log('STATUS: ' + res.statusCode);
28
+ // console.log('STATUS: ' + res.statusCode);
29
29
  this.response = res;
30
30
  //console.log(res);
31
31
  self.statusCode = res.statusCode;
@@ -213,7 +213,7 @@ class ClientDatastore {
213
213
  return instances;
214
214
  }
215
215
  async deleteInstances(query) {
216
- return await this.client.del('datastore/delete', query);
216
+ return await this.client.del('datastore/deleteInstances', query);
217
217
  }
218
218
  }
219
219
  class ClientDefinitions {
package/src/index.js CHANGED
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
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);
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
5
  }) : (function(o, m, k, k2) {
10
6
  if (k2 === undefined) k2 = k;
11
7
  o[k2] = m[k];
package/test/feature/.env CHANGED
@@ -1,5 +1,3 @@
1
1
  API_KEY=1234
2
- MONGO_DB_URL=mongodb://localhost:27017?retryWrites=true&w=majority
3
- MONGO_DB_NAME=bpmn
4
- SENDGRID_API_KEY=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
2
+
5
3
 
package/test.js CHANGED
@@ -19,6 +19,9 @@ function test() {
19
19
  return __awaiter(this, void 0, void 0, function* () {
20
20
  const server = new _1.BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
21
21
  const caseId = 3040;
22
+ var delResp = yield server.datastore.deleteInstances({ name: 'Buy Used Car' });
23
+ //console.log(delResp);
24
+ //return;
22
25
  var defs = yield server.definitions.list();
23
26
  console.log(defs);
24
27
  var def = yield server.definitions.load('Buy Used Car');
@@ -66,3 +69,12 @@ function test() {
66
69
  });
67
70
  });
68
71
  }
72
+ function delay(time, result) {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ return new Promise(function (resolve) {
75
+ setTimeout(function () {
76
+ resolve(result);
77
+ }, time);
78
+ });
79
+ });
80
+ }
package/test.ts CHANGED
@@ -10,10 +10,14 @@ test();
10
10
 
11
11
  async function test() {
12
12
 
13
- const server= new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
13
+ const server = new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
14
14
 
15
15
  const caseId = 3040;
16
16
 
17
+
18
+ var delResp = await server.datastore.deleteInstances({ name: 'Buy Used Car' });
19
+ //console.log(delResp);
20
+ //return;
17
21
  var defs = await server.definitions.list();
18
22
 
19
23
  console.log(defs);
@@ -60,7 +64,7 @@ async function test() {
60
64
  }
61
65
 
62
66
 
63
-
67
+
64
68
 
65
69
  var items = await server.datastore.findItems({ "items.status": "end", "items.elementId": "task_Buy" });
66
70
 
@@ -70,7 +74,7 @@ async function test() {
70
74
  });
71
75
 
72
76
 
73
-
77
+
74
78
  var insts = await server.datastore.findInstances({ data: { caseId: caseId } });
75
79
 
76
80
  insts.forEach(inst => {
@@ -104,7 +108,14 @@ async function test() {
104
108
  items.forEach(item => {
105
109
  console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
106
110
  });
111
+ }
107
112
 
113
+ async function delay(time, result) {
114
+ return new Promise(function (resolve) {
115
+ setTimeout(function () {
116
+ resolve(result);
117
+ }, time);
118
+ });
108
119
  }
109
120
 
110
121