@camunda8/sdk 8.7.1 → 8.7.3
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/CHANGELOG.md +20 -0
- package/README.md +15 -0
- package/dist/admin/lib/AdminApiClient.js +2 -2
- package/dist/admin/lib/AdminApiClient.js.map +1 -1
- package/dist/c8/lib/C8Dto.d.ts +13 -3
- package/dist/c8/lib/C8Dto.js +1 -1
- package/dist/c8/lib/C8Dto.js.map +1 -1
- package/dist/c8/lib/CamundaJobWorker.d.ts +1 -0
- package/dist/c8/lib/CamundaJobWorker.js +25 -4
- package/dist/c8/lib/CamundaJobWorker.js.map +1 -1
- package/dist/c8/lib/CamundaRestClient.d.ts +15 -12
- package/dist/c8/lib/CamundaRestClient.js +79 -38
- package/dist/c8/lib/CamundaRestClient.js.map +1 -1
- package/dist/lib/Configuration.d.ts +7 -1
- package/dist/lib/Configuration.js +30 -3
- package/dist/lib/Configuration.js.map +1 -1
- package/dist/lib/ConstructOAuthProvider.d.ts +2 -2
- package/dist/lib/ConstructOAuthProvider.js +4 -0
- package/dist/lib/ConstructOAuthProvider.js.map +1 -1
- package/dist/modeler/lib/ModelerAPIClient.js +1 -1
- package/dist/modeler/lib/ModelerAPIClient.js.map +1 -1
- package/dist/oauth/index.d.ts +1 -0
- package/dist/oauth/index.js +3 -1
- package/dist/oauth/index.js.map +1 -1
- package/dist/oauth/lib/BasicAuthProvider.d.ts +3 -1
- package/dist/oauth/lib/BasicAuthProvider.js +1 -1
- package/dist/oauth/lib/BasicAuthProvider.js.map +1 -1
- package/dist/oauth/lib/BearerAuthProvider.d.ts +3 -1
- package/dist/oauth/lib/BearerAuthProvider.js +1 -1
- package/dist/oauth/lib/BearerAuthProvider.js.map +1 -1
- package/dist/oauth/lib/CookieAuthProvider.d.ts +17 -0
- package/dist/oauth/lib/CookieAuthProvider.js +41 -0
- package/dist/oauth/lib/CookieAuthProvider.js.map +1 -0
- package/dist/oauth/lib/IOAuthProvider.d.ts +5 -1
- package/dist/oauth/lib/NullAuthProvider.d.ts +3 -1
- package/dist/oauth/lib/NullAuthProvider.js +1 -1
- package/dist/oauth/lib/NullAuthProvider.js.map +1 -1
- package/dist/oauth/lib/OAuthProvider.d.ts +3 -1
- package/dist/oauth/lib/OAuthProvider.js +1 -1
- package/dist/oauth/lib/OAuthProvider.js.map +1 -1
- package/dist/operate/lib/OperateApiClient.js +1 -1
- package/dist/operate/lib/OperateApiClient.js.map +1 -1
- package/dist/optimize/lib/OptimizeApiClient.js +1 -3
- package/dist/optimize/lib/OptimizeApiClient.js.map +1 -1
- package/dist/tasklist/lib/TasklistApiClient.js +1 -1
- package/dist/tasklist/lib/TasklistApiClient.js.map +1 -1
- package/dist/zeebe/lib/GrpcClient.js +1 -1
- package/dist/zeebe/lib/GrpcClient.js.map +1 -1
- package/dist/zeebe/zb/ZeebeRESTClient.js +1 -1
- package/dist/zeebe/zb/ZeebeRESTClient.js.map +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
## [8.7.3](https://github.com/camunda/camunda-8-js-sdk/compare/v8.7.2...v8.7.3) (2025-05-05)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* change CorrelateMessageResponse Dto. fixes [#433](https://github.com/camunda/camunda-8-js-sdk/issues/433) ([c1f1fdc](https://github.com/camunda/camunda-8-js-sdk/commit/c1f1fdc76a1e88c5909993ed996d0ac00b656f3c))
|
|
7
|
+
* created self-signed cert valid for 100 years ([4bdbab9](https://github.com/camunda/camunda-8-js-sdk/commit/4bdbab95e9a1749a606ce84a34a42ae7c290c3b4))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* add Cookie auth to support c8run ([1ee9ad1](https://github.com/camunda/camunda-8-js-sdk/commit/1ee9ad1f0e1e77ddf3e86c7a7b00f2a95bcb2726))
|
|
13
|
+
|
|
14
|
+
## [8.7.2](https://github.com/camunda/camunda-8-js-sdk/compare/v8.7.1...v8.7.2) (2025-04-28)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* make activeJobs REST calls cancelable. fixes [#424](https://github.com/camunda/camunda-8-js-sdk/issues/424) ([7cf5e6d](https://github.com/camunda/camunda-8-js-sdk/commit/7cf5e6df1293db5a13e2427537576450e44f919c))
|
|
20
|
+
|
|
1
21
|
## [8.7.1](https://github.com/camunda/camunda-8-js-sdk/compare/v8.7.0...v8.7.1) (2025-04-23)
|
|
2
22
|
|
|
3
23
|
|
package/README.md
CHANGED
|
@@ -91,6 +91,21 @@ CAMUNDA_AUTH_STRATEGY=BEARER
|
|
|
91
91
|
CAMUNDA_OAUTH_TOKEN=....
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
+
### Cookie Auth
|
|
95
|
+
|
|
96
|
+
For C8Run with 8.7, you need to use [Cookie Authentication](https://docs.camunda.io/docs/apis-tools/camunda-api-rest/camunda-api-rest-authentication/#authentication-via-cookie-c8run-only).
|
|
97
|
+
|
|
98
|
+
To use cookie auth, set the following value:
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
CAMUNDA_AUTH_STRATEGY=COOKIE
|
|
102
|
+
|
|
103
|
+
# Optional configurable values - these are the defaults
|
|
104
|
+
CAMUNDA_AUTH_COOKIE_URL=http://localhost:8080/api/login
|
|
105
|
+
CAMUNDA_AUTH_COOKIE_USERNAME=demo
|
|
106
|
+
CAMUNDA_AUTH_COOKIE_PASSWORD=demo
|
|
107
|
+
```
|
|
108
|
+
|
|
94
109
|
### OAuth
|
|
95
110
|
|
|
96
111
|
If your platform is secured with OAuth token exchange (Camunda SaaS or Self-Managed with Identity), provide the following configuration fields at a minimum, either via the `Camunda8` constructor or in environment variables:
|
|
@@ -37,10 +37,10 @@ class AdminApiClient {
|
|
|
37
37
|
debug('prefixUrl', `${prefixUrl}`);
|
|
38
38
|
}
|
|
39
39
|
async getHeaders() {
|
|
40
|
-
const
|
|
40
|
+
const authorization = await this.oAuthProvider.getToken('CONSOLE');
|
|
41
41
|
const headers = {
|
|
42
42
|
'content-type': 'application/json',
|
|
43
|
-
authorization
|
|
43
|
+
...authorization,
|
|
44
44
|
'user-agent': this.userAgentString,
|
|
45
45
|
accept: '*/*',
|
|
46
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminApiClient.js","sourceRoot":"","sources":["../../../src/admin/lib/AdminApiClient.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAqB;AACrB,8CAAqB;AAErB,mCAYkB;AAKlB,MAAM,KAAK,GAAG,IAAA,eAAC,EAAC,sBAAsB,CAAC,CAAA;AAEvC;;;GAGG;AACH,MAAa,cAAc;IAK1B,YAAY,OAGX;QACA,MAAM,MAAM,GAAG,oCAA8B,CAAC,0BAA0B,CACvE,OAAO,EAAE,MAAM,IAAI,EAAE,CACrB,CAAA;QACD,MAAM,SAAS,GAAG,IAAA,0BAAoB,EACrC,MAAM,CAAC,wBAAwB,EAC/B,0BAA0B,CAC1B,CAAA;QAED,IAAI,CAAC,aAAa;YACjB,OAAO,EAAE,aAAa,IAAI,IAAA,4BAAsB,EAAC,MAAM,CAAC,CAAA;QAEzD,IAAI,CAAC,eAAe,GAAG,IAAA,2BAAqB,EAAC,MAAM,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,GAAG,IAAA,gCAA0B,EAAC,MAAM,CAAC,CAAC,IAAI,CAClD,CAAC,oBAAoB,EAAE,EAAE,CACxB,aAAG,CAAC,MAAM,CAAC;YACV,SAAS;YACT,KAAK,EAAE,oBAAc;YACrB,KAAK,EAAE;gBACN,oBAAoB;aACpB;YACD,QAAQ,EAAE,CAAC,qBAAe,CAAC;YAC3B,KAAK,EAAE;gBACN,WAAW,EAAE;oBACZ,IAAA,4CAAsC,EACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1B;iBACD;gBACD,WAAW,EAAE,CAAC,wBAAkB,CAAC;gBACjC,aAAa,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;aACtC;SACD,CAAC,CACH,CAAA;QACD,KAAK,CAAC,WAAW,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA;IACnC,CAAC;IAEO,KAAK,CAAC,UAAU;QACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"AdminApiClient.js","sourceRoot":"","sources":["../../../src/admin/lib/AdminApiClient.ts"],"names":[],"mappings":"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"}
|
package/dist/c8/lib/C8Dto.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { ReadStream } from 'fs';
|
|
4
4
|
import { LosslessNumber } from 'lossless-json';
|
|
5
5
|
import { LosslessDto } from '../../lib';
|
|
6
|
-
import { ICustomHeaders, IInputVariables, JSONDoc } from '../../zeebe/types';
|
|
6
|
+
import { ICustomHeaders, IInputVariables, IProcessVariables, JobCompletionInterfaceRest, JSONDoc } from '../../zeebe/types';
|
|
7
7
|
export declare class RestApiJob<Variables = LosslessDto, CustomHeaders = LosslessDto> extends LosslessDto {
|
|
8
8
|
jobKey: string;
|
|
9
9
|
type: string;
|
|
@@ -166,7 +166,7 @@ export interface UpdateElementVariableRequest {
|
|
|
166
166
|
}
|
|
167
167
|
export declare class CorrelateMessageResponse extends LosslessDto {
|
|
168
168
|
/** the unique ID of the message that was published */
|
|
169
|
-
|
|
169
|
+
messageKey: string;
|
|
170
170
|
/** the tenantId of the message */
|
|
171
171
|
tenantId: string;
|
|
172
172
|
/** The key of the first process instance the message correlated with */
|
|
@@ -283,6 +283,7 @@ export interface RestJob<Variables = IInputVariables, CustomHeaderShape = ICusto
|
|
|
283
283
|
*/
|
|
284
284
|
readonly tenantId: string;
|
|
285
285
|
}
|
|
286
|
+
export type JobWithMethods<VariablesDto, CustomHeadersDto> = RestJob<VariablesDto, CustomHeadersDto> & JobCompletionInterfaceRest<IProcessVariables>;
|
|
286
287
|
interface SearchPageRequestSearchAfter {
|
|
287
288
|
from: number;
|
|
288
289
|
limit: number;
|
|
@@ -830,7 +831,7 @@ export declare class EvaluateDecisionResponse extends LosslessDto {
|
|
|
830
831
|
decisionInstanceKey: string;
|
|
831
832
|
evaluatedDecisions: EvaluatedDecision[];
|
|
832
833
|
}
|
|
833
|
-
export interface
|
|
834
|
+
export interface BaseApiEndpointRequest<T> {
|
|
834
835
|
method: 'GET' | 'POST' | 'PUT' | 'DELETE';
|
|
835
836
|
/** The URL path of the API endpoint. */
|
|
836
837
|
urlPath: string;
|
|
@@ -849,4 +850,13 @@ export interface ApiEndpointRequest<T> {
|
|
|
849
850
|
/** A custom JSON parsing function */
|
|
850
851
|
parseJson?: typeof JSON.parse;
|
|
851
852
|
}
|
|
853
|
+
export interface JsonApiEndpointRequest<T> extends BaseApiEndpointRequest<T> {
|
|
854
|
+
/** JSON-parse response? Default: true */
|
|
855
|
+
json?: true | undefined;
|
|
856
|
+
}
|
|
857
|
+
export interface RawApiEndpointRequest<T> extends BaseApiEndpointRequest<T> {
|
|
858
|
+
/** JSON-parse response? */
|
|
859
|
+
json: false;
|
|
860
|
+
}
|
|
861
|
+
export type ApiEndpointRequest<T> = JsonApiEndpointRequest<T> | RawApiEndpointRequest<T>;
|
|
852
862
|
export {};
|
package/dist/c8/lib/C8Dto.js
CHANGED
|
@@ -84,7 +84,7 @@ class CorrelateMessageResponse extends lib_1.LosslessDto {
|
|
|
84
84
|
exports.CorrelateMessageResponse = CorrelateMessageResponse;
|
|
85
85
|
__decorate([
|
|
86
86
|
lib_1.Int64String
|
|
87
|
-
], CorrelateMessageResponse.prototype, "
|
|
87
|
+
], CorrelateMessageResponse.prototype, "messageKey", void 0);
|
|
88
88
|
__decorate([
|
|
89
89
|
lib_1.Int64String
|
|
90
90
|
], CorrelateMessageResponse.prototype, "processInstanceKey", void 0);
|
package/dist/c8/lib/C8Dto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"C8Dto.js","sourceRoot":"","sources":["../../../src/c8/lib/C8Dto.ts"],"names":[],"mappings":";;;;;;;;;AAIA,mCAA8D;
|
|
1
|
+
{"version":3,"file":"C8Dto.js","sourceRoot":"","sources":["../../../src/c8/lib/C8Dto.ts"],"names":[],"mappings":";;;;;;;;;AAIA,mCAA8D;AAS9D,MAAa,UAGX,SAAQ,iBAAW;CAoBpB;AAvBD,gCAuBC;AAlBA;IADC,iBAAW;0CACG;AAGf;IADC,iBAAW;sDACe;AAI3B;IADC,iBAAW;wDACiB;AAG7B;IADC,iBAAW;sDACe;AAK3B;IADC,iBAAW;4CACK;AAuClB,MAAa,iBAAkB,SAAQ,iBAAW;CAOjD;AAPD,8CAOC;AAHA;IADC,iBAAW;+DACiB;AAK9B,MAAa,kBAAmB,SAAQ,iBAAW;CAUlD;AAVD,gDAUC;AANA;IADC,iBAAW;uDACQ;AAKpB;IADC,iBAAW;sEACuB;AAGpC,MAAa,8BAA+B,SAAQ,iBAAW;CAQ9D;AARD,wEAQC;AAFA;IADC,iBAAW;kFACuB;AAGpC,MAAa,cAAc;CAO1B;AAPD,wCAOC;AAHA;IADC,iBAAW;+CACI;AAKjB,MAAa,yBAA0B,SAAQ,iBAAW;CAUzD;AAVD,8DAUC;AARA;IADC,iBAAW;gEACU;AAUvB,MAAa,sBAAuB,SAAQ,yBAAyB;CAKpE;AALD,wDAKC;AAED,MAAa,6BAA6B;CAyBzC;AAzBD,sEAyBC;AAnBS;IADR,iBAAW;2EAC0B;AAU7B;IADR,iBAAW;yEACwB;AA8BrC,gCAAgC;AAChC,MAAa,uBAAwB,SAAQ,iBAAW;CAMvD;AAND,0DAMC;AAHA;IAFC,iBAAW;IACZ,sDAAsD;0DACpC;AA4BnB,MAAa,wBAAyB,SAAQ,iBAAW;CASxD;AATD,4DASC;AANA;IADC,iBAAW;4DACO;AAKnB;IADC,iBAAW;oEACe;AAG5B,MAAa,sBAAuB,SAAQ,iBAAW;CAMtD;AAND,wDAMC;AAHA;IADC,iBAAW;mDACA;AAolBb,MAAa,sBAAuB,SAAQ,iBAAW;IAAvD;;QACC,uDAAuD;QACvD,KAAC,uBAAuB,CAAC,GAAG,SAAS,CAAA;IAQtC,CAAC;CAAA;AAVD,wDAUC;AAED,MAAa,uBAAuB;CAUnC;AAVD,0DAUC;AAuED,MAAa,eAAgB,SAAQ,iBAAW;CAO/C;AAPD,0CAOC;AAED,MAAa,WAAY,SAAQ,iBAAW;CAO3C;AAPD,kCAOC;AADA;IADC,IAAA,cAAQ,EAAC,eAAe,CAAC;qDACU;AAGrC,MAAa,cAAe,SAAQ,iBAAW;CAO9C;AAPD,wCAOC;AAED,MAAa,iBAAkB,SAAQ,iBAAW;CAmBjD;AAnBD,8CAmBC;AALA;IADC,IAAA,cAAQ,EAAC,WAAW,CAAC;uDACM;AAE5B;IADC,IAAA,cAAQ,EAAC,cAAc,CAAC;0DACS;AAKnC,MAAa,wBAAyB,SAAQ,iBAAW;CAyBxD;AAzBD,4DAyBC;AADA;IADC,IAAA,cAAQ,EAAC,iBAAiB,CAAC;oEACY"}
|
|
@@ -51,6 +51,7 @@ export declare class CamundaJobWorker<VariablesDto extends LosslessDto, CustomHe
|
|
|
51
51
|
currentload: number;
|
|
52
52
|
};
|
|
53
53
|
stopping: boolean;
|
|
54
|
+
private activePoll?;
|
|
54
55
|
constructor(config: CamundaJobWorkerConfig<VariablesDto, CustomHeadersDto>, restClient: CamundaRestClient);
|
|
55
56
|
start(): void;
|
|
56
57
|
/** Stops the Job Worker polling for more jobs. If await this call, and it will return as soon as all currently active jobs are completed.
|
|
@@ -48,6 +48,26 @@ class CamundaJobWorker extends events_1.EventEmitter {
|
|
|
48
48
|
clearTimeout(this.backoffTimer);
|
|
49
49
|
/** Do not allow the backoff retry to restart polling */
|
|
50
50
|
clearTimeout(this.backoffTimer);
|
|
51
|
+
// Cancel the active poll if it exists
|
|
52
|
+
// See: https://github.com/camunda/camunda-8-js-sdk/issues/424
|
|
53
|
+
if (this.activePoll && !this.activePoll.isCanceled) {
|
|
54
|
+
// I'm not sure that this will actually catch any thrown error, because the cancellation happens in a different context.
|
|
55
|
+
try {
|
|
56
|
+
this.activePoll.cancel('Worker stopped');
|
|
57
|
+
this.log.debug(`Active poll cancelled`, this.logMeta());
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
this.log.error(
|
|
61
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
62
|
+
`Error while cancelling active poll: ${error.message}`, {
|
|
63
|
+
error,
|
|
64
|
+
...this.logMeta(),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
this.activePoll = undefined;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
51
71
|
return new Promise((resolve, reject) => {
|
|
52
72
|
if (this.currentlyActiveJobCount === 0) {
|
|
53
73
|
this.log.debug(`All jobs drained. Worker stopped.`, this.logMeta());
|
|
@@ -90,11 +110,11 @@ class CamundaJobWorker extends events_1.EventEmitter {
|
|
|
90
110
|
}
|
|
91
111
|
this.log.trace(`Polling for jobs`, this.logMeta());
|
|
92
112
|
const remainingJobCapacity = this.config.maxJobsToActivate - this.currentlyActiveJobCount;
|
|
93
|
-
this.restClient
|
|
94
|
-
.activateJobs({
|
|
113
|
+
this.activePoll = this.restClient.activateJobs({
|
|
95
114
|
...this.config,
|
|
96
115
|
maxJobsToActivate: remainingJobCapacity,
|
|
97
|
-
})
|
|
116
|
+
});
|
|
117
|
+
this.activePoll
|
|
98
118
|
.then((jobs) => {
|
|
99
119
|
const count = jobs.length;
|
|
100
120
|
this.currentlyActiveJobCount += count;
|
|
@@ -106,12 +126,13 @@ class CamundaJobWorker extends events_1.EventEmitter {
|
|
|
106
126
|
this.backoffRetryCount = 0;
|
|
107
127
|
})
|
|
108
128
|
.catch((e) => {
|
|
109
|
-
// This can throw a 400 or 500 REST Error with the Content-Type application/problem+json
|
|
129
|
+
// This can throw a 400, 401, or 500 REST Error with the Content-Type application/problem+json
|
|
110
130
|
// The schema is:
|
|
111
131
|
// { type: string, title: string, status: number, detail: string, instance: string }
|
|
112
132
|
this.log.error('Error during job worker poll');
|
|
113
133
|
this.log.error(e);
|
|
114
134
|
this.emit('pollError', e);
|
|
135
|
+
this.activePoll = undefined;
|
|
115
136
|
const backoffDuration = Math.min(2000 * ++this.backoffRetryCount, this.maxBackoffTimeMs);
|
|
116
137
|
this.log.warn(`Backing off worker poll due to failure. Next attempt will be made in ${backoffDuration}ms...`);
|
|
117
138
|
this.emit('backoff', backoffDuration);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CamundaJobWorker.js","sourceRoot":"","sources":["../../../src/c8/lib/CamundaJobWorker.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;
|
|
1
|
+
{"version":3,"file":"CamundaJobWorker.js","sourceRoot":"","sources":["../../../src/c8/lib/CamundaJobWorker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
import { ReadStream } from 'node:fs';
|
|
4
|
+
import { Response } from 'got';
|
|
5
|
+
import PCancelable from 'p-cancelable';
|
|
4
6
|
import { Camunda8ClientConfiguration, CamundaPlatform8Configuration, LosslessDto } from '../../lib';
|
|
5
7
|
import { IOAuthProvider } from '../../oauth';
|
|
6
|
-
import { ActivateJobsRequest, BroadcastSignalReq, CompleteJobRequest, ErrorJobWithVariables, FailJobRequest,
|
|
7
|
-
import {
|
|
8
|
+
import { ActivateJobsRequest, BroadcastSignalReq, CompleteJobRequest, ErrorJobWithVariables, FailJobRequest, JSONDoc, PublishMessageRequest, TopologyResponse } from '../../zeebe/types';
|
|
9
|
+
import { AssignUserTaskRequest, BroadcastSignalResponse, CorrelateMessageResponse, CreateDocumentLinkRequest, CreateProcessInstanceReq, CreateProcessInstanceResponse, Ctor, DeployResourceResponse, DownloadDocumentRequest, EvaluateDecisionRequest, EvaluateDecisionResponse, JobUpdateChangeset, JobWithMethods, JsonApiEndpointRequest, MigrationRequest, ModifyProcessInstanceRequest, NewUserInfo, PatchAuthorizationRequest, PublishMessageResponse, RawApiEndpointRequest, SearchProcessInstanceRequest, SearchProcessInstanceResponse, SearchTasksRequest, SearchUserTasksResponse, SearchVariablesRequest, SearchVariablesResponse, TaskChangeSet, UpdateElementVariableRequest, UploadDocumentRequest, UploadDocumentResponse, UploadDocumentsResponse, UserTask, UserTaskVariablesRequest, UserTaskVariablesResponse } from './C8Dto';
|
|
8
10
|
import { Logger } from './C8Logger';
|
|
9
11
|
import { CamundaJobWorker, CamundaJobWorkerConfig } from './CamundaJobWorker';
|
|
10
12
|
/**
|
|
@@ -213,7 +215,7 @@ export declare class CamundaRestClient {
|
|
|
213
215
|
activateJobs<VariablesDto extends LosslessDto, CustomHeadersDto extends LosslessDto>(request: ActivateJobsRequest & {
|
|
214
216
|
inputVariableDto?: Ctor<VariablesDto>;
|
|
215
217
|
customHeadersDto?: Ctor<CustomHeadersDto>;
|
|
216
|
-
}):
|
|
218
|
+
}): PCancelable<JobWithMethods<VariablesDto, CustomHeadersDto>[]>;
|
|
217
219
|
/**
|
|
218
220
|
* Fails a job using the provided job key. This method sends a POST request to the endpoint '/jobs/{jobKey}/fail' with the failure reason and other details specified in the failJobRequest object.
|
|
219
221
|
*
|
|
@@ -249,7 +251,7 @@ export declare class CamundaRestClient {
|
|
|
249
251
|
*/
|
|
250
252
|
updateJob(jobChangeset: JobUpdateChangeset & {
|
|
251
253
|
jobKey: string;
|
|
252
|
-
}): Promise<
|
|
254
|
+
}): Promise<Response<string>>;
|
|
253
255
|
/**
|
|
254
256
|
* Marks the incident as resolved; most likely a call to Update job will be necessary to reset the job's retries, followed by this call.
|
|
255
257
|
*
|
|
@@ -257,7 +259,7 @@ export declare class CamundaRestClient {
|
|
|
257
259
|
*
|
|
258
260
|
* @since 8.6.0
|
|
259
261
|
*/
|
|
260
|
-
resolveIncident(incidentKey: string): Promise<
|
|
262
|
+
resolveIncident(incidentKey: string): Promise<Response<string>>;
|
|
261
263
|
/**
|
|
262
264
|
* Create and start a process instance. This method does not await the outcome of the process. For that, use `createProcessInstanceWithResult`.
|
|
263
265
|
*
|
|
@@ -289,7 +291,7 @@ export declare class CamundaRestClient {
|
|
|
289
291
|
cancelProcessInstance({ processInstanceKey, operationReference, }: {
|
|
290
292
|
processInstanceKey: string;
|
|
291
293
|
operationReference?: number;
|
|
292
|
-
}): Promise<
|
|
294
|
+
}): Promise<Response<string>>;
|
|
293
295
|
/**
|
|
294
296
|
* Migrates a process instance to a new process definition.
|
|
295
297
|
* This request can contain multiple mapping instructions to define mapping between the active process instance's elements and target process definition elements.
|
|
@@ -299,7 +301,7 @@ export declare class CamundaRestClient {
|
|
|
299
301
|
*
|
|
300
302
|
* @since 8.6.0
|
|
301
303
|
*/
|
|
302
|
-
migrateProcessInstance(req: MigrationRequest): Promise<
|
|
304
|
+
migrateProcessInstance(req: MigrationRequest): Promise<Response<string>>;
|
|
303
305
|
/**
|
|
304
306
|
* Query process instances
|
|
305
307
|
*
|
|
@@ -340,7 +342,7 @@ export declare class CamundaRestClient {
|
|
|
340
342
|
deleteResource(req: {
|
|
341
343
|
resourceKey: string;
|
|
342
344
|
operationReference?: number;
|
|
343
|
-
}): Promise<
|
|
345
|
+
}): Promise<Response<string>>;
|
|
344
346
|
/**
|
|
345
347
|
* Set a precise, static time for the Zeebe engine's internal clock.
|
|
346
348
|
* When the clock is pinned, it remains at the specified time and does not advance.
|
|
@@ -350,7 +352,7 @@ export declare class CamundaRestClient {
|
|
|
350
352
|
*
|
|
351
353
|
* @since 8.6.0
|
|
352
354
|
*/
|
|
353
|
-
pinInternalClock(epochMs: number): Promise<
|
|
355
|
+
pinInternalClock(epochMs: number): Promise<Response<string>>;
|
|
354
356
|
/**
|
|
355
357
|
* Resets the Zeebe engine's internal clock to the current system time, enabling it to tick in real-time.
|
|
356
358
|
* This operation is useful for returning the clock to normal behavior after it has been pinned to a specific time.
|
|
@@ -359,7 +361,7 @@ export declare class CamundaRestClient {
|
|
|
359
361
|
*
|
|
360
362
|
* @since 8.6.0
|
|
361
363
|
*/
|
|
362
|
-
resetClock(): Promise<
|
|
364
|
+
resetClock(): Promise<Response<string>>;
|
|
363
365
|
/**
|
|
364
366
|
* Updates all the variables of a particular scope (for example, process instance, flow element instance) with the given variable data.
|
|
365
367
|
* Specify the element instance in the elementInstanceKey parameter.
|
|
@@ -368,7 +370,7 @@ export declare class CamundaRestClient {
|
|
|
368
370
|
*
|
|
369
371
|
* @since 8.6.0
|
|
370
372
|
*/
|
|
371
|
-
updateElementInstanceVariables(req: UpdateElementVariableRequest): Promise<
|
|
373
|
+
updateElementInstanceVariables(req: UpdateElementVariableRequest): Promise<Response<string>>;
|
|
372
374
|
getConfig(): CamundaPlatform8Configuration;
|
|
373
375
|
/**
|
|
374
376
|
* Search for process and local variables based on given criteria.
|
|
@@ -462,7 +464,8 @@ export declare class CamundaRestClient {
|
|
|
462
464
|
* This is a generic method to call an API endpoint. Use this method to call any REST API endpoint in the Camunda 8 cluster.
|
|
463
465
|
* TODO: This does not currently support multipart form-data, but it will.
|
|
464
466
|
*/
|
|
465
|
-
callApiEndpoint<T, V = unknown>(request:
|
|
467
|
+
callApiEndpoint<T, V = unknown>(request: JsonApiEndpointRequest<T>): PCancelable<V>;
|
|
468
|
+
callApiEndpoint<T>(request: RawApiEndpointRequest<T>): PCancelable<Response<string>>;
|
|
466
469
|
/**
|
|
467
470
|
* Helper method to add the default job methods to a job
|
|
468
471
|
* @param job The job to add the methods to
|
|
@@ -9,6 +9,7 @@ const debug_1 = require("debug");
|
|
|
9
9
|
const form_data_1 = __importDefault(require("form-data"));
|
|
10
10
|
const got_1 = __importDefault(require("got"));
|
|
11
11
|
const lossless_json_1 = require("lossless-json");
|
|
12
|
+
const p_cancelable_1 = __importDefault(require("p-cancelable"));
|
|
12
13
|
const lib_1 = require("../../lib");
|
|
13
14
|
const types_1 = require("../../zeebe/types");
|
|
14
15
|
const C8Dto_1 = require("./C8Dto");
|
|
@@ -45,10 +46,9 @@ class CamundaRestClient {
|
|
|
45
46
|
return {
|
|
46
47
|
...job,
|
|
47
48
|
cancelWorkflow: () => {
|
|
48
|
-
this.cancelProcessInstance({
|
|
49
|
+
return this.cancelProcessInstance({
|
|
49
50
|
processInstanceKey: job.processInstanceKey,
|
|
50
|
-
});
|
|
51
|
-
throw new Error('Not Implemented');
|
|
51
|
+
}).then(() => types_1.JOB_ACTION_ACKNOWLEDGEMENT);
|
|
52
52
|
},
|
|
53
53
|
complete: (variables = {}) => this.completeJob({
|
|
54
54
|
jobKey: job.jobKey,
|
|
@@ -110,18 +110,20 @@ class CamundaRestClient {
|
|
|
110
110
|
}));
|
|
111
111
|
}
|
|
112
112
|
async getHeaders() {
|
|
113
|
-
const
|
|
113
|
+
const authorization = await this.oAuthProvider.getToken('ZEEBE');
|
|
114
114
|
const headers = {
|
|
115
115
|
'content-type': 'application/json',
|
|
116
|
-
authorization
|
|
116
|
+
...authorization,
|
|
117
117
|
'user-agent': this.userAgentString,
|
|
118
118
|
accept: '*/*',
|
|
119
119
|
};
|
|
120
|
+
const auth = headers.authorization ? headers.authorization : headers.cookie;
|
|
120
121
|
const safeHeaders = {
|
|
121
122
|
...headers,
|
|
122
|
-
authorization:
|
|
123
|
-
(
|
|
124
|
-
|
|
123
|
+
authorization: auth
|
|
124
|
+
? auth.substring(0, 15) + (auth.length > 8)
|
|
125
|
+
? '...'
|
|
126
|
+
: ''
|
|
125
127
|
: '',
|
|
126
128
|
};
|
|
127
129
|
trace('headers', safeHeaders);
|
|
@@ -425,27 +427,32 @@ class CamundaRestClient {
|
|
|
425
427
|
*
|
|
426
428
|
* @since 8.6.0
|
|
427
429
|
*/
|
|
428
|
-
|
|
429
|
-
const headers = await this.getHeaders();
|
|
430
|
+
activateJobs(request) {
|
|
430
431
|
const { inputVariableDto = lib_1.LosslessDto, customHeadersDto = lib_1.LosslessDto, tenantIds = this.tenantId ? [this.tenantId] : undefined, ...req } = request;
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
* Documentation: https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/activate-jobs/
|
|
435
|
-
*/
|
|
436
|
-
const body = (0, lib_1.losslessStringify)({
|
|
432
|
+
// The ActivateJobs endpoint can take multiple tenantIds, and activate jobs for multiple tenants at once.
|
|
433
|
+
// Documentation: https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/activate-jobs/
|
|
434
|
+
const body = {
|
|
437
435
|
...req,
|
|
438
436
|
tenantIds,
|
|
439
|
-
}
|
|
437
|
+
};
|
|
440
438
|
const jobDto = (0, RestApiJobClassFactory_1.createSpecializedRestApiJobClass)(inputVariableDto, customHeadersDto);
|
|
441
|
-
|
|
442
|
-
|
|
439
|
+
const gotRequest = this.callApiEndpoint({
|
|
440
|
+
urlPath: 'jobs/activation',
|
|
441
|
+
method: 'POST',
|
|
443
442
|
body,
|
|
444
|
-
headers,
|
|
445
443
|
parseJson: (text) => (0, lib_1.losslessParse)(text, jobDto, 'jobs'),
|
|
446
|
-
})
|
|
447
|
-
|
|
448
|
-
|
|
444
|
+
});
|
|
445
|
+
// Make the call cancelable
|
|
446
|
+
// See: https://github.com/camunda/camunda-8-js-sdk/issues/424
|
|
447
|
+
return new p_cancelable_1.default((resolve, reject, onCancel) => {
|
|
448
|
+
onCancel.shouldReject = false;
|
|
449
|
+
onCancel(() => !gotRequest.isCanceled &&
|
|
450
|
+
gotRequest.cancel(`Cancelling activateJobs request`));
|
|
451
|
+
gotRequest
|
|
452
|
+
.then((activatedJobs) => activatedJobs.map(this.addJobMethods))
|
|
453
|
+
.then(resolve)
|
|
454
|
+
.catch(reject);
|
|
455
|
+
});
|
|
449
456
|
}
|
|
450
457
|
/**
|
|
451
458
|
* Fails a job using the provided job key. This method sends a POST request to the endpoint '/jobs/{jobKey}/fail' with the failure reason and other details specified in the failJobRequest object.
|
|
@@ -957,21 +964,55 @@ class CamundaRestClient {
|
|
|
957
964
|
body: request,
|
|
958
965
|
});
|
|
959
966
|
}
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
967
|
+
callApiEndpoint(request) {
|
|
968
|
+
// Return a cancelable promise
|
|
969
|
+
// https://github.com/camunda/camunda-8-js-sdk/issues/424
|
|
970
|
+
return new p_cancelable_1.default(async (resolve, reject, onCancel) => {
|
|
971
|
+
// eslint-disable-next-line prefer-const
|
|
972
|
+
let gotRequest;
|
|
973
|
+
let cancelled = false;
|
|
974
|
+
// Register the cancel handler, we will cancel the request if the promise is cancelled
|
|
975
|
+
onCancel.shouldReject = false;
|
|
976
|
+
onCancel(() => {
|
|
977
|
+
cancelled = true;
|
|
978
|
+
if (gotRequest && !gotRequest.isCanceled) {
|
|
979
|
+
gotRequest.cancel(`REST operation cancelled`);
|
|
980
|
+
}
|
|
981
|
+
});
|
|
982
|
+
try {
|
|
983
|
+
const headers = await this.getHeaders();
|
|
984
|
+
const { method, urlPath, body, queryParams } = request;
|
|
985
|
+
const req = {
|
|
986
|
+
method,
|
|
987
|
+
headers: request.headers
|
|
988
|
+
? { ...headers, ...request.headers }
|
|
989
|
+
: headers,
|
|
990
|
+
body: body
|
|
991
|
+
? (0, lib_1.losslessStringify)(this.addDefaultTenantId(body))
|
|
992
|
+
: undefined,
|
|
993
|
+
searchParams: queryParams ?? {},
|
|
994
|
+
parseJson: request.parseJson ?? lib_1.losslessParse,
|
|
995
|
+
};
|
|
996
|
+
const rest = await this.rest;
|
|
997
|
+
if (cancelled) {
|
|
998
|
+
// If the request was already cancelled, we don't want to send it
|
|
999
|
+
return;
|
|
1000
|
+
}
|
|
1001
|
+
gotRequest = rest(urlPath, req);
|
|
1002
|
+
gotRequest.catch(reject);
|
|
1003
|
+
(await gotRequest).once('error', (err) => {
|
|
1004
|
+
// Swallow the error, we don't want to crash the process
|
|
1005
|
+
return err;
|
|
1006
|
+
});
|
|
1007
|
+
if (request.json ?? true) {
|
|
1008
|
+
return gotRequest.json().then(resolve);
|
|
1009
|
+
}
|
|
1010
|
+
return gotRequest.then(resolve);
|
|
1011
|
+
}
|
|
1012
|
+
catch (e) {
|
|
1013
|
+
reject(e);
|
|
1014
|
+
}
|
|
1015
|
+
});
|
|
975
1016
|
}
|
|
976
1017
|
/**
|
|
977
1018
|
* Helper method to add the default tenantIds if we are not passed explicit tenantIds
|