bpmn-client 1.2.0 → 1.2.1

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/Sample/.env ADDED
@@ -0,0 +1,4 @@
1
+ API_KEY=12345
2
+ HOST=test.omniworkflow.com
3
+ PORT=443
4
+ BASE_URL=api
@@ -0,0 +1,62 @@
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
+ }
@@ -0,0 +1,97 @@
1
+ import { BPMNClient } from "bpmn-client";
2
+
3
+ const dotenv = require('dotenv');
4
+ const res = dotenv.config();
5
+
6
+ console.log("Testing BPMNClient 3");
7
+
8
+ const http = require('http');
9
+
10
+
11
+ test();
12
+
13
+ async function test() {
14
+
15
+
16
+ console.log('-------- car.js -----------');
17
+
18
+
19
+ const server= new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
20
+ var caseId = Math.floor(Math.random() * 10000);
21
+
22
+ let name = 'Buy Used Car';
23
+ let instanceId;
24
+
25
+ var instance = await server.engine.start("Buy Used Car", { caseId: caseId });
26
+
27
+
28
+ console.log("instance.id", instance.id, instance.name, instance.status, instance.data.caseId);
29
+
30
+ var response = await server.engine.invoke(
31
+ { id: instance.id, "items.elementId": 'task_Buy' }
32
+ , { needsCleaning: "Yes", needsRepairs: "Yes" });
33
+
34
+ console.log('after buy', response.id, response.data);
35
+
36
+ response = await server.engine.invoke(
37
+ { id: instance.id, "items.elementId": 'task_clean' }
38
+ , {});
39
+
40
+ console.log('after clean', response.id, response.data);
41
+
42
+ response = await server.engine.invoke(
43
+ { id: instance.id, "items.elementId": 'task_repair' }
44
+ , {});
45
+
46
+ console.log('after repair', response.id, response.data);
47
+
48
+
49
+ try {
50
+ response = await server.engine.invoke(
51
+ { id: instance.id, "items.elementId": 'task_Drive' }
52
+ , {});
53
+
54
+ console.log('after drive', response.id, response.data);
55
+
56
+ }
57
+ catch (exc) {
58
+ console.log(exc);
59
+ }
60
+
61
+
62
+
63
+ var insts = await server.datastore.findInstances({ data: { caseId: caseId } });
64
+
65
+ insts.forEach(inst => {
66
+ console.log('Inst for CaseId id==>' + inst.id, inst.name, inst.data.caseId, 'status==>', inst.status);
67
+ });
68
+ var insts = await server.datastore.findInstances({ id: instance.id });
69
+
70
+ insts.forEach(inst => {
71
+ for (var i = 0; i < inst.items.length; i++) {
72
+ var item = inst.items[i];
73
+ console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
74
+
75
+ }
76
+ });
77
+
78
+ var inst = await server.engine.get({ id: instance.id });
79
+
80
+
81
+ for (var i = 0; i < inst.items.length; i++) {
82
+ var item = inst.items[i];
83
+ console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
84
+
85
+ }
86
+
87
+
88
+
89
+ // var items = await server.datastore.findItems({ query: { "items.elementId": "task_Buy" } });
90
+ var items = await server.datastore.findItems({ id: instance.id });
91
+
92
+
93
+ items.forEach(item => {
94
+ console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
95
+ });
96
+
97
+ }
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/mime": "^1.3.1",
35
- "@types/node": "^8.10.62",
35
+ "@types/node": "^8.10.66",
36
36
  "@types/serve-static": "^1.7.32",
37
37
  "nodemon": "^2.0.19",
38
38
  "ts-node": "^8.10.2",
package/Sample/test.js CHANGED
@@ -9,12 +9,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- const src_1 = require("bpmn-client/src/");
12
+ const bpmn_client_1 = require("bpmn-client");
13
+ console.log("Testing BPMNClient");
14
+ const dotenv = require('dotenv');
15
+ const res = dotenv.config();
13
16
  console.log("Testing BPMNClient");
14
17
  test();
15
18
  function test() {
16
19
  return __awaiter(this, void 0, void 0, function* () {
17
- const client = new src_1.BPMNClient('localhost', 3000, 12345);
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);
18
22
  var instance = yield client.engine.start("Buy Used Car", {});
19
23
  console.log("instance.id", instance.id, instance.name, instance.status);
20
24
  var insts = yield client.datastore.findInstances({ 'status': 'running' });
@@ -27,4 +31,3 @@ function test() {
27
31
  });
28
32
  });
29
33
  }
30
- //# sourceMappingURL=test.js.map
package/Sample/test.ts CHANGED
@@ -1,11 +1,16 @@
1
- import { BPMNClient } from "bpmn-client/src/";
1
+ import { BPMNClient } from "bpmn-client";
2
+
3
+ console.log("Testing BPMNClient");
4
+ const dotenv = require('dotenv');
5
+ const res = dotenv.config();
2
6
 
3
7
 
4
8
  console.log("Testing BPMNClient");
5
9
  test();
6
10
 
7
11
  async function test() {
8
- const client = new BPMNClient('localhost', 3000,12345);
12
+ //const client = new BPMNClient('localhost', 3000,12345);
13
+ const client= new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
9
14
  var instance = await client.engine.start("Buy Used Car", {} );
10
15
  console.log("instance.id", instance.id, instance.name,instance.status);
11
16
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpmn-client",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "build": "tsc --build",
@@ -42,6 +42,7 @@
42
42
  "typescript": "^3.9.7"
43
43
  },
44
44
  "engines": {
45
- "node": "^14.0.0"
45
+ "node": ">=12.0.0"
46
+
46
47
  }
47
48
  }
package/src/BPMNClient.js CHANGED
@@ -10,8 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ClientDefinitions = exports.ClientDatastore = exports.ClientEngine = exports.BPMNClient = void 0;
13
- const dotenv = require('dotenv');
14
- const res = dotenv.config();
15
13
  console.log("BPMNClient 1.2");
16
14
  const https = require('https');
17
15
  const http = require('http');
@@ -60,6 +58,7 @@ class BPMNClient extends WebService {
60
58
  this.apiKey = apiKey;
61
59
  this.engine = new ClientEngine(this);
62
60
  this.datastore = new ClientDatastore(this);
61
+ this.definitions = new ClientDefinitions(this);
63
62
  }
64
63
  get(url, data = {}) {
65
64
  return __awaiter(this, void 0, void 0, function* () {
@@ -119,9 +118,9 @@ class ClientEngine {
119
118
  constructor(client) {
120
119
  this.client = client;
121
120
  }
122
- start(name, data) {
121
+ start(name, data = {}, startNodeId = null, options = {}) {
123
122
  return __awaiter(this, void 0, void 0, function* () {
124
- const ret = yield this.client.post('engine/start', { name, data });
123
+ const ret = yield this.client.post('engine/start', { name, data, startNodeId, options });
125
124
  if (ret['errors']) {
126
125
  console.log(ret['errors']);
127
126
  throw new Error(ret['errors']);
@@ -141,6 +140,26 @@ class ClientEngine {
141
140
  return instance;
142
141
  });
143
142
  }
143
+ throwMessage(messageId, data) {
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ const ret = yield this.client.put('engine/throwMessage', { "messageId": messageId, "data": data });
146
+ if (ret['errors']) {
147
+ console.log(ret['errors']);
148
+ throw new Error(ret['errors']);
149
+ }
150
+ return ret;
151
+ });
152
+ }
153
+ throwSignal(signalId, data) {
154
+ return __awaiter(this, void 0, void 0, function* () {
155
+ const ret = yield this.client.put('engine/throwSignal', { "signalId": signalId, "data": data });
156
+ if (ret['errors']) {
157
+ console.log(ret['errors']);
158
+ throw new Error(ret['errors']);
159
+ }
160
+ return ret;
161
+ });
162
+ }
144
163
  get(query) {
145
164
  return __awaiter(this, void 0, void 0, function* () {
146
165
  const ret = yield this.client.get('engine/get', query);
package/src/BPMNClient.ts CHANGED
@@ -1,9 +1,5 @@
1
1
  import { IInstanceData, IItemData , IDefinitionData} from './interfaces/DataObjects';
2
2
 
3
-
4
- const dotenv = require('dotenv');
5
- const res = dotenv.config();
6
-
7
3
  console.log("BPMNClient 1.2");
8
4
 
9
5
  const https = require('https');
@@ -61,6 +57,8 @@ class BPMNClient extends WebService {
61
57
  apiKey;
62
58
  engine: ClientEngine;
63
59
  datastore: ClientDatastore;
60
+ definitions: ClientDefinitions;
61
+
64
62
  constructor(host, port, apiKey) {
65
63
  super();
66
64
  this.host = host;
@@ -68,6 +66,7 @@ class BPMNClient extends WebService {
68
66
  this.apiKey = apiKey;
69
67
  this.engine = new ClientEngine(this);
70
68
  this.datastore = new ClientDatastore(this);
69
+ this.definitions = new ClientDefinitions(this);
71
70
  }
72
71
 
73
72
  async get(url, data = {}) {
@@ -131,8 +130,9 @@ class ClientEngine {
131
130
  constructor(client) {
132
131
  this.client = client;
133
132
  }
134
- async start(name, data): Promise<IInstanceData> {
135
- const ret = await this.client.post('engine/start', { name, data });
133
+ async start(name, data = {} , startNodeId = null, options = {}): Promise<IInstanceData> {
134
+ const ret = await this.client.post('engine/start',
135
+ { name, data, startNodeId, options });
136
136
  if (ret['errors']) {
137
137
  console.log(ret['errors']);
138
138
  throw new Error(ret['errors']);
@@ -150,6 +150,23 @@ class ClientEngine {
150
150
  return instance;
151
151
  }
152
152
 
153
+ async throwMessage(messageId, data) {
154
+ const ret = await this.client.put('engine/throwMessage', { "messageId": messageId , "data": data });
155
+ if (ret['errors']) {
156
+ console.log(ret['errors']);
157
+ throw new Error(ret['errors']);
158
+ }
159
+ return ret;
160
+ }
161
+ async throwSignal(signalId, data) {
162
+ const ret = await this.client.put('engine/throwSignal', { "signalId": signalId, "data": data });
163
+ if (ret['errors']) {
164
+ console.log(ret['errors']);
165
+ throw new Error(ret['errors']);
166
+ }
167
+ return ret;
168
+ }
169
+
153
170
  async get(query): Promise<IInstanceData> {
154
171
  const ret = await this.client.get('engine/get', query);
155
172
  if (ret['errors']) {
package/test.js CHANGED
@@ -9,21 +9,56 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- const BPMNClient_1 = require("./src/BPMNClient");
12
+ const _1 = require("./");
13
13
  console.log("Testing BPMNClient");
14
+ const dotenv = require('dotenv');
15
+ const res = dotenv.config();
16
+ console.log(res);
14
17
  test();
15
18
  function test() {
16
19
  return __awaiter(this, void 0, void 0, function* () {
17
- const client = new BPMNClient_1.BPMNClient('localhost', 3000, 12345);
18
- var instance = yield client.engine.start("Buy Used Car", {});
19
- console.log("instance.id", instance.id, instance.name, instance.status);
20
- var insts = yield client.datastore.findInstances({ 'status': 'running' });
20
+ const server = new _1.BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
21
+ const caseId = 3040;
22
+ var defs = yield server.definitions.list();
23
+ console.log(defs);
24
+ var def = yield server.definitions.load('Buy Used Car');
25
+ console.log(def['elements']);
26
+ //var instance = await server.engine.start("Buy Used Car", {});
27
+ var instance = yield server.engine.start("Buy Used Car", { caseId: caseId });
28
+ console.log("instance.id", instance.id, instance.name, instance.status, instance.data.caseId);
29
+ var response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_Buy' }, { needsCleaning: "Yes", needsRepairs: "Yes" });
30
+ console.log('after buy', response.id, response.data);
31
+ response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_clean' }, {});
32
+ console.log('after clean', response.id, response.data);
33
+ response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_repair' }, {});
34
+ console.log('after repair', response.id, response.data);
35
+ try {
36
+ response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_Drive' }, {});
37
+ console.log('after drive', response.id, response.data);
38
+ }
39
+ catch (exc) {
40
+ console.log(exc);
41
+ }
42
+ var insts = yield server.datastore.findInstances({ data: { caseId: caseId } });
21
43
  insts.forEach(inst => {
22
- console.log('id==>' + inst.id, inst.name, 'status==>', inst.status);
44
+ console.log('Inst for CaseId id==>' + inst.id, inst.name, inst.data.caseId, 'status==>', inst.status);
23
45
  });
24
- var items = yield client.datastore.findItems({ query: { "items.elementId": "task_Buy" } });
46
+ var insts = yield server.datastore.findInstances({ id: instance.id });
47
+ insts.forEach(inst => {
48
+ for (var i = 0; i < inst.items.length; i++) {
49
+ var item = inst.items[i];
50
+ console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
51
+ }
52
+ });
53
+ var inst = yield server.engine.get({ id: instance.id });
54
+ for (var i = 0; i < inst.items.length; i++) {
55
+ var item = inst.items[i];
56
+ console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
57
+ }
58
+ // var items = await server.datastore.findItems({ query: { "items.elementId": "task_Buy" } });
59
+ var items = yield server.datastore.findItems({ id: instance.id });
25
60
  items.forEach(item => {
26
- console.log('item: id==>' + item.id, item.name, 'status==>', item.status);
61
+ console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
27
62
  });
28
63
  });
29
64
  }
package/test.ts CHANGED
@@ -1,27 +1,100 @@
1
- import { BPMNClient } from './src/BPMNClient';
1
+ import { BPMNClient } from './';
2
2
 
3
3
 
4
4
  console.log("Testing BPMNClient");
5
+ const dotenv = require('dotenv');
6
+ const res = dotenv.config();
7
+
8
+ console.log(res);
5
9
  test();
6
10
 
7
11
  async function test() {
8
- const client = new BPMNClient('localhost', 3000,12345);
9
- var instance = await client.engine.start("Buy Used Car", {} );
10
- console.log("instance.id", instance.id, instance.name,instance.status);
11
12
 
12
- var insts= await client.datastore.findInstances({ 'status': 'running' });
13
+ const server= new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
14
+
15
+ const caseId = 3040;
16
+
17
+ var defs = await server.definitions.list();
18
+
19
+ console.log(defs);
20
+ var def = await server.definitions.load('Buy Used Car');
21
+
22
+ console.log(def['elements']);
23
+
24
+ //var instance = await server.engine.start("Buy Used Car", {});
25
+
26
+ var instance = await server.engine.start("Buy Used Car", { caseId: caseId });
27
+
28
+
29
+ console.log("instance.id", instance.id, instance.name, instance.status, instance.data.caseId);
30
+
31
+ var response = await server.engine.invoke(
32
+ { id: instance.id, "items.elementId": 'task_Buy' }
33
+ , { needsCleaning: "Yes", needsRepairs: "Yes" });
34
+
35
+ console.log('after buy', response.id, response.data);
36
+
37
+ response = await server.engine.invoke(
38
+ { id: instance.id, "items.elementId": 'task_clean' }
39
+ , {});
40
+
41
+ console.log('after clean', response.id, response.data);
42
+
43
+ response = await server.engine.invoke(
44
+ { id: instance.id, "items.elementId": 'task_repair' }
45
+ , {});
46
+
47
+ console.log('after repair', response.id, response.data);
48
+
49
+
50
+ try {
51
+ response = await server.engine.invoke(
52
+ { id: instance.id, "items.elementId": 'task_Drive' }
53
+ , {});
54
+
55
+ console.log('after drive', response.id, response.data);
56
+
57
+ }
58
+ catch (exc) {
59
+ console.log(exc);
60
+ }
61
+
62
+
63
+
64
+ var insts = await server.datastore.findInstances({ data: { caseId: caseId } });
65
+
66
+ insts.forEach(inst => {
67
+ console.log('Inst for CaseId id==>' + inst.id, inst.name, inst.data.caseId, 'status==>', inst.status);
68
+ });
69
+ var insts = await server.datastore.findInstances({ id: instance.id });
13
70
 
14
71
  insts.forEach(inst => {
15
- console.log('id==>' + inst.id,inst.name, 'status==>',inst.status);
72
+ for (var i = 0; i < inst.items.length; i++) {
73
+ var item = inst.items[i];
74
+ console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
75
+
76
+ }
16
77
  });
17
78
 
79
+ var inst = await server.engine.get({ id: instance.id });
80
+
81
+
82
+ for (var i = 0; i < inst.items.length; i++) {
83
+ var item = inst.items[i];
84
+ console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
85
+
86
+ }
87
+
88
+
89
+
90
+ // var items = await server.datastore.findItems({ query: { "items.elementId": "task_Buy" } });
91
+ var items = await server.datastore.findItems({ id: instance.id });
18
92
 
19
- var items = await client.datastore.findItems({ query: { "items.elementId": "task_Buy" } });
20
93
 
21
-
22
94
  items.forEach(item => {
23
- console.log('item: id==>' + item.id, item.name, 'status==>', item.status);
95
+ console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
24
96
  });
25
97
 
26
98
  }
27
99
 
100
+
Binary file