@5minds/processcube_engine_client 6.0.0-alpha.1 → 6.0.0-alpha.10
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/dist/Client.d.ts +4 -5
- package/dist/ClientFactory.d.ts +16 -17
- package/dist/Clients/ApplicationInfoHttpClient.d.ts +5 -4
- package/dist/Clients/BaseClient.d.ts +10 -8
- package/dist/Clients/CorrelationHttpClient.d.ts +4 -3
- package/dist/Clients/CronjobHttpClient.d.ts +5 -4
- package/dist/Clients/DataObjectInstanceHttpClient.d.ts +3 -2
- package/dist/Clients/EventHttpClient.d.ts +15 -11
- package/dist/Clients/ExternalTaskApiHttpClient.d.ts +7 -6
- package/dist/Clients/ExternalTaskHttpClient.d.ts +4 -3
- package/dist/Clients/FlowNodeInstanceHttpClient.d.ts +8 -7
- package/dist/Clients/Lib/SocketIoManager.d.ts +15 -28
- package/dist/Clients/ManualTaskHttpClient.d.ts +7 -6
- package/dist/Clients/NotificationHttpClient.d.ts +52 -51
- package/dist/Clients/ProcessDefinitionHttpClient.d.ts +11 -10
- package/dist/Clients/ProcessDefinitionHttpClientNode.d.ts +2 -2
- package/dist/Clients/ProcessInstanceHttpClient.d.ts +10 -9
- package/dist/Clients/ProcessModelHttpClient.d.ts +11 -10
- package/dist/Clients/UntypedTaskHttpClient.d.ts +7 -6
- package/dist/Clients/UserTaskHttpClient.d.ts +11 -10
- package/dist/Clients/index.d.ts +0 -1
- package/dist/ExternalTaskExecution.d.ts +1 -0
- package/dist/ExternalTaskWorker.d.ts +10 -1
- package/dist/IdentityAccessor.d.ts +54 -0
- package/dist/IdentityAccessorClientCredentials.d.ts +14 -0
- package/dist/Retry.d.ts +1 -0
- package/dist/Types/IExternalTaskWorker.d.ts +3 -2
- package/dist/Types/RestSettings.d.ts +6 -0
- package/dist/commonjs/Client.js +22 -27
- package/dist/commonjs/Client.js.map +1 -1
- package/dist/commonjs/ClientFactory.js +23 -29
- package/dist/commonjs/ClientFactory.js.map +1 -1
- package/dist/commonjs/Clients/ApplicationInfoHttpClient.js +5 -5
- package/dist/commonjs/Clients/ApplicationInfoHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/BaseClient.js +23 -15
- package/dist/commonjs/Clients/BaseClient.js.map +1 -1
- package/dist/commonjs/Clients/CorrelationHttpClient.js +2 -2
- package/dist/commonjs/Clients/CorrelationHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/CronjobHttpClient.js +3 -3
- package/dist/commonjs/Clients/CronjobHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/DataObjectInstanceHttpClient.js +1 -1
- package/dist/commonjs/Clients/DataObjectInstanceHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/EventHttpClient.js +9 -3
- package/dist/commonjs/Clients/EventHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/ExternalTaskApiHttpClient.js +5 -5
- package/dist/commonjs/Clients/ExternalTaskApiHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/ExternalTaskHttpClient.js +7 -5
- package/dist/commonjs/Clients/ExternalTaskHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/FlowNodeInstanceHttpClient.js +6 -6
- package/dist/commonjs/Clients/FlowNodeInstanceHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/Lib/SocketIoManager.js +149 -67
- package/dist/commonjs/Clients/Lib/SocketIoManager.js.map +1 -1
- package/dist/commonjs/Clients/ManualTaskHttpClient.js +2 -2
- package/dist/commonjs/Clients/ManualTaskHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/NotificationHttpClient.js +3 -3
- package/dist/commonjs/Clients/NotificationHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/ProcessDefinitionHttpClient.js +8 -8
- package/dist/commonjs/Clients/ProcessDefinitionHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/ProcessDefinitionHttpClientNode.js +17 -7
- package/dist/commonjs/Clients/ProcessDefinitionHttpClientNode.js.map +1 -1
- package/dist/commonjs/Clients/ProcessInstanceHttpClient.js +9 -9
- package/dist/commonjs/Clients/ProcessInstanceHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/ProcessModelHttpClient.js +9 -9
- package/dist/commonjs/Clients/ProcessModelHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/UntypedTaskHttpClient.js +2 -2
- package/dist/commonjs/Clients/UntypedTaskHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/UserTaskHttpClient.js +4 -4
- package/dist/commonjs/Clients/UserTaskHttpClient.js.map +1 -1
- package/dist/commonjs/Clients/index.js +0 -1
- package/dist/commonjs/Clients/index.js.map +1 -1
- package/dist/commonjs/ExternalTaskExecution.js +14 -3
- package/dist/commonjs/ExternalTaskExecution.js.map +1 -1
- package/dist/commonjs/ExternalTaskWorker.js +50 -18
- package/dist/commonjs/ExternalTaskWorker.js.map +1 -1
- package/dist/commonjs/IdentityAccessor.js +246 -0
- package/dist/commonjs/IdentityAccessor.js.map +1 -0
- package/dist/commonjs/IdentityAccessorClientCredentials.js +94 -0
- package/dist/commonjs/IdentityAccessorClientCredentials.js.map +1 -0
- package/dist/commonjs/Retry.js +30 -0
- package/dist/commonjs/Retry.js.map +1 -0
- package/dist/commonjs/Types/RestSettings.js +6 -0
- package/dist/commonjs/Types/RestSettings.js.map +1 -1
- package/dist/commonjs/Types/index.js +17 -7
- package/dist/commonjs/Types/index.js.map +1 -1
- package/dist/commonjs/index.js +5 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/package.json +14 -8
- package/tsconfig.tests.json +20 -0
- package/dist/Clients/AnonymousSessionHttpClient.d.ts +0 -26
- package/dist/commonjs/Clients/AnonymousSessionHttpClient.js +0 -48
- package/dist/commonjs/Clients/AnonymousSessionHttpClient.js.map +0 -1
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.IdentityAccessor = void 0;
|
|
40
|
+
const async_lock_1 = __importDefault(require("async-lock"));
|
|
41
|
+
const uuid = __importStar(require("uuid"));
|
|
42
|
+
const processcube_engine_sdk_1 = require("@5minds/processcube_engine_sdk");
|
|
43
|
+
const index_1 = require("./index");
|
|
44
|
+
const dummyIdentity = {
|
|
45
|
+
token: 'ZHVtbXlfdG9rZW4=',
|
|
46
|
+
userId: 'dummy_token',
|
|
47
|
+
};
|
|
48
|
+
class IdentityAccessor {
|
|
49
|
+
static wrap(identity, engineUrl) {
|
|
50
|
+
if (identity instanceof IdentityAccessor) {
|
|
51
|
+
return identity;
|
|
52
|
+
}
|
|
53
|
+
let accessor;
|
|
54
|
+
if (!identity) {
|
|
55
|
+
accessor = new IdentityAccessor();
|
|
56
|
+
}
|
|
57
|
+
else if (typeof identity === 'function') {
|
|
58
|
+
accessor = new IdentityAccessor(identity);
|
|
59
|
+
}
|
|
60
|
+
else if (isClientCredentialsConfig(identity)) {
|
|
61
|
+
if (!identity.engineUrl && engineUrl) {
|
|
62
|
+
identity.engineUrl = engineUrl;
|
|
63
|
+
}
|
|
64
|
+
accessor = new index_1.ClientCredentialsIdentityAccessor(identity);
|
|
65
|
+
}
|
|
66
|
+
else if (!identity.token) {
|
|
67
|
+
const invalidIdentity = new processcube_engine_sdk_1.BadRequestError(`The given identity is invalid. Required property 'token' is missing.`);
|
|
68
|
+
invalidIdentity.additionalInformation = {
|
|
69
|
+
configuredIdentity: identity,
|
|
70
|
+
};
|
|
71
|
+
throw invalidIdentity;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
accessor = new IdentityAccessor(identity);
|
|
75
|
+
}
|
|
76
|
+
accessor.initialize();
|
|
77
|
+
return accessor;
|
|
78
|
+
}
|
|
79
|
+
identityGetter;
|
|
80
|
+
latestIdentity;
|
|
81
|
+
expirationTimeInMs;
|
|
82
|
+
id;
|
|
83
|
+
identityAvailablePromise;
|
|
84
|
+
identityAvailableResolve;
|
|
85
|
+
identityAvailableReject;
|
|
86
|
+
refreshFailedCritically = false;
|
|
87
|
+
refreshTimeout;
|
|
88
|
+
disposed = false;
|
|
89
|
+
isDynamicRefreshObject = false;
|
|
90
|
+
logger = new processcube_engine_sdk_1.Logger('engine-client:identity-accessor');
|
|
91
|
+
newIdentityCallbacks = [];
|
|
92
|
+
asyncLock = new async_lock_1.default({ maxPending: 100000 });
|
|
93
|
+
constructor(staticOrDynamicIdentity) {
|
|
94
|
+
if (typeof staticOrDynamicIdentity === 'function') {
|
|
95
|
+
this.id = uuid.v4();
|
|
96
|
+
this.identityGetter = staticOrDynamicIdentity;
|
|
97
|
+
this.isDynamicRefreshObject = true;
|
|
98
|
+
}
|
|
99
|
+
else if (staticOrDynamicIdentity) {
|
|
100
|
+
this.id = staticOrDynamicIdentity?.userId ?? uuid.v4();
|
|
101
|
+
this.latestIdentity = staticOrDynamicIdentity;
|
|
102
|
+
this.identityGetter = async () => staticOrDynamicIdentity;
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
this.id = dummyIdentity.userId;
|
|
106
|
+
this.latestIdentity = dummyIdentity;
|
|
107
|
+
this.identityGetter = async () => dummyIdentity;
|
|
108
|
+
}
|
|
109
|
+
this.identityAvailablePromise = new Promise((resolve, reject) => {
|
|
110
|
+
this.identityAvailableResolve = resolve;
|
|
111
|
+
this.identityAvailableReject = reject;
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
initialize() {
|
|
115
|
+
this.fetchIdentity().then(() => this.refreshIdentityPeriodically());
|
|
116
|
+
}
|
|
117
|
+
getId() {
|
|
118
|
+
return this.id;
|
|
119
|
+
}
|
|
120
|
+
getIdentitySync() {
|
|
121
|
+
return this.latestIdentity;
|
|
122
|
+
}
|
|
123
|
+
canIdentityBeRefreshed() {
|
|
124
|
+
return this.isDynamicRefreshObject && this.expirationTimeInMs > 0 && !this.refreshFailedCritically && !this.disposed;
|
|
125
|
+
}
|
|
126
|
+
async getIdentity() {
|
|
127
|
+
await this.waitUntilIdentityIsAvailable();
|
|
128
|
+
return this.latestIdentity;
|
|
129
|
+
}
|
|
130
|
+
async forceImmediateIdentityRefresh() {
|
|
131
|
+
if (!this.isDynamicRefreshObject) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
clearTimeout(this.refreshTimeout);
|
|
135
|
+
await this.fetchIdentity();
|
|
136
|
+
this.refreshIdentityPeriodically();
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* This method only waits the first time the identity is retrieved from any remote source to ensure no missing references occur.
|
|
140
|
+
*/
|
|
141
|
+
async waitUntilIdentityIsAvailable() {
|
|
142
|
+
return await this.identityAvailablePromise;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* @deprecated This method only exists for downward compatibility purposes, use getIdentity instead.
|
|
146
|
+
*/
|
|
147
|
+
getIdentityStatic() {
|
|
148
|
+
if (!this.latestIdentity) {
|
|
149
|
+
throw new Error('Identity not yet initialized');
|
|
150
|
+
}
|
|
151
|
+
return this.latestIdentity;
|
|
152
|
+
}
|
|
153
|
+
onNewIdentity(callback) {
|
|
154
|
+
this.newIdentityCallbacks.push(callback);
|
|
155
|
+
}
|
|
156
|
+
removeOnNewIdentityListener(callback) {
|
|
157
|
+
this.newIdentityCallbacks = this.newIdentityCallbacks.filter((cb) => cb !== callback);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* The IdentityAccesor creates a refresh timer, which needs to be disposed.
|
|
161
|
+
* This method should be called when the IdentityAccessor is not needed anymore.
|
|
162
|
+
* If any Client using this will be disposed, the IdentityAccessor will be disposed as well.
|
|
163
|
+
*/
|
|
164
|
+
dispose() {
|
|
165
|
+
clearTimeout(this.refreshTimeout);
|
|
166
|
+
this.refreshTimeout = undefined;
|
|
167
|
+
this.identityAvailableResolve();
|
|
168
|
+
this.disposed = true;
|
|
169
|
+
}
|
|
170
|
+
getBaseMinRefreshTimeInMs() {
|
|
171
|
+
const fiveMinutes = 5 * 60 * 1000;
|
|
172
|
+
return fiveMinutes;
|
|
173
|
+
}
|
|
174
|
+
refreshIdentityPeriodically() {
|
|
175
|
+
clearTimeout(this.refreshTimeout);
|
|
176
|
+
if (this.canIdentityBeRefreshed()) {
|
|
177
|
+
const timeUntilNextRefresh = Math.max((this.expirationTimeInMs ?? 0) - Date.now() - this.getBaseMinRefreshTimeInMs(), this.getBaseMinRefreshTimeInMs());
|
|
178
|
+
const timeUntilNextRefresh32Bit = Math.min(timeUntilNextRefresh, 2147483647);
|
|
179
|
+
this.refreshTimeout = setTimeout(async () => {
|
|
180
|
+
await this.fetchIdentity();
|
|
181
|
+
this.refreshIdentityPeriodically();
|
|
182
|
+
}, timeUntilNextRefresh32Bit);
|
|
183
|
+
}
|
|
184
|
+
else if (this.refreshFailedCritically) {
|
|
185
|
+
this.logger.error(`Identity refresh failed critically and won't be refreshed anymore.`);
|
|
186
|
+
this.identityAvailableReject(new Error('Identity refresh failed critically and wont be refreshed anymore.'));
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
async fetchIdentity() {
|
|
190
|
+
await this.asyncLock.acquire('refreshIdentity', async () => {
|
|
191
|
+
this.refreshFailedCritically = false;
|
|
192
|
+
try {
|
|
193
|
+
this.latestIdentity = await this.identityGetter();
|
|
194
|
+
if (this.latestIdentity == dummyIdentity || this.latestIdentity?.token == dummyIdentity.token) {
|
|
195
|
+
this.expirationTimeInMs = 0;
|
|
196
|
+
this.identityAvailableResolve();
|
|
197
|
+
}
|
|
198
|
+
else if (this.latestIdentity?.token) {
|
|
199
|
+
const decodedToken = this.getDecodedToken(this.latestIdentity.token);
|
|
200
|
+
this.expirationTimeInMs = decodedToken?.exp ? decodedToken.exp * 1000 : 0;
|
|
201
|
+
this.identityAvailableResolve();
|
|
202
|
+
try {
|
|
203
|
+
await Promise.all(this.newIdentityCallbacks.map((cb) => cb(this.latestIdentity)));
|
|
204
|
+
}
|
|
205
|
+
catch (err) {
|
|
206
|
+
this.logger.warn('Error while publishing new identity to listeners', { err });
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
this.identityAvailableResolve();
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
catch (err) {
|
|
214
|
+
this.logger.error('Error while refreshing identity', { err });
|
|
215
|
+
this.refreshFailedCritically =
|
|
216
|
+
!err.message ||
|
|
217
|
+
!['ETIMEDOUT', 'ECONNRESET', 'ECONNREFUSED', 'other side closed', 'SocketError', 'EAI_AGAIN', 'EHOSTUNREACH', 'EPIPE', 'ECONNABORTED', 'EHOSTDOWN'].some((errorString) => err.message.includes(errorString));
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
getDecodedToken(tokenString) {
|
|
222
|
+
if (!tokenString) {
|
|
223
|
+
return undefined;
|
|
224
|
+
}
|
|
225
|
+
if (tokenString === dummyIdentity.token) {
|
|
226
|
+
return undefined;
|
|
227
|
+
}
|
|
228
|
+
try {
|
|
229
|
+
const splitToken = this.latestIdentity.token.split('.');
|
|
230
|
+
const decodedToken = JSON.parse(Buffer.from(splitToken[1], 'base64').toString());
|
|
231
|
+
return decodedToken;
|
|
232
|
+
}
|
|
233
|
+
catch (error) {
|
|
234
|
+
return undefined;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
exports.IdentityAccessor = IdentityAccessor;
|
|
239
|
+
function isClientCredentialsConfig(identity) {
|
|
240
|
+
return (identity.clientId !== undefined ||
|
|
241
|
+
identity.clientSecret !== undefined ||
|
|
242
|
+
identity.scope !== undefined ||
|
|
243
|
+
identity.authorityUrl !== undefined ||
|
|
244
|
+
identity.engineUrl !== undefined);
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=IdentityAccessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdentityAccessor.js","sourceRoot":"","sources":["../../src/IdentityAccessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClientCredentialsIdentityAccessor = void 0;
|
|
4
|
+
const ClientFactory_1 = require("./ClientFactory");
|
|
5
|
+
const Retry_1 = require("./Retry");
|
|
6
|
+
const index_1 = require("./index");
|
|
7
|
+
class ClientCredentialsIdentityAccessor extends index_1.IdentityAccessor {
|
|
8
|
+
config;
|
|
9
|
+
constructor(clientCredentialsConfig) {
|
|
10
|
+
super(async () => {
|
|
11
|
+
const identity = await this.getFreshIdentity(clientCredentialsConfig);
|
|
12
|
+
return identity;
|
|
13
|
+
});
|
|
14
|
+
this.config = clientCredentialsConfig;
|
|
15
|
+
this.id = this.hash(JSON.stringify(clientCredentialsConfig ?? {}));
|
|
16
|
+
}
|
|
17
|
+
async getFreshIdentity(clientCredentialsConfig) {
|
|
18
|
+
const token = await this.getNewToken(clientCredentialsConfig);
|
|
19
|
+
return {
|
|
20
|
+
token,
|
|
21
|
+
userId: clientCredentialsConfig.clientId ?? '',
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
getBaseMinRefreshTimeInMs() {
|
|
25
|
+
const fiveMinutes = 5 * 60 * 1000;
|
|
26
|
+
if (this.config.baseMinRefreshTimeInMs) {
|
|
27
|
+
return this.config.baseMinRefreshTimeInMs > 0 ? this.config.baseMinRefreshTimeInMs : fiveMinutes;
|
|
28
|
+
}
|
|
29
|
+
return fiveMinutes;
|
|
30
|
+
}
|
|
31
|
+
async getNewToken(clientCredentialsConfig) {
|
|
32
|
+
const authorityUrl = await this.getAuthorityUrl(clientCredentialsConfig);
|
|
33
|
+
const openIdClient = await this.getOpenIdClient();
|
|
34
|
+
const wellKnownUrl = new URL(`${authorityUrl}/.well-known/openid-configuration`);
|
|
35
|
+
let tokenSet;
|
|
36
|
+
try {
|
|
37
|
+
const config = await (0, Retry_1.executeWithRetry)(async () => openIdClient.discovery(wellKnownUrl, clientCredentialsConfig.clientId ?? '', clientCredentialsConfig.clientSecret, undefined, {
|
|
38
|
+
execute: [openIdClient.allowInsecureRequests],
|
|
39
|
+
}), `${wellKnownUrl} not available, retrying...`);
|
|
40
|
+
tokenSet = await (0, Retry_1.executeWithRetry)(async () => openIdClient.clientCredentialsGrant(config, { scope: clientCredentialsConfig.scope ?? '' }), `${wellKnownUrl} not available, retrying...`);
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
this.logger.error('Error while getting new token from authority', { err, authorityUrl, wellKnownUrl });
|
|
44
|
+
throw err;
|
|
45
|
+
}
|
|
46
|
+
if (tokenSet.access_token) {
|
|
47
|
+
return tokenSet.access_token;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.logger.error('No access token found in token set');
|
|
51
|
+
throw new Error('No access token found in token set');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async getOpenIdClient() {
|
|
55
|
+
const openIdClient = await import('openid-client');
|
|
56
|
+
return openIdClient;
|
|
57
|
+
}
|
|
58
|
+
async getAuthorityUrl(config) {
|
|
59
|
+
if (config.authorityUrl) {
|
|
60
|
+
return this.ensureEndsWithoutSlash(this.config.authorityUrl);
|
|
61
|
+
}
|
|
62
|
+
if (config.engineUrl) {
|
|
63
|
+
return this.getAuthorityUrlFromEngineUrl(config.engineUrl);
|
|
64
|
+
}
|
|
65
|
+
throw new Error('No authorityUrl or engineUrl provided.');
|
|
66
|
+
}
|
|
67
|
+
async getAuthorityUrlFromEngineUrl(engineUrl) {
|
|
68
|
+
try {
|
|
69
|
+
const applicationInfoClient = ClientFactory_1.ClientFactory.createApplicationInfoClient(engineUrl);
|
|
70
|
+
const authorityAddress = await (0, Retry_1.executeWithRetry)(async () => applicationInfoClient.getAuthorityAddress(), `${engineUrl} not available, retrying...`);
|
|
71
|
+
return this.ensureEndsWithoutSlash(authorityAddress);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
this.logger.error('Error while getting authority address from engine', { err, engineUrl });
|
|
75
|
+
throw err;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
ensureEndsWithoutSlash(url) {
|
|
79
|
+
return url.replace(/(\/)$/, '');
|
|
80
|
+
}
|
|
81
|
+
hash(str) {
|
|
82
|
+
// djb2 constants
|
|
83
|
+
let hash = 5381;
|
|
84
|
+
const product = 33;
|
|
85
|
+
let i = str.length;
|
|
86
|
+
while (i) {
|
|
87
|
+
hash = (hash * product) ^ str.charCodeAt(--i);
|
|
88
|
+
}
|
|
89
|
+
const numericalHash = hash >>> 0;
|
|
90
|
+
return numericalHash + '';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.ClientCredentialsIdentityAccessor = ClientCredentialsIdentityAccessor;
|
|
94
|
+
//# sourceMappingURL=IdentityAccessorClientCredentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdentityAccessorClientCredentials.js","sourceRoot":"","sources":["../../src/IdentityAccessorClientCredentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.executeWithRetry = executeWithRetry;
|
|
4
|
+
const processcube_engine_sdk_1 = require("@5minds/processcube_engine_sdk");
|
|
5
|
+
const logger = new processcube_engine_sdk_1.Logger('engine-client:retry');
|
|
6
|
+
function executeWithRetry(fn, retryMessage, errorsToRetry = ['ETIMEDOUT', 'ECONNRESET', 'ECONNREFUSED', 'other side closed', 'SocketError', 'EAI_AGAIN', 'EHOSTUNREACH', 'EPIPE', 'ECONNABORTED', 'EHOSTDOWN'], maxRetries = 20, retryInterval = 5000) {
|
|
7
|
+
return new Promise((resolve, reject) => {
|
|
8
|
+
const execute = async (retries) => {
|
|
9
|
+
try {
|
|
10
|
+
const result = await fn();
|
|
11
|
+
resolve(result);
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
const message = error.message || error || '';
|
|
15
|
+
const isRetryable = errorsToRetry.some((retryError) => message.includes(retryError));
|
|
16
|
+
if (retries > 0 && isRetryable) {
|
|
17
|
+
if (retryMessage) {
|
|
18
|
+
logger.debug(retryMessage, { reason: message });
|
|
19
|
+
}
|
|
20
|
+
setTimeout(() => execute(retries - 1), retryInterval);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
reject(error);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
execute(maxRetries);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=Retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Retry.js","sourceRoot":"","sources":["../../src/Retry.ts"],"names":[],"mappings":";;AAIA,4CA8BC;AAlCD,2EAAwD;AAExD,MAAM,MAAM,GAAG,IAAI,+BAAM,CAAC,qBAAqB,CAAC,CAAC;AAEjD,SAAgB,gBAAgB,CAC9B,EAA0B,EAC1B,YAAqB,EACrB,gBAA+B,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,EACjL,aAAqB,EAAE,EACvB,gBAAwB,IAAI;IAE5B,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,MAAM,OAAO,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;YACxC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC7C,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;gBAErF,IAAI,OAAO,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;oBAC/B,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;oBAClD,CAAC;oBAED,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -143,6 +143,12 @@ const paths = {
|
|
|
143
143
|
* @requestBody {"required": false, "bodyType": "application/json", "contentType": {}}
|
|
144
144
|
*/
|
|
145
145
|
triggerSignalEvent: `/signals/${params.eventName}/trigger`,
|
|
146
|
+
/**
|
|
147
|
+
* Triggers a TimerEvent by its InstanceId.
|
|
148
|
+
* @tags Events
|
|
149
|
+
* @method post
|
|
150
|
+
*/
|
|
151
|
+
triggerTimerEvent: `/timer/${params.flowNodeInstanceId}/trigger`,
|
|
146
152
|
/**
|
|
147
153
|
* Finishes a specific UntypedTask by its InstanceId.
|
|
148
154
|
* @tags UntypedTask
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestSettings.js","sourceRoot":"","sources":["../../../src/Types/RestSettings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RestSettings.js","sourceRoot":"","sources":["../../../src/Types/RestSettings.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
36
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
37
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Types/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAAyE;AAEzE,+DAAiD;AAEjD,uFAAuF;AACvF,IAAiB,QAAQ,CAMxB;AAND,WAAiB,QAAQ;IAGT,mBAAU,GAAG,iCAAW,CAAC,UAAU,CAAC;IACpC,qBAAY,GAAG,iCAAW,CAAC,YAAY,CAAC;IACxC,sBAAa,GAAG,aAAa,CAAC;AAC9C,CAAC,EANgB,QAAQ,wBAAR,QAAQ,QAMxB;AAMD,wDAAsC;AACtC,iDAA+B;AAC/B,mDAAiC"}
|
package/dist/commonjs/index.js
CHANGED
|
@@ -14,12 +14,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.Model = exports.EventType = exports.DataModels = exports.BpmnType = void 0;
|
|
17
|
+
exports.Model = exports.EventType = exports.DataModels = exports.BpmnType = exports.ClientCredentialsIdentityAccessor = exports.IdentityAccessor = void 0;
|
|
18
18
|
__exportStar(require("./Client"), exports);
|
|
19
19
|
__exportStar(require("./ClientFactory"), exports);
|
|
20
20
|
__exportStar(require("./ExternalTaskWorker"), exports);
|
|
21
21
|
__exportStar(require("./Clients/index"), exports);
|
|
22
22
|
__exportStar(require("./Types/index"), exports);
|
|
23
|
+
var IdentityAccessor_1 = require("./IdentityAccessor");
|
|
24
|
+
Object.defineProperty(exports, "IdentityAccessor", { enumerable: true, get: function () { return IdentityAccessor_1.IdentityAccessor; } });
|
|
25
|
+
var IdentityAccessorClientCredentials_1 = require("./IdentityAccessorClientCredentials");
|
|
26
|
+
Object.defineProperty(exports, "ClientCredentialsIdentityAccessor", { enumerable: true, get: function () { return IdentityAccessorClientCredentials_1.ClientCredentialsIdentityAccessor; } });
|
|
23
27
|
var processcube_engine_sdk_1 = require("@5minds/processcube_engine_sdk");
|
|
24
28
|
Object.defineProperty(exports, "BpmnType", { enumerable: true, get: function () { return processcube_engine_sdk_1.BpmnType; } });
|
|
25
29
|
Object.defineProperty(exports, "DataModels", { enumerable: true, get: function () { return processcube_engine_sdk_1.DataModels; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,kDAAgC;AAChC,uDAAqC;AAErC,kDAAgC;AAChC,gDAA8B;AAE9B,yEAAuI;AAA9H,kHAAA,QAAQ,OAAA;AAAE,oHAAA,UAAU,OAAA;AAAE,mHAAA,SAAS,OAAA;AAAY,+GAAA,KAAK,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,kDAAgC;AAChC,uDAAqC;AAErC,kDAAgC;AAChC,gDAA8B;AAE9B,uDAA6F;AAA3D,oHAAA,gBAAgB,OAAA;AAClD,yFAAwF;AAA/E,sJAAA,iCAAiC,OAAA;AAE1C,yEAAuI;AAA9H,kHAAA,QAAQ,OAAA;AAAE,oHAAA,UAAU,OAAA;AAAE,mHAAA,SAAS,OAAA;AAAY,+GAAA,KAAK,OAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,4 +3,6 @@ export * from './ClientFactory';
|
|
|
3
3
|
export * from './ExternalTaskWorker';
|
|
4
4
|
export * from './Clients/index';
|
|
5
5
|
export * from './Types/index';
|
|
6
|
+
export { ClientCredentialsConfig, IdentityAccessor, IdentityLike } from './IdentityAccessor';
|
|
7
|
+
export { ClientCredentialsIdentityAccessor } from './IdentityAccessorClientCredentials';
|
|
6
8
|
export { BpmnType, DataModels, EventType, Identity, Model, EventReceivedCallback, Subscription } from '@5minds/processcube_engine_sdk';
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"utf-8-validate": "Not used by the client directly, but a requirement of the 'ws' sub-dependency. Since it is not available in the browser, the client would be unusable for the APP SDK, if we did not install it explicitly here"
|
|
5
5
|
},
|
|
6
6
|
"name": "@5minds/processcube_engine_client",
|
|
7
|
-
"version": "6.0.0-alpha.
|
|
7
|
+
"version": "6.0.0-alpha.10",
|
|
8
8
|
"description": "Contains a typescript based client for accessing the Engine.",
|
|
9
9
|
"main": "dist/commonjs/index.js",
|
|
10
10
|
"types": "dist/index.d.ts",
|
|
@@ -33,20 +33,26 @@
|
|
|
33
33
|
"build": "tsc",
|
|
34
34
|
"lint": "prettier --write --config ./.prettierrc.json ./src",
|
|
35
35
|
"prepare": "npm run build",
|
|
36
|
-
"test": "
|
|
36
|
+
"build:test": "tsc --project tsconfig.tests.json",
|
|
37
|
+
"test": "npm run test:smoke",
|
|
38
|
+
"test:smoke": "npm run build:test && node ./dist_test/commonjs/test/smoke-test.js",
|
|
39
|
+
"test:integration": "npm run build:test && node ./dist_test/commonjs/test/integration-test.js"
|
|
37
40
|
},
|
|
38
41
|
"dependencies": {
|
|
39
|
-
"@5minds/processcube_engine_sdk": "6.1.0-alpha.
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
+
"@5minds/processcube_engine_sdk": "6.1.0-alpha.8",
|
|
43
|
+
"async-lock": "^1.4.1",
|
|
44
|
+
"bufferutil": "4.0.9",
|
|
45
|
+
"cross-fetch": "4.1.0",
|
|
46
|
+
"openid-client": "^6.1.7",
|
|
42
47
|
"socket.io-client": "4.8.1",
|
|
43
48
|
"utf-8-validate": "5.0.10",
|
|
44
49
|
"uuid": "^11.0.0"
|
|
45
50
|
},
|
|
46
51
|
"devDependencies": {
|
|
47
|
-
"@trivago/prettier-plugin-sort-imports": "^
|
|
48
|
-
"@types/node": "^22.
|
|
52
|
+
"@trivago/prettier-plugin-sort-imports": "^5.2.0",
|
|
53
|
+
"@types/node": "^22.10.2",
|
|
49
54
|
"prettier": "^3.3.2",
|
|
50
|
-
"typescript": "^5.5.3"
|
|
55
|
+
"typescript": "^5.5.3",
|
|
56
|
+
"why-is-node-running": "^3.2.1"
|
|
51
57
|
}
|
|
52
58
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"typingOptions": {
|
|
3
|
+
"enableAutoDiscovery": true
|
|
4
|
+
},
|
|
5
|
+
"compilerOptions": {
|
|
6
|
+
"rootDir": "./",
|
|
7
|
+
"outDir": "./dist_test/commonjs",
|
|
8
|
+
"module": "NodeNext",
|
|
9
|
+
"moduleResolution": "NodeNext",
|
|
10
|
+
"target": "esnext",
|
|
11
|
+
"lib": ["esnext"],
|
|
12
|
+
"declaration": true,
|
|
13
|
+
"skipLibCheck": true,
|
|
14
|
+
"declarationDir": "./dist_test",
|
|
15
|
+
"sourceMap": true,
|
|
16
|
+
"emitDecoratorMetadata": true,
|
|
17
|
+
"experimentalDecorators": true
|
|
18
|
+
},
|
|
19
|
+
"include": ["src", "test"]
|
|
20
|
+
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Identity } from '@5minds/processcube_engine_sdk';
|
|
2
|
-
import { BaseClient } from './BaseClient';
|
|
3
|
-
export type AnonymousSession = {
|
|
4
|
-
sessionId: string;
|
|
5
|
-
userId: string;
|
|
6
|
-
createdAt: Date;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* @deprecated The Anonymous Session Feature has been moved to the ProcessCube Authority.
|
|
10
|
-
Therefore, this client is no longer needed and will be removed with a future major update.
|
|
11
|
-
*/
|
|
12
|
-
export declare class AnonymousSessionHttpClient extends BaseClient {
|
|
13
|
-
/**
|
|
14
|
-
* @deprecated The Anonymous Session Feature has been moved to the ProcessCube Authority.
|
|
15
|
-
*/
|
|
16
|
-
getAnonymousSessionById(sessionId: string): Promise<AnonymousSession>;
|
|
17
|
-
/**
|
|
18
|
-
* @deprecated The Anonymous Session Feature has been moved to the ProcessCube Authority.
|
|
19
|
-
*/
|
|
20
|
-
getAnonymousSessionsByUserId(userId: string): Promise<Array<AnonymousSession>>;
|
|
21
|
-
/**
|
|
22
|
-
* @deprecated The Anonymous Session Feature has been moved to the ProcessCube Authority.
|
|
23
|
-
*/
|
|
24
|
-
createAnonymousSessionForIdentity(identity: Identity): Promise<string>;
|
|
25
|
-
private mapAnonymousSession;
|
|
26
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AnonymousSessionHttpClient = void 0;
|
|
4
|
-
const index_1 = require("../Types/index");
|
|
5
|
-
const BaseClient_1 = require("./BaseClient");
|
|
6
|
-
/**
|
|
7
|
-
* @deprecated The Anonymous Session Feature has been moved to the ProcessCube Authority.
|
|
8
|
-
Therefore, this client is no longer needed and will be removed with a future major update.
|
|
9
|
-
*/
|
|
10
|
-
class AnonymousSessionHttpClient extends BaseClient_1.BaseClient {
|
|
11
|
-
/**
|
|
12
|
-
* @deprecated The Anonymous Session Feature has been moved to the ProcessCube Authority.
|
|
13
|
-
*/
|
|
14
|
-
async getAnonymousSessionById(sessionId) {
|
|
15
|
-
const requestAuthHeaders = this.createRequestAuthHeaders(this.identity);
|
|
16
|
-
const endpoint = index_1.restSettings.paths.getAnonymousSessionById.replace(index_1.restSettings.params.sessionId, sessionId);
|
|
17
|
-
const url = this.buildUrl(endpoint);
|
|
18
|
-
const httpResponse = await this.httpClient.get(url, requestAuthHeaders);
|
|
19
|
-
return this.mapAnonymousSession(httpResponse.result);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @deprecated The Anonymous Session Feature has been moved to the ProcessCube Authority.
|
|
23
|
-
*/
|
|
24
|
-
async getAnonymousSessionsByUserId(userId) {
|
|
25
|
-
const requestAuthHeaders = this.createRequestAuthHeaders(this.identity);
|
|
26
|
-
const endpoint = index_1.restSettings.paths.getAnonymousSessionsByUserId.replace(index_1.restSettings.params.userId, userId);
|
|
27
|
-
const url = this.buildUrl(endpoint);
|
|
28
|
-
const httpResponse = await this.httpClient.get(url, requestAuthHeaders);
|
|
29
|
-
return httpResponse.result.map(this.mapAnonymousSession.bind(this));
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* @deprecated The Anonymous Session Feature has been moved to the ProcessCube Authority.
|
|
33
|
-
*/
|
|
34
|
-
async createAnonymousSessionForIdentity(identity) {
|
|
35
|
-
const requestAuthHeaders = this.createRequestAuthHeaders(identity);
|
|
36
|
-
const url = this.buildUrl(index_1.restSettings.paths.createAnonymousSession);
|
|
37
|
-
const httpResponse = await this.httpClient.post(url, {}, requestAuthHeaders);
|
|
38
|
-
return httpResponse.result.sessionId;
|
|
39
|
-
}
|
|
40
|
-
mapAnonymousSession(data) {
|
|
41
|
-
return {
|
|
42
|
-
...data,
|
|
43
|
-
createdAt: new Date(data.createdAt),
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.AnonymousSessionHttpClient = AnonymousSessionHttpClient;
|
|
48
|
-
//# sourceMappingURL=AnonymousSessionHttpClient.js.map
|