From 2fb61ae46237e10248fdc62310c808dab5bef8da Mon Sep 17 00:00:00 2001 From: ralphhanna Date: Wed, 2 Sep 2026 21:11:55 -0400 Subject: [PATCH] security: remove caller-supplied identity (#4) Includes branch changelog. --- CHANGELOG.md | 6 +++++ README.md | 6 ++++- client-boundary.test.mjs | 16 +++++++++++++ dist/BPMNAdminClient2.d.ts | 12 +++++----- dist/BPMNAdminClient2.js | 22 +++++++++--------- dist/BPMNAdminClient2.js.map | 2 +- dist/BPMNAdminClientV1.d.ts | 2 +- dist/BPMNAdminClientV1.js | 4 ++-- dist/BPMNAdminClientV1.js.map | 2 +- dist/BPMNClient2.d.ts | 22 +++++++++--------- dist/BPMNClient2.js | 42 ++++++++++++++++++--------------- dist/BPMNClient2.js.map | 2 +- dist/BPMNClientV1.d.ts | 2 +- dist/BPMNClientV1.js | 4 ++-- dist/BPMNClientV1.js.map | 2 +- src/BPMNAdminClient2.ts | 22 +++++++++--------- src/BPMNAdminClientV1.ts | 4 ++-- src/BPMNClient2.ts | 44 ++++++++++++++++++----------------- src/BPMNClientV1.ts | 4 ++-- 19 files changed, 126 insertions(+), 94 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6e2518..700883f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ and here ### Changed --> +## Unreleased — Remove caller-supplied identity (#4) + +- Stop serializing workflow principals in request bodies. +- Allow versioned runtime and administration clients to carry bearer tokens. +- Leave principal resolution to the trusted server-side integration layer. + ## Unreleased — Canonical versioned API client (#3) - Add `BPMNClientV1` for the canonical `/api/v1` runtime contract. diff --git a/README.md b/README.md index 279201d..bacdd16 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,14 @@ import { BPMNClientV1, BPMNAdminClientV1 } from 'bpmn-client'; const runtime = new BPMNClientV1(host, port, apiKey); const admin = new BPMNAdminClientV1(host, port, adminApiKey); -await runtime.engine.start('order-approval', input, user); +await runtime.engine.start('order-approval', input); await admin.model.import('order-approval', './order-approval.bpmn'); ``` +User identity is never accepted as workflow request data. For interactive-user +authentication, pass a signed access token as the fourth `BPMNClientV1` +constructor argument; the server application's principal resolver validates it. + # Installation This installs bpmn-client-sample application along with `bpmn-client` diff --git a/client-boundary.test.mjs b/client-boundary.test.mjs index 5120c30..89aaedd 100644 --- a/client-boundary.test.mjs +++ b/client-boundary.test.mjs @@ -20,6 +20,22 @@ test('v1 clients use the canonical versioned routes', () => { assert.equal(new BPMNAdminClientV1('localhost', 3000, 'key').basePath, '/admin/api/v1/'); }); +test('v1 client never serializes caller-supplied identity', async () => { + const client = new BPMNClientV1('localhost', 3000, 'key'); + let body; + client.post = async (_path, value) => { body = value; return {}; }; + + await client.engine.start('process', { caseId: 1 }); + assert.equal(Object.hasOwn(body, 'user'), false); +}); + +test('v1 client can carry a token for an injected principal resolver', async () => { + const client = new BPMNClientV1('localhost', 3000, 'key', 'signed-token'); + client.invoke = async (_params, options) => options.headers; + const headers = await client.get('status', {}); + assert.equal(headers.Authorization, 'Bearer signed-token'); +}); + test('admin clients expose definition administration explicitly', () => { assert.ok(new BPMNAdminClient('localhost', 3000, 'key').definitions); assert.ok(new BPMNAdminClient2('localhost', 3000, 'key').model); diff --git a/dist/BPMNAdminClient2.d.ts b/dist/BPMNAdminClient2.d.ts index d27a346..57a97df 100644 --- a/dist/BPMNAdminClient2.d.ts +++ b/dist/BPMNAdminClient2.d.ts @@ -3,16 +3,16 @@ import { IDefinitionData } from './interfaces/DataObjects.js'; /** Privileged model-administration client for the authorized /api2 surface. */ declare class BPMNAdminClient2 extends BPMNClient2 { model: ClientModel2; - constructor(host: any, port: any, apiKey: any); + constructor(host: any, port: any, apiKey: any, accessToken?: any); } declare class ClientModel2 { private client; constructor(client: BPMNAdminClient2); - import(name: any, pathToBPMN: any, pathToSVG?: any, user?: any): Promise; - list(user?: any): Promise; - delete(name: any, user?: any): Promise; - rename(name: any, newName: any, user?: any): Promise; - load(name: any, user?: any): Promise; + import(name: any, pathToBPMN: any, pathToSVG?: any): Promise; + list(): Promise; + delete(name: any): Promise; + rename(name: any, newName: any): Promise; + load(name: any): Promise; private checkErrors; } export { BPMNAdminClient2, ClientModel2 }; diff --git a/dist/BPMNAdminClient2.js b/dist/BPMNAdminClient2.js index ab49db0..153ecb5 100644 --- a/dist/BPMNAdminClient2.js +++ b/dist/BPMNAdminClient2.js @@ -2,8 +2,8 @@ import { BPMNClient2 } from './BPMNClient2.js'; /** Privileged model-administration client for the authorized /api2 surface. */ class BPMNAdminClient2 extends BPMNClient2 { model; - constructor(host, port, apiKey) { - super(host, port, apiKey, '/admin/api2/'); + constructor(host, port, apiKey, accessToken = null) { + super(host, port, apiKey, '/admin/api2/', accessToken); this.model = new ClientModel2(this); } } @@ -12,7 +12,7 @@ class ClientModel2 { constructor(client) { this.client = client; } - async import(name, pathToBPMN, pathToSVG = null, user = undefined) { + async import(name, pathToBPMN, pathToSVG = null) { const options = { method: 'POST', host: this.client.host, @@ -25,23 +25,23 @@ class ClientModel2 { this.checkErrors(result); return result; } - async list(user = undefined) { - const result = await this.client.get('model/list', { user }); + async list() { + const result = await this.client.get('model/list', {}); this.checkErrors(result); return result; } - async delete(name, user = undefined) { - const result = await this.client.post('model/delete/', { name, user }); + async delete(name) { + const result = await this.client.post('model/delete/', { name }); this.checkErrors(result); return result; } - async rename(name, newName, user = undefined) { - const result = await this.client.post('model/rename/', { name, newName, user }); + async rename(name, newName) { + const result = await this.client.post('model/rename/', { name, newName }); this.checkErrors(result); return result; } - async load(name, user = undefined) { - const result = await this.client.get(encodeURI('model/load/' + name), { name, user }); + async load(name) { + const result = await this.client.get(encodeURI('model/load/' + name), { name }); this.checkErrors(result); return result; } diff --git a/dist/BPMNAdminClient2.js.map b/dist/BPMNAdminClient2.js.map index b4c5274..84ba769 100644 --- a/dist/BPMNAdminClient2.js.map +++ b/dist/BPMNAdminClient2.js.map @@ -1 +1 @@ -{"version":3,"file":"BPMNAdminClient2.js","sourceRoot":"","sources":["../src/BPMNAdminClient2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,+EAA+E;AAC/E,MAAM,gBAAiB,SAAQ,WAAW;IACtC,KAAK,CAAe;IAEpB,YAAY,IAAI,EAAE,IAAI,EAAE,MAAM;QAC1B,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACJ;AAED,MAAM,YAAY;IACN,MAAM,CAAmB;IAEjC,YAAY,MAAwB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,GAAG,IAAI,EAAE,IAAI,GAAG,SAAS;QAC7D,MAAM,OAAO,GAAG;YACZ,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,eAAe,GAAG,IAAI;YACnD,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5C,YAAY,EAAE,EAAE;SACnB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAkB,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAyB,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,SAAS;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAyB,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAyB,CAAC;IACrC,CAAC;IAEO,WAAW,CAAC,MAAM;QACtB,IAAI,MAAM,EAAE,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;CACJ;AAED,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"BPMNAdminClient2.js","sourceRoot":"","sources":["../src/BPMNAdminClient2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,+EAA+E;AAC/E,MAAM,gBAAiB,SAAQ,WAAW;IACtC,KAAK,CAAe;IAEpB,YAAY,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;QAC9C,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACJ;AAED,MAAM,YAAY;IACN,MAAM,CAAmB;IAEjC,YAAY,MAAwB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,GAAG,IAAI;QAC3C,MAAM,OAAO,GAAG;YACZ,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,eAAe,GAAG,IAAI;YACnD,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5C,YAAY,EAAE,EAAE;SACnB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAkB,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAI;QACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAyB,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAyB,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAI;QACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAyB,CAAC;IACrC,CAAC;IAEO,WAAW,CAAC,MAAM;QACtB,IAAI,MAAM,EAAE,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;CACJ;AAED,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC"} \ No newline at end of file diff --git a/dist/BPMNAdminClientV1.d.ts b/dist/BPMNAdminClientV1.d.ts index 4a7937b..1156dc1 100644 --- a/dist/BPMNAdminClientV1.d.ts +++ b/dist/BPMNAdminClientV1.d.ts @@ -1,6 +1,6 @@ import { BPMNAdminClient2 } from './BPMNAdminClient2.js'; /** Canonical privileged client for /admin/api/v1. */ declare class BPMNAdminClientV1 extends BPMNAdminClient2 { - constructor(host: any, port: any, apiKey: any); + constructor(host: any, port: any, apiKey: any, accessToken?: any); } export { BPMNAdminClientV1 }; diff --git a/dist/BPMNAdminClientV1.js b/dist/BPMNAdminClientV1.js index c2f1e87..947de9d 100644 --- a/dist/BPMNAdminClientV1.js +++ b/dist/BPMNAdminClientV1.js @@ -1,8 +1,8 @@ import { BPMNAdminClient2 } from './BPMNAdminClient2.js'; /** Canonical privileged client for /admin/api/v1. */ class BPMNAdminClientV1 extends BPMNAdminClient2 { - constructor(host, port, apiKey) { - super(host, port, apiKey); + constructor(host, port, apiKey, accessToken = null) { + super(host, port, apiKey, accessToken); this.basePath = '/admin/api/v1/'; } } diff --git a/dist/BPMNAdminClientV1.js.map b/dist/BPMNAdminClientV1.js.map index 50a024a..827938d 100644 --- a/dist/BPMNAdminClientV1.js.map +++ b/dist/BPMNAdminClientV1.js.map @@ -1 +1 @@ -{"version":3,"file":"BPMNAdminClientV1.js","sourceRoot":"","sources":["../src/BPMNAdminClientV1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,qDAAqD;AACrD,MAAM,iBAAkB,SAAQ,gBAAgB;IAC5C,YAAY,IAAI,EAAE,IAAI,EAAE,MAAM;QAC1B,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IACrC,CAAC;CACJ;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"BPMNAdminClientV1.js","sourceRoot":"","sources":["../src/BPMNAdminClientV1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,qDAAqD;AACrD,MAAM,iBAAkB,SAAQ,gBAAgB;IAC5C,YAAY,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;QAC9C,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IACrC,CAAC;CACJ;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"} \ No newline at end of file diff --git a/dist/BPMNClient2.d.ts b/dist/BPMNClient2.d.ts index 058dcce..5b94228 100644 --- a/dist/BPMNClient2.d.ts +++ b/dist/BPMNClient2.d.ts @@ -5,9 +5,10 @@ declare class BPMNClient2 extends WebService { port: any; apiKey: any; basePath: any; + accessToken: any; engine: ClientEngine2; data: ClientData2; - constructor(host: any, port: any, apiKey: any, basePath?: string); + constructor(host: any, port: any, apiKey: any, basePath?: string, accessToken?: any); get(url: any, params: any): Promise; post(url: any, params: any): Promise; put(url: any, params: any): Promise; @@ -17,16 +18,16 @@ declare class BPMNClient2 extends WebService { declare class ClientEngine2 { private client; constructor(client: any); - start(name: any, data: {}, user: any, options?: {}): Promise; - invoke(query: any, data: any, user: any, options?: {}): Promise; - assign(query: any, data: any, assignment: any, user: any): Promise; - throwMessage(messageId: any, data: {}, messageMatchingKey: {}, user: any, options: any): Promise; - throwSignal(signalId: any, data: {}, messageMatchingKey: {}, user: any, options: any): Promise; + start(name: any, data?: {}, options?: {}): Promise; + invoke(query: any, data: any, options?: {}): Promise; + assign(query: any, data: any, assignment: any): Promise; + throwMessage(messageId: any, data?: {}, messageMatchingKey?: {}, options?: {}): Promise; + throwSignal(signalId: any, data?: {}, messageMatchingKey?: {}, options?: {}): Promise; } declare class ClientData2 { private client; constructor(client: any); - find({ filter, sort, limit, after, projection, lastItem, latestItem, getTotalCount, user }: { + find({ filter, sort, limit, after, projection, lastItem, latestItem, getTotalCount }: { filter?: Record; after?: string; limit?: number; @@ -35,15 +36,14 @@ declare class ClientData2 { lastItem?: Record; latestItem?: Record; getTotalCount?: boolean; - user?: string; }): Promise<{ data?: any[]; nextCursor?: string | null; totalCount?: number; error?: string; }>; - findItems(query: any, user: any): Promise; - findInstances(query: any, user: any): Promise; - deleteInstances(query: any, user: any): Promise; + findItems(query: any): Promise; + findInstances(query: any): Promise; + deleteInstances(query: any): Promise; } export { BPMNClient2, ClientEngine2, ClientData2 }; diff --git a/dist/BPMNClient2.js b/dist/BPMNClient2.js index 0c3bd4e..2bf677a 100644 --- a/dist/BPMNClient2.js +++ b/dist/BPMNClient2.js @@ -4,14 +4,16 @@ class BPMNClient2 extends WebService { port; apiKey; basePath; + accessToken; engine; data; - constructor(host, port, apiKey, basePath = '/api2/') { + constructor(host, port, apiKey, basePath = '/api2/', accessToken = null) { super(); this.host = host; this.port = port; this.apiKey = apiKey; this.basePath = basePath; + this.accessToken = accessToken; this.engine = new ClientEngine2(this); this.data = new ClientData2(this); } @@ -45,6 +47,8 @@ class BPMNClient2 extends WebService { //, // "Content-Length": Buffer.byteLength(body) }; + if (this.accessToken) + headers['Authorization'] = `Bearer ${this.accessToken}`; var options; if (params) { options = { @@ -71,8 +75,8 @@ class ClientEngine2 { constructor(client) { this.client = client; } - async start(name, data = {}, user, options = {}) { - const ret = await this.client.post('engine/start', { name, data, user, options }); + async start(name, data = {}, options = {}) { + const ret = await this.client.post('engine/start', { name, data, options }); if (ret['errors']) { console.log(ret['errors']); throw new Error(ret['errors']); @@ -80,8 +84,8 @@ class ClientEngine2 { const instance = ret; return instance; } - async invoke(query, data, user, options = {}) { - const ret = await this.client.put('engine/invoke', { query, data, user, options }); + async invoke(query, data, options = {}) { + const ret = await this.client.put('engine/invoke', { query, data, options }); if (ret['errors']) { console.log(ret['errors']); throw new Error(ret['errors']); @@ -89,8 +93,8 @@ class ClientEngine2 { const instance = ret['instance']; return instance; } - async assign(query, data, assignment, user) { - const ret = await this.client.put('engine/assign', { query, data, assignment, user }); + async assign(query, data, assignment) { + const ret = await this.client.put('engine/assign', { query, data, assignment }); if (ret['errors']) { console.log(ret['errors']); throw new Error(ret['errors']); @@ -98,16 +102,16 @@ class ClientEngine2 { const instance = ret['instance']; return instance; } - async throwMessage(messageId, data = {}, messageMatchingKey = {}, user, options) { - const ret = await this.client.post('engine/throwMessage', { "messageId": messageId, "data": data, messageMatchingKey, user, options }); + async throwMessage(messageId, data = {}, messageMatchingKey = {}, options = {}) { + const ret = await this.client.post('engine/throwMessage', { messageId, data, messageMatchingKey, options }); if (ret['errors']) { console.log(ret['errors']); throw new Error(ret['errors']); } return ret; } - async throwSignal(signalId, data = {}, messageMatchingKey = {}, user, options) { - const ret = await this.client.post('engine/throwSignal', { "signalId": signalId, "data": data, messageMatchingKey, user, options }); + async throwSignal(signalId, data = {}, messageMatchingKey = {}, options = {}) { + const ret = await this.client.post('engine/throwSignal', { signalId, data, messageMatchingKey, options }); if (ret['errors']) { console.log(ret['errors']); throw new Error(ret['errors']); @@ -120,8 +124,8 @@ class ClientData2 { constructor(client) { this.client = client; } - async find({ filter, sort, limit, after, projection, lastItem, latestItem, getTotalCount, user }) { - var res = await this.client.get('datastore/find', { filter, after, limit, sort, projection, lastItem, latestItem, getTotalCount, user }); + async find({ filter, sort, limit, after, projection, lastItem, latestItem, getTotalCount }) { + var res = await this.client.get('datastore/find', { filter, after, limit, sort, projection, lastItem, latestItem, getTotalCount }); if (res.error) { console.log(res.error); throw new Error(res.error); @@ -129,8 +133,8 @@ class ClientData2 { } return res; } - async findItems(query, user) { - var res = await this.client.get('data/findItems', { query, user }); + async findItems(query) { + var res = await this.client.get('data/findItems', { query }); if (res['errors']) { console.log(res['errors']); throw new Error(res['errors']); @@ -138,8 +142,8 @@ class ClientData2 { const items = res['items']; return items; } - async findInstances(query, user) { - const res = await this.client.get('data/findInstances', { query, user }); + async findInstances(query) { + const res = await this.client.get('data/findInstances', { query }); if (res['errors']) { console.log(res['errors']); throw new Error(res['errors']); @@ -147,8 +151,8 @@ class ClientData2 { const instances = res['instances']; return instances; } - async deleteInstances(query, user) { - return await this.client.del('data/deleteInstances', { query, user }); + async deleteInstances(query) { + return await this.client.del('data/deleteInstances', { query }); } } export { BPMNClient2, ClientEngine2, ClientData2 }; diff --git a/dist/BPMNClient2.js.map b/dist/BPMNClient2.js.map index 1b34c3c..2918349 100644 --- a/dist/BPMNClient2.js.map +++ b/dist/BPMNClient2.js.map @@ -1 +1 @@ -{"version":3,"file":"BPMNClient2.js","sourceRoot":"","sources":["../src/BPMNClient2.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"BPMNClient2.js","sourceRoot":"","sources":["../src/BPMNClient2.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG3C,MAAM,WAAY,SAAQ,UAAU;IAChC,IAAI,CAAC;IACL,IAAI,CAAC;IACL,MAAM,CAAC;IACP,QAAQ,CAAC;IACT,WAAW,CAAC;IACZ,MAAM,CAAgB;IACtB,IAAI,CAAc;IAElB,YAAY,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,WAAW,GAAG,IAAI;QACnE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAG,EAAC,MAAM;QAChB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAElD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAC,MAAM;QACjB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnD,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAC,MAAM;QAChB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAElD,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM;QACjB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAErD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM;QAE7B,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,WAAW,GAAG,kBAAkB,CAAC;QAErC,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACrB,WAAW,GAAG,uEAAuE,CAAC;YACtF,MAAM,GAAG,MAAM,CAAC;QACpB,CAAC;QAED,IAAI,OAAO,GAAG;YACV,cAAc,EAAE,WAAW;YAC3B,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,QAAQ,EAAE,KAAK;YACf,iEAAiE;YACjE,iEAAiE;YACjE,YAAY,EAAE,YAAY;YAC1B,GAAG;YACH,4CAA4C;SAC/C,CAAC;QACF,IAAI,IAAI,CAAC,WAAW;YAChB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAG5D,IAAI,OAAO,CAAC;QAEZ,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,GAAG;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,GAAG;gBACzB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,OAAO;aACnB,CAAC;QACN,CAAC;aACI,CAAC;YACF,OAAO,GAAG;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,GAAG;gBACzB,MAAM,EAAE,MAAM;aACjB,CAAC;QACN,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9C,CAAC;CAEJ;AAED,MAAM,aAAa;IACP,MAAM,CAAc;IAE5B,YAAY,MAAM;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE;QACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAC7C,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7B,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,QAAQ,GAAG,GAAoB,CAAC;QACtC,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,GAAC,EAAE;QAChC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAC5C,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/B,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAkB,CAAC;QAClD,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU;QAChC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAC5C,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAClC,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAkB,CAAC;QAClD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,kBAAkB,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE;QAC1E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EACnD,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,kBAAkB,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE;QACxE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EACnD,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC;QAEjD,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;CAEJ;AACD,MAAM,WAAW;IACL,MAAM,CAAc;IAE5B,YAAY,MAAM;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EACP,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,EACL,UAAU,EACV,QAAQ,EACd,UAAU,EACJ,aAAa,EAUV;QAMP,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAC5C,EAAC,MAAM,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,aAAa,EAAC,CACzE,CAAC;QACF,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE3B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,GAAG,CAAC;IAEX,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAK;QACjB,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAC5C,EAAE,KAAK,EAAE,CAAC,CAAC;QAEf,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAgB,CAAC;QAC1C,OAAO,KAAK,CAAC;IAEjB,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,KAAK;QACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAClD,EAAE,KAAK,EAAE,CAAC,CAAC;QAEf,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAoB,CAAC;QACtD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,KAAK;QACvB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAC/C,EAAE,KAAK,EAAE,CAAC,CAAC;IACnB,CAAC;CACJ;AACD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA"} \ No newline at end of file diff --git a/dist/BPMNClientV1.d.ts b/dist/BPMNClientV1.d.ts index 8d0a6ff..426f6c9 100644 --- a/dist/BPMNClientV1.d.ts +++ b/dist/BPMNClientV1.d.ts @@ -1,6 +1,6 @@ import { BPMNClient2 } from './BPMNClient2.js'; /** Canonical client for the versioned, authorized /api/v1 contract. */ declare class BPMNClientV1 extends BPMNClient2 { - constructor(host: any, port: any, apiKey: any); + constructor(host: any, port: any, apiKey: any, accessToken?: any); } export { BPMNClientV1 }; diff --git a/dist/BPMNClientV1.js b/dist/BPMNClientV1.js index fa4d217..bce5afb 100644 --- a/dist/BPMNClientV1.js +++ b/dist/BPMNClientV1.js @@ -1,8 +1,8 @@ import { BPMNClient2 } from './BPMNClient2.js'; /** Canonical client for the versioned, authorized /api/v1 contract. */ class BPMNClientV1 extends BPMNClient2 { - constructor(host, port, apiKey) { - super(host, port, apiKey, '/api/v1/'); + constructor(host, port, apiKey, accessToken = null) { + super(host, port, apiKey, '/api/v1/', accessToken); } } export { BPMNClientV1 }; diff --git a/dist/BPMNClientV1.js.map b/dist/BPMNClientV1.js.map index 4141f89..99c4b51 100644 --- a/dist/BPMNClientV1.js.map +++ b/dist/BPMNClientV1.js.map @@ -1 +1 @@ -{"version":3,"file":"BPMNClientV1.js","sourceRoot":"","sources":["../src/BPMNClientV1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,uEAAuE;AACvE,MAAM,YAAa,SAAQ,WAAW;IAClC,YAAY,IAAI,EAAE,IAAI,EAAE,MAAM;QAC1B,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;CACJ;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"BPMNClientV1.js","sourceRoot":"","sources":["../src/BPMNClientV1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,uEAAuE;AACvE,MAAM,YAAa,SAAQ,WAAW;IAClC,YAAY,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;QAC9C,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;CACJ;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"} \ No newline at end of file diff --git a/src/BPMNAdminClient2.ts b/src/BPMNAdminClient2.ts index 6391550..04fb9fa 100644 --- a/src/BPMNAdminClient2.ts +++ b/src/BPMNAdminClient2.ts @@ -5,8 +5,8 @@ import { IDefinitionData } from './interfaces/DataObjects.js'; class BPMNAdminClient2 extends BPMNClient2 { model: ClientModel2; - constructor(host, port, apiKey) { - super(host, port, apiKey, '/admin/api2/'); + constructor(host, port, apiKey, accessToken = null) { + super(host, port, apiKey, '/admin/api2/', accessToken); this.model = new ClientModel2(this); } } @@ -18,7 +18,7 @@ class ClientModel2 { this.client = client; } - async import(name, pathToBPMN, pathToSVG = null, user = undefined) { + async import(name, pathToBPMN, pathToSVG = null) { const options = { method: 'POST', host: this.client.host, @@ -33,26 +33,26 @@ class ClientModel2 { return result; } - async list(user = undefined): Promise { - const result = await this.client.get('model/list', { user }); + async list(): Promise { + const result = await this.client.get('model/list', {}); this.checkErrors(result); return result as string[]; } - async delete(name, user = undefined): Promise { - const result = await this.client.post('model/delete/', { name, user }); + async delete(name): Promise { + const result = await this.client.post('model/delete/', { name }); this.checkErrors(result); return result as IDefinitionData; } - async rename(name, newName, user = undefined): Promise { - const result = await this.client.post('model/rename/', { name, newName, user }); + async rename(name, newName): Promise { + const result = await this.client.post('model/rename/', { name, newName }); this.checkErrors(result); return result as IDefinitionData; } - async load(name, user = undefined): Promise { - const result = await this.client.get(encodeURI('model/load/' + name), { name, user }); + async load(name): Promise { + const result = await this.client.get(encodeURI('model/load/' + name), { name }); this.checkErrors(result); return result as IDefinitionData; } diff --git a/src/BPMNAdminClientV1.ts b/src/BPMNAdminClientV1.ts index 57a2cc9..d07be0f 100644 --- a/src/BPMNAdminClientV1.ts +++ b/src/BPMNAdminClientV1.ts @@ -2,8 +2,8 @@ import { BPMNAdminClient2 } from './BPMNAdminClient2.js'; /** Canonical privileged client for /admin/api/v1. */ class BPMNAdminClientV1 extends BPMNAdminClient2 { - constructor(host, port, apiKey) { - super(host, port, apiKey); + constructor(host, port, apiKey, accessToken = null) { + super(host, port, apiKey, accessToken); this.basePath = '/admin/api/v1/'; } } diff --git a/src/BPMNClient2.ts b/src/BPMNClient2.ts index 8598af6..7346223 100644 --- a/src/BPMNClient2.ts +++ b/src/BPMNClient2.ts @@ -7,16 +7,18 @@ class BPMNClient2 extends WebService { port; apiKey; basePath; + accessToken; engine: ClientEngine2; data: ClientData2; - constructor(host, port, apiKey, basePath = '/api2/') { + constructor(host, port, apiKey, basePath = '/api2/', accessToken = null) { super(); this.host = host; this.port = port; this.apiKey = apiKey; this.basePath = basePath; + this.accessToken = accessToken; this.engine = new ClientEngine2(this); this.data = new ClientData2(this); } @@ -59,6 +61,8 @@ class BPMNClient2 extends WebService { //, // "Content-Length": Buffer.byteLength(body) }; + if (this.accessToken) + headers['Authorization'] = `Bearer ${this.accessToken}`; var options; @@ -93,9 +97,9 @@ class ClientEngine2 { constructor(client) { this.client = client; } - async start(name, data = {}, user ,options = {}): Promise { + async start(name, data = {}, options = {}): Promise { const ret = await this.client.post('engine/start', - { name, data, user, options }); + { name, data, options }); if (ret['errors']) { console.log(ret['errors']); throw new Error(ret['errors']); @@ -103,9 +107,9 @@ class ClientEngine2 { const instance = ret as IInstanceData; return instance; } - async invoke(query, data, user,options={}): Promise { + async invoke(query, data, options={}): Promise { const ret = await this.client.put('engine/invoke', - { query, data , user ,options }); + { query, data, options }); if (ret['errors']) { console.log(ret['errors']); throw new Error(ret['errors']); @@ -113,9 +117,9 @@ class ClientEngine2 { const instance = ret['instance'] as IInstanceData; return instance; } - async assign(query, data, assignment,user): Promise { + async assign(query, data, assignment): Promise { const ret = await this.client.put('engine/assign', - { query, data ,assignment, user }); + { query, data, assignment }); if (ret['errors']) { console.log(ret['errors']); throw new Error(ret['errors']); @@ -124,18 +128,18 @@ class ClientEngine2 { return instance; } - async throwMessage(messageId, data = {} , messageMatchingKey = {} ,user, options) { + async throwMessage(messageId, data = {}, messageMatchingKey = {}, options = {}) { const ret = await this.client.post('engine/throwMessage', - { "messageId": messageId, "data": data, messageMatchingKey,user,options }); + { messageId, data, messageMatchingKey, options }); if (ret['errors']) { console.log(ret['errors']); throw new Error(ret['errors']); } return ret; } - async throwSignal(signalId, data = {} , messageMatchingKey = {} ,user, options) { + async throwSignal(signalId, data = {}, messageMatchingKey = {}, options = {}) { const ret = await this.client.post('engine/throwSignal', - { "signalId": signalId, "data": data, messageMatchingKey,user,options }); + { signalId, data, messageMatchingKey, options }); if (ret['errors']) { console.log(ret['errors']); @@ -159,8 +163,7 @@ class ClientData2 { projection, lastItem, latestItem, - getTotalCount, - user}: + getTotalCount}: { filter?: Record; after?: string; @@ -170,7 +173,6 @@ class ClientData2 { lastItem?: Record; latestItem?: Record; getTotalCount?: boolean; // if true, return total count of items in the result set - user?:string; } ) : Promise< { data?: any[]; @@ -178,7 +180,7 @@ class ClientData2 { totalCount?: number; error?: string; }> { var res = await this.client.get('datastore/find', - {filter,after,limit,sort,projection,lastItem,latestItem,getTotalCount,user} + {filter,after,limit,sort,projection,lastItem,latestItem,getTotalCount} ); if (res.error) { console.log(res.error); @@ -190,9 +192,9 @@ class ClientData2 { } - async findItems(query,user): Promise { + async findItems(query): Promise { var res = await this.client.get('data/findItems', - {query,user}); + { query }); if (res['errors']) { console.log(res['errors']); @@ -202,9 +204,9 @@ class ClientData2 { return items; } - async findInstances(query,user): Promise { + async findInstances(query): Promise { const res = await this.client.get('data/findInstances', - {query,user}); + { query }); if (res['errors']) { console.log(res['errors']); @@ -213,9 +215,9 @@ class ClientData2 { const instances = res['instances'] as IInstanceData[]; return instances; } - async deleteInstances(query,user) { + async deleteInstances(query) { return await this.client.del('data/deleteInstances', - {query,user}); + { query }); } } export { BPMNClient2, ClientEngine2, ClientData2 } diff --git a/src/BPMNClientV1.ts b/src/BPMNClientV1.ts index 9ef7cb8..db1bce8 100644 --- a/src/BPMNClientV1.ts +++ b/src/BPMNClientV1.ts @@ -2,8 +2,8 @@ import { BPMNClient2 } from './BPMNClient2.js'; /** Canonical client for the versioned, authorized /api/v1 contract. */ class BPMNClientV1 extends BPMNClient2 { - constructor(host, port, apiKey) { - super(host, port, apiKey, '/api/v1/'); + constructor(host, port, apiKey, accessToken = null) { + super(host, port, apiKey, '/api/v1/', accessToken); } }