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 +4 -0
- package/Sample/CarExample.js +62 -0
- package/Sample/CarExample.ts +97 -0
- package/Sample/package.json +1 -1
- package/Sample/test.js +6 -3
- package/Sample/test.ts +7 -2
- package/package.json +3 -2
- package/src/BPMNClient.js +23 -4
- package/src/BPMNClient.ts +23 -6
- package/test.js +43 -8
- package/test.ts +82 -9
- package/bpmn-client-1.2.0.tgz +0 -0
package/Sample/.env
ADDED
|
@@ -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
|
+
}
|
package/Sample/package.json
CHANGED
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
|
|
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
|
|
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
|
|
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.
|
|
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": "
|
|
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',
|
|
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
|
|
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
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
|
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.
|
|
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 './
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
95
|
+
console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
|
|
24
96
|
});
|
|
25
97
|
|
|
26
98
|
}
|
|
27
99
|
|
|
100
|
+
|
package/bpmn-client-1.2.0.tgz
DELETED
|
Binary file
|