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
@@ -1,20 +0,0 @@
1
- {
2
- "env": {
3
- "mocha": true
4
- },
5
- "rules": {
6
- "no-unused-expressions": 0,
7
- "no-var": 1,
8
- "prefer-arrow-callback": 1
9
- },
10
- "globals": {
11
- "expect": false,
12
- "Feature": false,
13
- "Scenario": false,
14
- "Given": false,
15
- "When": false,
16
- "Then": false,
17
- "And": false,
18
- "But": false
19
- }
20
- }
@@ -1,12 +0,0 @@
1
- {
2
- "diff": true,
3
- "extension": [ "js" ],
4
- "package": "package.json",
5
- "reporter": "spec",
6
- "slow": 1500,
7
- "timeout": 50000,
8
- "recursive": true,
9
- "file": [ "test/helpers/setup.js" ],
10
- "ui": "mocha-cakes-2",
11
- "watch-files": [ "test/feature/*.js" ]
12
- }
package/test/feature/.env DELETED
@@ -1,3 +0,0 @@
1
- API_KEY=1234
2
-
3
-
@@ -1,122 +0,0 @@
1
- const { BPMNClient } = require("../../src/");
2
-
3
-
4
-
5
- const API_KEY = '12345';
6
- const HOST = 'localhost';
7
- const PORT = '3000';
8
- //const HOST = 'test.omniworkflow.com';
9
- //const PORT = '443';
10
-
11
- const BASE_URL = 'api';
12
-
13
-
14
- console.log('-------- car.js -----------');
15
-
16
- const server = new BPMNClient(HOST, PORT, API_KEY);
17
-
18
- var caseId = Math.floor(Math.random() * 10000);
19
-
20
- let name = 'Buy Used Car';
21
- let process;
22
- let response;
23
- let instanceId;
24
-
25
- Feature('Buy Used Car- clean and repair', () => {
26
- Scenario('Simple', () => {
27
- Given('Start Buy Used Car Process', async () => {
28
- response = await server.engine.start(name, { caseId: caseId });
29
- instanceId = response.id;
30
- console.log('**instanceId', response.id, instanceId);
31
- console.log(' after start ', response.data.caseId);
32
- });
33
- Then('check for output', () => {
34
- expect(response.data.caseId).equals(caseId);
35
- expect(getItem('task_Buy').status).equals('wait');
36
- });
37
-
38
- When('a process defintion is executed', async () => {
39
-
40
- const data = { needsCleaning: "Yes", needsRepairs: "Yes" };
41
- const query = {
42
- id: instanceId,
43
- "items.elementId": 'task_Buy'
44
- };
45
- console.log(query);
46
- response = await server.engine.invoke(query, data);
47
- });
48
-
49
- When('engine get', async () => {
50
- const query = { id: instanceId };
51
-
52
- response = await server.engine.get(query);
53
-
54
- expect(response.id).equals(instanceId);
55
-
56
- });
57
-
58
-
59
- Then('check for output to have engine', () => {
60
- expect(getItem('task_Buy').status).equals('end');
61
- });
62
-
63
- and('Clean it', async () => {
64
-
65
- const query = {
66
- "data.caseId": caseId,
67
- "items.elementId": 'task_clean'
68
- };
69
- console.log(query);
70
- await server.engine.invoke(query, {});
71
- });
72
-
73
- and('Repair it', async () => {
74
- const query = { id: instanceId, "items.elementId": 'task_repair' };
75
- response = await server.engine.invoke(query, {});
76
- });
77
- and('Drive it 1', async () => {
78
- const query = {
79
- id: instanceId,
80
- "items.elementId": 'task_Drive'
81
- };
82
- response = await server.engine.invoke(query, {});
83
- });
84
-
85
- and('Case Complete', async () => {
86
-
87
- console.log(response.status);
88
- expect(getItem('task_Drive').status).equals('end');
89
-
90
- });
91
-
92
- and('find engine status', async () => {
93
-
94
- var insts = await server.engine.status();
95
-
96
- });
97
-
98
- //
99
- and('find instances', async () => {
100
-
101
- var insts = await server.datastore.findInstances({ id: response.id });
102
- expect(insts).to.have.lengthOf(1);
103
-
104
- });
105
-
106
- and('find items', async () => {
107
-
108
- var items = await server.datastore.findItems({ id: response.id } );
109
- expect(items).to.have.lengthOf(17);
110
-
111
- });
112
-
113
-
114
-
115
-
116
- });
117
-
118
- });
119
-
120
- function getItem(id) {
121
- return response.items.filter(item => { return item.elementId == id; })[0];
122
- }
@@ -1,9 +0,0 @@
1
- 'use strict';
2
-
3
- process.env.NODE_ENV = 'test';
4
- Error.stackTraceLimit = 20;
5
- global.expect = require('chai').expect;
6
- global.assert = require('chai').assert;
7
-
8
-
9
-
File without changes
File without changes
File without changes
File without changes
File without changes
package/test-raw.ts DELETED
@@ -1,73 +0,0 @@
1
- console.log("Testing BPMNClient raw");
2
-
3
-
4
- raw1();
5
-
6
- async function raw1() {
7
- var axios = require('axios');
8
- var data = JSON.stringify({ "items.status": "end", "items.elementId": "script_task" });
9
-
10
- var config = {
11
- method: 'get',
12
- url: 'http://localhost:3000/api/datastore/findItems',
13
- headers: {
14
- 'x-api-key': '12345',
15
- 'Content-Type': 'application/json',
16
- // 'Cookie': 'connect.sid=s%3AFJpzbs-nlVsxrhROzC_e0joMyopi6ke0.uoCjT87OZa3SOJosZxXCrC7zriAIVdMmtwcKsrY2C4I'
17
- },
18
- data: data
19
- };
20
- var response = await axios(config);
21
- console.log(response.data);
22
- /*
23
- axios(config)
24
- .then(function (response) {
25
- console.log('then',JSON.stringify(response.data));
26
- })
27
- .catch(function (error) {
28
- console.log('error',error);
29
- });
30
- */
31
- }
32
- async function raw() {
33
- console.log('raw');
34
- var https = require('follow-redirects').http;
35
- var fs = require('fs');
36
-
37
- var options = {
38
- 'method': 'GET',
39
- 'hostname': 'localhost',
40
- 'port': 3000,
41
- 'path': '/api/datastore/findItems',
42
- 'headers': {
43
- 'x-api-key': '12345',
44
- 'Content-Type': 'application/json',
45
- 'Cookie': 'connect.sid=s%3AFJpzbs-nlVsxrhROzC_e0joMyopi6ke0.uoCjT87OZa3SOJosZxXCrC7zriAIVdMmtwcKsrY2C4I'
46
- },
47
- 'maxRedirects': 20
48
- };
49
-
50
- var req = https.request(options, function (res) {
51
- var chunks = [];
52
-
53
- res.on("data", function (chunk) {
54
- console.log('data', chunk);
55
- chunks.push(chunk);
56
- });
57
-
58
- res.on("end", function (chunk) {
59
- var body = Buffer.concat(chunks);
60
- console.log('end',body.toString());
61
- });
62
-
63
- res.on("error", function (error) {
64
- console.error(error);
65
- });
66
- });
67
-
68
- var postData = JSON.stringify({ "items.status": "end", "items.elementId": "script_task" });
69
-
70
- req.write(postData);
71
-
72
- req.end();
73
- }
package/test.env DELETED
@@ -1,4 +0,0 @@
1
- API_KEY=12345
2
- HOST=test.omniworkflow.com
3
- PORT=443
4
- BASE_URL=api
package/test.js DELETED
@@ -1,258 +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 _1 = require("./");
13
- const fs = require("fs");
14
- const axios = require('axios');
15
- const FormData = require('form-data');
16
- uploadFile('Trans.bpmn');
17
- //-----------------------------------
18
- function uploadFile(file) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- var axios = require('axios');
21
- const fileContents = fs.createReadStream(file);
22
- const title = 'My file';
23
- const form = new FormData();
24
- form.append('title', 'title');
25
- form.append('file', fileContents);
26
- console.log(1);
27
- var postData = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"file\"; filename=\""
28
- + file + "\"\r\nContent-Type: \"text/plain\"\r\n\r\n" +
29
- fs.readFileSync(file) + "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--";
30
- // formData.append(postData);
31
- try {
32
- console.log(2, form);
33
- const response = yield axios.post('http://localhost:3000/api/definitions/import/test1', form, {
34
- headers: {
35
- "Content-Type": "multipart/form-data",
36
- "x-api-key": "12345",
37
- }
38
- });
39
- console.log(3);
40
- console.log('Response Status:', response.status, response.data);
41
- }
42
- catch (error) {
43
- console.log('ERROR------------');
44
- if (error.response) { // get response with a status code not in range 2xx
45
- console.log(error.response.data);
46
- console.log(error.response.status);
47
- console.log(error.response.headers);
48
- }
49
- else if (error.request) { // no response
50
- console.log(error.request);
51
- }
52
- else { // Something wrong in setting up the request
53
- console.log('Error', error.message);
54
- }
55
- console.log(error.config);
56
- }
57
- });
58
- }
59
- const readline = require("readline");
60
- const cl = readline.createInterface(process.stdin, process.stdout);
61
- const question = function (q) {
62
- return new Promise((res, rej) => {
63
- cl.question(q, answer => {
64
- res(answer);
65
- });
66
- });
67
- };
68
- //fun1();
69
- function fun1() {
70
- return __awaiter(this, void 0, void 0, function* () {
71
- yield fun2();
72
- });
73
- }
74
- function fun2() {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- try {
77
- yield fun3();
78
- }
79
- catch (exc) {
80
- console.log('error caught but not handled');
81
- }
82
- });
83
- }
84
- function fun3() {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- throw new Error('fun3');
87
- });
88
- }
89
- console.log("Testing BPMNClient");
90
- const dotenv = require('dotenv');
91
- const res = dotenv.config();
92
- console.log(res.parsed.PORT);
93
- //raw();
94
- const server = new _1.BPMNClient(process.env.HOST, res.parsed.PORT, process.env.API_KEY);
95
- //testMessage();
96
- // testImport();
97
- /*
98
- test1();
99
- end();
100
- */
101
- function raw() {
102
- return __awaiter(this, void 0, void 0, function* () {
103
- var https = require('follow-redirects').https;
104
- var fs = require('fs');
105
- var options = {
106
- 'method': 'GET',
107
- 'hostname': 'localhost',
108
- 'port': 3000,
109
- 'path': '/api/datastore/findItems',
110
- 'headers': {
111
- 'x-api-key': '12345',
112
- 'Content-Type': 'application/json',
113
- 'Cookie': 'connect.sid=s%3AFJpzbs-nlVsxrhROzC_e0joMyopi6ke0.uoCjT87OZa3SOJosZxXCrC7zriAIVdMmtwcKsrY2C4I'
114
- },
115
- 'maxRedirects': 20
116
- };
117
- var req = https.request(options, function (res) {
118
- var chunks = [];
119
- res.on("data", function (chunk) {
120
- chunks.push(chunk);
121
- });
122
- res.on("end", function (chunk) {
123
- var body = Buffer.concat(chunks);
124
- console.log(body.toString());
125
- });
126
- res.on("error", function (error) {
127
- console.error(error);
128
- });
129
- });
130
- var postData = JSON.stringify({ "items.status": "end", "items.elementId": "script_task" });
131
- req.write(postData);
132
- req.end();
133
- });
134
- }
135
- function end() {
136
- return __awaiter(this, void 0, void 0, function* () {
137
- yield question("continue");
138
- });
139
- }
140
- function test1() {
141
- return __awaiter(this, void 0, void 0, function* () {
142
- var items = yield server.definitions.list();
143
- items.forEach(item => {
144
- // console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
145
- });
146
- });
147
- }
148
- function testImport() {
149
- return __awaiter(this, void 0, void 0, function* () {
150
- var file = 'test-import';
151
- var path = '../webApp/processes/Trans.bpmn';
152
- var postData = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data;filename=\"" + path + "\"\r\nContent-Type: \"text/plain\"\r\n\r\n" + fs.readFileSync(file) + "\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--";
153
- console.log(postData);
154
- // var res = await upload('definitions/import/' + name, postData);
155
- if (res['errors']) {
156
- console.log(res['errors']);
157
- throw new Error(res['errors']);
158
- }
159
- });
160
- }
161
- function testImport2() {
162
- return __awaiter(this, void 0, void 0, function* () {
163
- console.log('calling');
164
- var file = '../webApp/processes/Trans.bpmn';
165
- let response = yield server.definitions.import('testing_123', file);
166
- console.log(response);
167
- });
168
- }
169
- function displayInstance(instanceId) {
170
- return __awaiter(this, void 0, void 0, function* () {
171
- let insts = yield server.datastore.findInstances({ id: instanceId });
172
- for (var i = 0; i < insts.length; i++) {
173
- let inst = insts[i];
174
- var items = inst.items;
175
- console.log(`name: ${inst.name} status: ${inst.status} instanceId: ${inst.id}
176
- startedAt: ${inst.startedAt} endedAt ${inst.endedAt}`, 'data:', inst.data);
177
- for (var j = 0; j < items.length; j++) {
178
- let item = items[j];
179
- console.log(`element: ${item.elementId} status: ${item.status} id: ${item.id}`);
180
- }
181
- }
182
- });
183
- }
184
- function testMessage() {
185
- return __awaiter(this, void 0, void 0, function* () {
186
- const messageId = 'Message-104';
187
- let messageData = {};
188
- console.log('calling');
189
- let response = yield server.engine.throwMessage(messageId, messageData);
190
- if (response['id'])
191
- return yield displayInstance(response['id']);
192
- else
193
- return null;
194
- });
195
- }
196
- function test() {
197
- return __awaiter(this, void 0, void 0, function* () {
198
- const server = new _1.BPMNClient(process.env.HOST, res.parsed.PORT, process.env.API_KEY);
199
- const caseId = 3040;
200
- var delResp = yield server.datastore.deleteInstances({ name: 'Buy Used Car' });
201
- //console.log(delResp);
202
- //return;
203
- var defs = yield server.definitions.list();
204
- console.log(defs);
205
- var def = yield server.definitions.load('Buy Used Car');
206
- console.log(def['elements']);
207
- //var instance = await server.engine.start("Buy Used Car", {});
208
- var instance = yield server.engine.start("Buy Used Car", { caseId: caseId });
209
- console.log("instance.id", instance.id, instance.name, instance.status, instance.data.caseId);
210
- var response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_Buy' }, { needsCleaning: "Yes", needsRepairs: "Yes" });
211
- console.log('after buy', response.id, response.data);
212
- response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_clean' }, {});
213
- console.log('after clean', response.id, response.data);
214
- response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_repair' }, {});
215
- console.log('after repair', response.id, response.data);
216
- try {
217
- response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_Drive' }, {});
218
- console.log('after drive', response.id, response.data);
219
- }
220
- catch (exc) {
221
- console.log(exc);
222
- }
223
- var items = yield server.datastore.findItems({ "items.status": "end", "items.elementId": "task_Buy" });
224
- items.forEach(item => {
225
- console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
226
- });
227
- var insts = yield server.datastore.findInstances({ data: { caseId: caseId } });
228
- insts.forEach(inst => {
229
- console.log('Inst for CaseId id==>' + inst.id, inst.name, inst.data.caseId, 'status==>', inst.status);
230
- });
231
- var insts = yield server.datastore.findInstances({ id: instance.id });
232
- insts.forEach(inst => {
233
- for (var i = 0; i < inst.items.length; i++) {
234
- var item = inst.items[i];
235
- console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
236
- }
237
- });
238
- var inst = yield server.engine.get({ id: instance.id });
239
- for (var i = 0; i < inst.items.length; i++) {
240
- var item = inst.items[i];
241
- console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
242
- }
243
- // var items = await server.datastore.findItems({ query: { "items.elementId": "task_Buy" } });
244
- var items = yield server.datastore.findItems({ id: instance.id });
245
- items.forEach(item => {
246
- console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
247
- });
248
- });
249
- }
250
- function delay(time, result) {
251
- return __awaiter(this, void 0, void 0, function* () {
252
- return new Promise(function (resolve) {
253
- setTimeout(function () {
254
- resolve(result);
255
- }, time);
256
- });
257
- });
258
- }