bpmn-client 1.3.27 → 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.
Files changed (54) hide show
  1. package/README.md +29 -0
  2. package/bin/cli.js +245 -0
  3. package/bin/setup.js +24 -0
  4. package/{src → dist}/BPMNClient.js +16 -5
  5. package/{cli.js → dist/cli.js} +3 -2
  6. package/dist/interfaces/DataObjects.js +2 -0
  7. package/{src → dist}/interfaces/Enums.js +4 -4
  8. package/dist/setup.js +22 -0
  9. package/dist/test.js +75 -0
  10. package/package.json +11 -2
  11. package/.env +0 -4
  12. package/Sample/.env +0 -4
  13. package/Sample/CarExample.js +0 -62
  14. package/Sample/CarExample.ts +0 -97
  15. package/Sample/package.json +0 -44
  16. package/Sample/test.js +0 -33
  17. package/Sample/test.ts +0 -32
  18. package/Sample/tsconfig.json +0 -17
  19. package/cli.ts +0 -268
  20. package/demo.env +0 -4
  21. package/index.js +0 -17
  22. package/index.ts +0 -1
  23. package/local.env +0 -4
  24. package/monitor.ts +0 -100
  25. package/remote-import.ts +0 -167
  26. package/src/BPMNClient.ts +0 -256
  27. package/src/WebService.ts +0 -90
  28. package/src/index.ts +0 -4
  29. package/src/interfaces/DataObjects.ts +0 -99
  30. package/src/interfaces/Enums.ts +0 -82
  31. package/test/.eslintrc.json +0 -20
  32. package/test/.mocharc.json +0 -12
  33. package/test/feature/.env +0 -3
  34. package/test/feature/carServer.js +0 -122
  35. package/test/helpers/setup.js +0 -9
  36. package/test/logs/Buy Used Carrepairsfalse cleaning +0 -0
  37. package/test/logs/Buy Used Carrepairstrue cleaning +0 -0
  38. package/test/logs/Buy Used Carscenario CaseId +0 -0
  39. package/test/logs/carrepairsfalse cleaning +0 -0
  40. package/test/logs/carrepairstrue cleaning +0 -0
  41. package/test-raw.ts +0 -73
  42. package/test.env +0 -4
  43. package/test.js +0 -258
  44. package/test.ts +0 -339
  45. package/test2.js +0 -91
  46. package/test3.ts +0 -40
  47. package/tsconfig.json +0 -17
  48. /package/{src → dist}/WebService.js +0 -0
  49. /package/{src → dist}/index.js +0 -0
  50. /package/{src/interfaces/DataObjects.js → dist/interfaces/API.js} +0 -0
  51. /package/{monitor.js → dist/monitor.js} +0 -0
  52. /package/{remote-import.js → dist/remote-import.js} +0 -0
  53. /package/{test-raw.js → dist/test-raw.js} +0 -0
  54. /package/{test3.js → dist/test3.js} +0 -0
package/README.md ADDED
@@ -0,0 +1,29 @@
1
+ cbpmn-client
2
+ ===========
3
+
4
+ [![Project Status: Active - The project has reached a stable, usable state and is being actively developed.](http://www.repostatus.org/badges/latest/active.svg)](http://www.repostatus.org/#active)
5
+
6
+ This is a light-weight package to allow remote access to [bpmn-server](https://github.com/bpmnServer/bpmn-server)
7
+
8
+ # Installation
9
+
10
+ This installs bpmn-client-sample application along with `bpmn-client`
11
+
12
+ ```sh
13
+
14
+ git clone https://github.com/bpmnServer/bpmn-client-sample.git
15
+
16
+ cd bpmn-client-sample
17
+
18
+ npm install
19
+
20
+ npm run setup
21
+ ```
22
+ the above setup command will copy .env
23
+ You can edit .env file to point to your implementation of `bpmn-server`
24
+
25
+ ### to update to latest release
26
+
27
+ ```
28
+ $ npm update bpmn-client
29
+ ```
package/bin/cli.js ADDED
@@ -0,0 +1,245 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ //import { BPMNClient } from "bpmn-client";
14
+ const _1 = require("../dist/");
15
+ const readline = require("readline");
16
+ const dotenv = require('dotenv');
17
+ const res = dotenv.config();
18
+ const server = new _1.BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
19
+ const cl = readline.createInterface(process.stdin, process.stdout);
20
+ const question = function (q) {
21
+ return new Promise((res, rej) => {
22
+ cl.question(q, answer => {
23
+ res(answer);
24
+ });
25
+ });
26
+ };
27
+ completeUserTask();
28
+ function menu() {
29
+ console.log('Commands:');
30
+ console.log(' q to quit');
31
+ console.log(' s start process ');
32
+ console.log(' lo list outstanding items');
33
+ console.log(' li list items');
34
+ console.log(' l list instances for a process');
35
+ console.log(' di display Instance information');
36
+ console.log(' i Invoke Task');
37
+ console.log(' sgl Signal Task');
38
+ console.log(' msg Message Task');
39
+ console.log(' d delete instnaces');
40
+ console.log(' ? repeat this list');
41
+ }
42
+ function completeUserTask() {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ menu();
45
+ let option = '';
46
+ var command;
47
+ while (option !== 'q') {
48
+ command = yield question('Enter Command, q to quit\n\r>');
49
+ let opts = command.split(' ');
50
+ option = opts[0];
51
+ switch (option) {
52
+ case '?':
53
+ menu();
54
+ break;
55
+ case 'lo':
56
+ console.log("Listing Outstanding Items");
57
+ yield findItems({ "items.status": "wait" });
58
+ break;
59
+ case 'l':
60
+ console.log("Listing Instances for a Process");
61
+ yield listInstances();
62
+ break;
63
+ case 'li':
64
+ console.log("list items");
65
+ yield listItems();
66
+ break;
67
+ case 'di':
68
+ console.log("Displaying Instance Details");
69
+ yield displayInstance();
70
+ break;
71
+ case 'i':
72
+ console.log("invoking");
73
+ yield invoke();
74
+ break;
75
+ case 's':
76
+ console.log("Starting Process");
77
+ yield start();
78
+ break;
79
+ case 'sgl':
80
+ console.log("Signalling Process");
81
+ yield signal();
82
+ break;
83
+ case 'msg':
84
+ console.log("Message Process");
85
+ yield message();
86
+ break;
87
+ case 'd':
88
+ console.log("deleting");
89
+ yield delInstances();
90
+ break;
91
+ }
92
+ }
93
+ console.log("bye");
94
+ cl.close();
95
+ });
96
+ }
97
+ function start() {
98
+ return __awaiter(this, void 0, void 0, function* () {
99
+ const name = yield question('Please provide your process name: ');
100
+ let taskData = yield question('Please provide your Task Data (json obj) if any: ');
101
+ console.log(taskData);
102
+ try {
103
+ if (taskData === "") {
104
+ taskData = {};
105
+ }
106
+ else {
107
+ taskData = JSON.parse(taskData.toString());
108
+ }
109
+ }
110
+ catch (exc) {
111
+ console.log(exc);
112
+ return;
113
+ }
114
+ let response = yield server.engine.start(name, taskData);
115
+ console.log("Process " + name + " started:", 'InstanceId', response.id);
116
+ return yield displayInstance(response.id);
117
+ });
118
+ }
119
+ function findItems(query) {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ var items = yield server.datastore.findItems(query);
122
+ console.log(`processName item.name item.elementId instanceId item.id`);
123
+ for (var i = 0; i < items.length; i++) {
124
+ let item = items[i];
125
+ console.log(`${item['processName']} ${item.name} ${item.elementId} ${item['instanceId']} ${item.id}`);
126
+ }
127
+ });
128
+ }
129
+ function listItems() {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ const answer = yield question('Please items criteria name value pair; example: items.status wait ');
132
+ let str = '' + answer;
133
+ const list = str.split(' ');
134
+ let criteria = {};
135
+ console.log(list);
136
+ for (var i = 0; i < list.length; i += 2) {
137
+ console.log(list[i], list[i + 1]);
138
+ criteria[list[i]] = list[i + 1];
139
+ }
140
+ console.log(criteria);
141
+ var items = yield server.datastore.findItems(criteria);
142
+ console.log(items.length);
143
+ for (var j = 0; j < items.length; j++) {
144
+ let item = items[j];
145
+ console.log(`element: ${item.elementId} status: ${item.status} processName: ${item['processName']} InstanceId: ${item['instanceId']} id: ${item.id}`);
146
+ }
147
+ });
148
+ }
149
+ function listInstances() {
150
+ return __awaiter(this, void 0, void 0, function* () {
151
+ const name = yield question('Please provide your process name: ');
152
+ let insts = yield server.datastore.findInstances({ name: name });
153
+ for (var i = 0; i < insts.length; i++) {
154
+ let inst = insts[i];
155
+ console.log(`name: ${inst.name} status: ${inst.status} instanceId: ${inst.id}
156
+ startedAt: ${inst.startedAt} endedAt ${inst.endedAt}`, 'data:', inst.data);
157
+ }
158
+ });
159
+ }
160
+ function displayInstance(instanceId = null) {
161
+ return __awaiter(this, void 0, void 0, function* () {
162
+ if (instanceId == null)
163
+ instanceId = yield question('Please provide your Instance ID: ');
164
+ let insts = yield server.datastore.findInstances({ id: instanceId });
165
+ for (var i = 0; i < insts.length; i++) {
166
+ let inst = insts[i];
167
+ var items = inst.items;
168
+ console.log(`name: ${inst.name} status: ${inst.status} instanceId: ${inst.id}
169
+ startedAt: ${inst.startedAt} endedAt ${inst.endedAt}`, 'data:', inst.data);
170
+ for (var j = 0; j < items.length; j++) {
171
+ let item = items[j];
172
+ console.log(`element: ${item.elementId} status: ${item.status} id: ${item.id}`);
173
+ }
174
+ }
175
+ });
176
+ }
177
+ function invoke() {
178
+ return __awaiter(this, void 0, void 0, function* () {
179
+ const instanceId = yield question('Please provide your Instance ID: ');
180
+ const taskId = yield question('Please provide your Task ID: ');
181
+ let taskData = yield question('Please provide your Task Data (json obj) if any: ');
182
+ if (taskData === "") {
183
+ taskData = {};
184
+ }
185
+ else {
186
+ taskData = JSON.parse(taskData.toString());
187
+ }
188
+ try {
189
+ let response = yield server.engine.invoke({ id: instanceId, "items.elementId": taskId }, taskData);
190
+ console.log("Completed UserTask:", taskId);
191
+ return yield displayInstance(response.id);
192
+ }
193
+ catch (exc) {
194
+ console.log("Invoking task failed for:", taskId, instanceId);
195
+ yield findItems({ id: instanceId, "items.elementId": taskId });
196
+ }
197
+ });
198
+ }
199
+ function signal() {
200
+ return __awaiter(this, void 0, void 0, function* () {
201
+ const signalId = yield question('Please provide signal ID: ');
202
+ let signalData = yield question('Please provide your Data (json obj) if any: ');
203
+ //if (typeof signalData === 'string' && signalData.trim() === '') {
204
+ if (signalData === "") {
205
+ signalData = {};
206
+ }
207
+ else {
208
+ try {
209
+ signalData = JSON.parse(signalData.toString());
210
+ }
211
+ catch (exc) {
212
+ console.log(exc);
213
+ return;
214
+ }
215
+ }
216
+ let response = yield server.engine.throwSignal(signalId, signalData);
217
+ console.log("Signal Response:", response);
218
+ });
219
+ }
220
+ function message() {
221
+ return __awaiter(this, void 0, void 0, function* () {
222
+ const messageId = yield question('Please provide message ID: ');
223
+ let messageData = yield question('Please provide your Data (json obj) if any: ');
224
+ if (typeof messageData === 'string' && messageData.trim() === '') {
225
+ messageData = {};
226
+ }
227
+ else {
228
+ messageData = JSON.parse(messageData.toString());
229
+ }
230
+ let response = yield server.engine.throwMessage(messageId, messageData);
231
+ if (response['id'])
232
+ return yield displayInstance(response['id']);
233
+ else {
234
+ console.log(' no results.');
235
+ return null;
236
+ }
237
+ });
238
+ }
239
+ function delInstances() {
240
+ return __awaiter(this, void 0, void 0, function* () {
241
+ const name = yield question('Please provide process name to delete instances for process: ');
242
+ let response = yield server.datastore.deleteInstances({ name: name });
243
+ console.log("Instances Deleted:", response['result']['deletedCount']);
244
+ });
245
+ }
package/bin/setup.js ADDED
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs');
4
+ const readline = require("readline");
5
+ const cl = readline.createInterface({ input: process.stdin, output: process.stdout, terminal: false });
6
+ const question = function (q) {
7
+ return new Promise((res, rej) => {
8
+ cl.question(q, answer => {
9
+ res(answer);
10
+ });
11
+ });
12
+ };
13
+ console.log('This routine will create .env file');
14
+ const cwd = process.cwd();
15
+ createEnv();
16
+ function createEnv() {
17
+ if (!fs.existsSync('.env')) {
18
+ fs.appendFileSync('.env', "API_KEY = 12345 \nHOST = localhost\nPORT = 3000\nBASE_URL = api");
19
+ console.log(`file ".env" created.`);
20
+ }
21
+ else
22
+ console.log('.env file already exists.');
23
+ process.exit();
24
+ }
@@ -11,7 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ClientDefinitions = exports.ClientDatastore = exports.ClientEngine = exports.BPMNClient = void 0;
13
13
  const WebService_1 = require("./WebService");
14
- console.log("BPMNClient 1.2");
15
14
  class BPMNClient extends WebService_1.WebService {
16
15
  constructor(host, port, apiKey) {
17
16
  super();
@@ -88,9 +87,9 @@ class ClientEngine {
88
87
  constructor(client) {
89
88
  this.client = client;
90
89
  }
91
- start(name, data = {}, startNodeId = null, options = {}) {
90
+ start(name, data = {}, startNodeId = null, userId = null, options = {}) {
92
91
  return __awaiter(this, void 0, void 0, function* () {
93
- const ret = yield this.client.post('engine/start', { name, data, startNodeId, options });
92
+ const ret = yield this.client.post('engine/start', { name, data, startNodeId, userId, options });
94
93
  if (ret['errors']) {
95
94
  console.log(ret['errors']);
96
95
  throw new Error(ret['errors']);
@@ -99,9 +98,21 @@ class ClientEngine {
99
98
  return instance;
100
99
  });
101
100
  }
102
- invoke(query, data) {
101
+ invoke(query, data, userId = null, options = {}) {
103
102
  return __awaiter(this, void 0, void 0, function* () {
104
- const ret = yield this.client.put('engine/invoke', { query, data });
103
+ console.log('invoke', options);
104
+ const ret = yield this.client.put('engine/invoke', { query, data, userId, options });
105
+ if (ret['errors']) {
106
+ console.log(ret['errors']);
107
+ throw new Error(ret['errors']);
108
+ }
109
+ const instance = ret['instance'];
110
+ return instance;
111
+ });
112
+ }
113
+ assign(query, data, userId = null, assignment) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ const ret = yield this.client.put('engine/assign', { query, data, userId, assignment });
105
116
  if (ret['errors']) {
106
117
  console.log(ret['errors']);
107
118
  throw new Error(ret['errors']);
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  "use strict";
2
3
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
4
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -151,7 +152,7 @@ function listInstances() {
151
152
  let insts = yield server.datastore.findInstances({ name: name });
152
153
  for (var i = 0; i < insts.length; i++) {
153
154
  let inst = insts[i];
154
- console.log(`name: ${inst.name} status: ${inst.status} instanceId: ${inst.id}
155
+ console.log(`name: ${inst.name} status: ${inst.status} instanceId: ${inst.id}
155
156
  startedAt: ${inst.startedAt} endedAt ${inst.endedAt}`, 'data:', inst.data);
156
157
  }
157
158
  });
@@ -164,7 +165,7 @@ function displayInstance(instanceId = null) {
164
165
  for (var i = 0; i < insts.length; i++) {
165
166
  let inst = insts[i];
166
167
  var items = inst.items;
167
- console.log(`name: ${inst.name} status: ${inst.status} instanceId: ${inst.id}
168
+ console.log(`name: ${inst.name} status: ${inst.status} instanceId: ${inst.id}
168
169
  startedAt: ${inst.startedAt} endedAt ${inst.endedAt}`, 'data:', inst.data);
169
170
  for (var j = 0; j < items.length; j++) {
170
171
  let item = items[j];
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -65,15 +65,15 @@ var EXECUTION_EVENT;
65
65
  /*
66
66
  * possible actions by node
67
67
  */
68
- // must be same as above
69
68
  var NODE_ACTION;
70
69
  (function (NODE_ACTION) {
71
70
  NODE_ACTION[NODE_ACTION["continue"] = 1] = "continue";
72
71
  NODE_ACTION[NODE_ACTION["wait"] = 2] = "wait";
73
72
  NODE_ACTION[NODE_ACTION["end"] = 3] = "end";
74
- NODE_ACTION[NODE_ACTION["stop"] = 4] = "stop";
75
- NODE_ACTION[NODE_ACTION["error"] = 5] = "error";
76
- NODE_ACTION[NODE_ACTION["abort"] = 6] = "abort";
73
+ NODE_ACTION[NODE_ACTION["cancel"] = 4] = "cancel";
74
+ NODE_ACTION[NODE_ACTION["stop"] = 5] = "stop";
75
+ NODE_ACTION[NODE_ACTION["error"] = 6] = "error";
76
+ NODE_ACTION[NODE_ACTION["abort"] = 7] = "abort";
77
77
  })(NODE_ACTION || (exports.NODE_ACTION = NODE_ACTION = {}));
78
78
  ;
79
79
  var ITEM_STATUS;
package/dist/setup.js ADDED
@@ -0,0 +1,22 @@
1
+ const fs = require('fs');
2
+ const readline = require("readline");
3
+ const cl = readline.createInterface({ input: process.stdin, output: process.stdout, terminal: false });
4
+ const question = function (q) {
5
+ return new Promise((res, rej) => {
6
+ cl.question(q, answer => {
7
+ res(answer);
8
+ });
9
+ });
10
+ };
11
+ console.log('This routine will create .env file');
12
+ const cwd = process.cwd();
13
+ createEnv();
14
+ function createEnv() {
15
+ if (!fs.existsSync('.env')) {
16
+ fs.appendFileSync('.env', "API_KEY = 12345 \nHOST = localhost\nPORT = 3000\nBASE_URL = api");
17
+ console.log(`file ".env" created.`);
18
+ }
19
+ else
20
+ console.log('.env file already exists.');
21
+ process.exit();
22
+ }
package/dist/test.js ADDED
@@ -0,0 +1,75 @@
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
+ testLong();
14
+ function testLong() {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ console.log('testlong');
17
+ const dotenv = require('dotenv');
18
+ dotenv.config();
19
+ console.log('env:', process.env.HOST, process.env.PORT, process.env.API_KEY);
20
+ var caseId = Math.floor(Math.random() * 10000);
21
+ let name = 'test-concurrency';
22
+ let response;
23
+ let instanceId;
24
+ let userId = 'user1';
25
+ let options = { noWait: true };
26
+ const server1 = new _1.BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
27
+ response = yield server1.engine.start(name, { caseId: caseId }, null, userId);
28
+ console.log(response.id, response.items.length);
29
+ response.items.forEach(item => { console.log(item.id, item.name, item.type, item.status); });
30
+ response = yield server1.engine.invoke({ id: response.id, "items.elementId": 'UserLong' }, null, userId, options);
31
+ console.log('invoked userLong', response.items.length);
32
+ response = yield server1.engine.invoke({ id: response.id, "items.elementId": 'UserShort' }, null, userId, options);
33
+ console.log('invoked userShort', response.items.length);
34
+ });
35
+ }
36
+ function test() {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ const dotenv = require('dotenv');
39
+ dotenv.config();
40
+ console.log('env:', process.env.HOST, process.env.PORT, process.env.API_KEY);
41
+ var caseId = Math.floor(Math.random() * 10000);
42
+ let name = 'Buy Used Car';
43
+ let response;
44
+ let instanceId;
45
+ let userId = 'user1';
46
+ let options = { noWait: true };
47
+ const server1 = new _1.BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
48
+ const server2 = new _1.BPMNClient(process.env.HOST, 3030, process.env.API_KEY);
49
+ response = yield server1.engine.start(name, { caseId: caseId }, null, userId, options);
50
+ console.log(response.id);
51
+ response = yield server2.engine.invoke({ id: response.id, "items.elementId": 'task_Buy' }, null, userId, options);
52
+ console.log('invoked', response.id);
53
+ });
54
+ }
55
+ function importModel() {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ console.log('from client lib');
58
+ try {
59
+ // const server = new BPMNClient('localhost', 3000, '12345');
60
+ const dotenv = require('dotenv');
61
+ dotenv.config();
62
+ console.log('env:', process.env.HOST, process.env.PORT, process.env.API_KEY);
63
+ const server = new _1.BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
64
+ var name = 'test-import';
65
+ var file = '..\\WebApp\\processes\\Trans.bpmn';
66
+ var file2 = '..\\WebApp\\processes\\Trans.svg';
67
+ var res = yield server.definitions.import(name, file, file2);
68
+ return res;
69
+ }
70
+ catch (exc) {
71
+ console.log('*******ERROR********');
72
+ console.log(exc);
73
+ }
74
+ });
75
+ }
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "bpmn-client",
3
- "version": "1.3.27",
3
+ "version": "1.6.0",
4
4
  "license": "MIT",
5
+ "main":"./dist/index.js",
5
6
  "scripts": {
6
7
  "build": "tsc --build",
7
8
  "compileRun": "tsc --build && node cli.js",
8
- "dev": "nodemon -e ts --exec \"npm run compileRun\"",
9
+ "cli": "ts-node src/cli",
9
10
  "clean": "tsc --build --clean",
10
11
  "start": "node cli.ts",
11
12
  "test": "mocha -exit --config=test\\.mocharc.json"
@@ -25,6 +26,14 @@
25
26
  "type": "git",
26
27
  "url": "git+https:github.com/ralphhanna/bpmn-client.git"
27
28
  },
29
+ "bin": {
30
+ "bpmn-client-setup": "./bin/setup.js",
31
+ "bpmn-client-cli": "./bin/cli.js"
32
+ },
33
+ "files": [
34
+ "bin",
35
+ "dist"
36
+ ],
28
37
  "dependencies": {
29
38
  "axios": "^1.3.4",
30
39
  "connect-busboy": "0.0.2",
package/.env DELETED
@@ -1,4 +0,0 @@
1
- API_KEY=12345
2
- HOST=test.omniworkflow.com
3
- PORT=443
4
- BASE_URL=api
package/Sample/.env DELETED
@@ -1,4 +0,0 @@
1
- API_KEY=12345
2
- HOST=test.omniworkflow.com
3
- PORT=443
4
- BASE_URL=api
@@ -1,62 +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
- const dotenv = require('dotenv');
14
- const res = dotenv.config();
15
- console.log("Testing BPMNClient 3");
16
- const http = require('http');
17
- test();
18
- function test() {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- console.log('-------- car.js -----------');
21
- const server = new bpmn_client_1.BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
22
- var caseId = Math.floor(Math.random() * 10000);
23
- let name = 'Buy Used Car';
24
- let instanceId;
25
- var instance = yield server.engine.start("Buy Used Car", { caseId: caseId });
26
- console.log("instance.id", instance.id, instance.name, instance.status, instance.data.caseId);
27
- var response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_Buy' }, { needsCleaning: "Yes", needsRepairs: "Yes" });
28
- console.log('after buy', response.id, response.data);
29
- response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_clean' }, {});
30
- console.log('after clean', response.id, response.data);
31
- response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_repair' }, {});
32
- console.log('after repair', response.id, response.data);
33
- try {
34
- response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_Drive' }, {});
35
- console.log('after drive', response.id, response.data);
36
- }
37
- catch (exc) {
38
- console.log(exc);
39
- }
40
- var insts = yield server.datastore.findInstances({ data: { caseId: caseId } });
41
- insts.forEach(inst => {
42
- console.log('Inst for CaseId id==>' + inst.id, inst.name, inst.data.caseId, 'status==>', inst.status);
43
- });
44
- var insts = yield server.datastore.findInstances({ id: instance.id });
45
- insts.forEach(inst => {
46
- for (var i = 0; i < inst.items.length; i++) {
47
- var item = inst.items[i];
48
- console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
49
- }
50
- });
51
- var inst = yield server.engine.get({ id: instance.id });
52
- for (var i = 0; i < inst.items.length; i++) {
53
- var item = inst.items[i];
54
- console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
55
- }
56
- // var items = await server.datastore.findItems({ query: { "items.elementId": "task_Buy" } });
57
- var items = yield server.datastore.findItems({ id: instance.id });
58
- items.forEach(item => {
59
- console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
60
- });
61
- });
62
- }