@boxyhq/saml-jackson 1.21.1 → 1.21.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/controller/oauth.js +43 -22
- package/dist/controller/oauth.js.map +1 -1
- package/dist/cron/lock.d.ts +18 -0
- package/dist/{directory-sync/batch-events → cron}/lock.js +40 -21
- package/dist/cron/lock.js.map +1 -0
- package/dist/directory-sync/batch-events/queue.d.ts +5 -2
- package/dist/directory-sync/batch-events/queue.js +47 -26
- package/dist/directory-sync/batch-events/queue.js.map +1 -1
- package/dist/directory-sync/index.d.ts +2 -3
- package/dist/directory-sync/index.js +30 -18
- package/dist/directory-sync/index.js.map +1 -1
- package/dist/directory-sync/non-scim/index.d.ts +16 -2
- package/dist/directory-sync/non-scim/index.js +70 -32
- package/dist/directory-sync/non-scim/index.js.map +1 -1
- package/dist/directory-sync/request.d.ts +8 -1
- package/dist/directory-sync/request.js +4 -3
- package/dist/directory-sync/request.js.map +1 -1
- package/dist/directory-sync/scim/Groups.js +15 -20
- package/dist/directory-sync/scim/Groups.js.map +1 -1
- package/dist/directory-sync/scim/Users.js +9 -13
- package/dist/directory-sync/scim/Users.js.map +1 -1
- package/dist/directory-sync/scim/WebhookEventsLogger.js +8 -8
- package/dist/directory-sync/scim/WebhookEventsLogger.js.map +1 -1
- package/dist/directory-sync/scim/utils.d.ts +6 -0
- package/dist/directory-sync/scim/utils.js +7 -1
- package/dist/directory-sync/scim/utils.js.map +1 -1
- package/dist/directory-sync/types.d.ts +2 -2
- package/dist/directory-sync/utils.d.ts +4 -2
- package/dist/directory-sync/utils.js +5 -3
- package/dist/directory-sync/utils.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/sso-tracer/types.d.ts +3 -2
- package/dist/typings.d.ts +5 -0
- package/package.json +9 -9
- package/dist/directory-sync/batch-events/lock.d.ts +0 -18
- package/dist/directory-sync/batch-events/lock.js.map +0 -1
package/dist/controller/oauth.js
CHANGED
@@ -71,12 +71,13 @@ class OAuthController {
|
|
71
71
|
}
|
72
72
|
authorize(body) {
|
73
73
|
return __awaiter(this, void 0, void 0, function* () {
|
74
|
-
var _a;
|
74
|
+
var _a, _b;
|
75
75
|
const { response_type = 'code', client_id, redirect_uri, state, scope, nonce, code_challenge, code_challenge_method = '', idp_hint, forceAuthn = 'false', login_hint, } = body;
|
76
76
|
let requestedTenant;
|
77
77
|
let requestedProduct;
|
78
78
|
let requestedScopes;
|
79
79
|
let requestedOIDCFlow;
|
80
|
+
let isOIDCFederated;
|
80
81
|
let connection;
|
81
82
|
let fedApp;
|
82
83
|
try {
|
@@ -148,6 +149,7 @@ class OAuthController {
|
|
148
149
|
// client_id is not encoded, so we look for the connection using the client_id
|
149
150
|
// First we check if it's a federated connection
|
150
151
|
if (client_id.startsWith(`${utils_1.clientIDFederatedPrefix}${utils_1.clientIDOIDCPrefix}`)) {
|
152
|
+
isOIDCFederated = true;
|
151
153
|
fedApp = yield this.samlFedApp.get({
|
152
154
|
id: client_id.replace(utils_1.clientIDFederatedPrefix, ''),
|
153
155
|
});
|
@@ -196,6 +198,9 @@ class OAuthController {
|
|
196
198
|
throw new error_1.JacksonError('Redirect URL is not allowed.', 403);
|
197
199
|
}
|
198
200
|
}
|
201
|
+
if (!(0, utils_2.isConnectionActive)(connection)) {
|
202
|
+
throw new error_1.JacksonError('SSO connection is deactivated. Please contact your administrator.', 403);
|
203
|
+
}
|
199
204
|
}
|
200
205
|
catch (err) {
|
201
206
|
const error_description = (0, utils_2.getErrorMessage)(err);
|
@@ -207,14 +212,12 @@ class OAuthController {
|
|
207
212
|
product: requestedProduct || '',
|
208
213
|
clientID: (connection === null || connection === void 0 ? void 0 : connection.clientID) || '',
|
209
214
|
requestedOIDCFlow,
|
215
|
+
isOIDCFederated,
|
210
216
|
redirectUri: redirect_uri,
|
211
217
|
},
|
212
218
|
});
|
213
219
|
throw err;
|
214
220
|
}
|
215
|
-
if (!(0, utils_2.isConnectionActive)(connection)) {
|
216
|
-
throw new error_1.JacksonError('SSO connection is deactivated. Please contact your administrator.', 403);
|
217
|
-
}
|
218
221
|
const isMissingJWTKeysForOIDCFlow = requestedOIDCFlow &&
|
219
222
|
(!((_a = this.opts.openid) === null || _a === void 0 ? void 0 : _a.jwtSigningKeys) || !(0, utils_2.isJWSKeyPairLoaded)(this.opts.openid.jwtSigningKeys));
|
220
223
|
const oAuthClientReqError = !state || response_type !== 'code';
|
@@ -247,6 +250,7 @@ class OAuthController {
|
|
247
250
|
product: requestedProduct,
|
248
251
|
clientID: connection.clientID,
|
249
252
|
requestedOIDCFlow,
|
253
|
+
isOIDCFederated,
|
250
254
|
redirectUri: redirect_uri,
|
251
255
|
},
|
252
256
|
});
|
@@ -290,6 +294,7 @@ class OAuthController {
|
|
290
294
|
product: requestedProduct,
|
291
295
|
clientID: connection.clientID,
|
292
296
|
requestedOIDCFlow,
|
297
|
+
isOIDCFederated,
|
293
298
|
redirectUri: redirect_uri,
|
294
299
|
},
|
295
300
|
});
|
@@ -325,6 +330,7 @@ class OAuthController {
|
|
325
330
|
product: requestedProduct,
|
326
331
|
clientID: connection.clientID,
|
327
332
|
requestedOIDCFlow,
|
333
|
+
isOIDCFederated,
|
328
334
|
redirectUri: redirect_uri,
|
329
335
|
},
|
330
336
|
});
|
@@ -342,18 +348,11 @@ class OAuthController {
|
|
342
348
|
let oidcCodeVerifier;
|
343
349
|
let oidcNonce;
|
344
350
|
if (connectionIsOIDC) {
|
345
|
-
if (!this.opts.oidcPath) {
|
346
|
-
return {
|
347
|
-
redirect_url: (0, utils_2.OAuthErrorResponse)({
|
348
|
-
error: 'server_error',
|
349
|
-
error_description: 'OpenID response handler path (oidcPath) is not set',
|
350
|
-
redirect_uri,
|
351
|
-
state,
|
352
|
-
}),
|
353
|
-
};
|
354
|
-
}
|
355
351
|
const { discoveryUrl, metadata, clientId, clientSecret } = connection.oidcProvider;
|
356
352
|
try {
|
353
|
+
if (!this.opts.oidcPath) {
|
354
|
+
throw new error_1.JacksonError('OpenID response handler path (oidcPath) is not set');
|
355
|
+
}
|
357
356
|
const oidcIssuer = yield (0, oidc_issuer_1.oidcIssuerInstance)(discoveryUrl, metadata);
|
358
357
|
const oidcClient = new oidcIssuer.Client({
|
359
358
|
client_id: clientId,
|
@@ -364,8 +363,11 @@ class OAuthController {
|
|
364
363
|
oidcCodeVerifier = openid_client_1.generators.codeVerifier();
|
365
364
|
const code_challenge = openid_client_1.generators.codeChallenge(oidcCodeVerifier);
|
366
365
|
oidcNonce = openid_client_1.generators.nonce();
|
366
|
+
const standardScopes = ((_b = this.opts.openid) === null || _b === void 0 ? void 0 : _b.requestProfileScope)
|
367
|
+
? ['openid', 'email', 'profile']
|
368
|
+
: ['openid', 'email'];
|
367
369
|
ssoUrl = oidcClient.authorizationUrl({
|
368
|
-
scope: [...requestedScopes,
|
370
|
+
scope: [...requestedScopes, ...standardScopes]
|
369
371
|
.filter((value, index, self) => self.indexOf(value) === index) // filter out duplicates
|
370
372
|
.join(' '),
|
371
373
|
code_challenge,
|
@@ -376,11 +378,24 @@ class OAuthController {
|
|
376
378
|
});
|
377
379
|
}
|
378
380
|
catch (err) {
|
381
|
+
const error_description = (err === null || err === void 0 ? void 0 : err.error) || (0, utils_2.getErrorMessage)(err);
|
382
|
+
// Save the error trace
|
383
|
+
const traceId = yield this.ssoTracer.saveTrace({
|
384
|
+
error: error_description,
|
385
|
+
context: {
|
386
|
+
tenant: requestedTenant,
|
387
|
+
product: requestedProduct,
|
388
|
+
clientID: connection.clientID,
|
389
|
+
requestedOIDCFlow,
|
390
|
+
isOIDCFederated,
|
391
|
+
redirectUri: redirect_uri,
|
392
|
+
},
|
393
|
+
});
|
379
394
|
if (err) {
|
380
395
|
return {
|
381
396
|
redirect_url: (0, utils_2.OAuthErrorResponse)({
|
382
397
|
error: 'server_error',
|
383
|
-
error_description:
|
398
|
+
error_description: traceId ? `${traceId}: ${error_description}` : error_description,
|
384
399
|
redirect_uri,
|
385
400
|
state,
|
386
401
|
}),
|
@@ -469,6 +484,7 @@ class OAuthController {
|
|
469
484
|
product: requestedProduct,
|
470
485
|
clientID: connection.clientID,
|
471
486
|
requestedOIDCFlow,
|
487
|
+
isOIDCFederated,
|
472
488
|
redirectUri: redirect_uri,
|
473
489
|
samlRequest: (samlReq === null || samlReq === void 0 ? void 0 : samlReq.request) || '',
|
474
490
|
},
|
@@ -543,6 +559,9 @@ class OAuthController {
|
|
543
559
|
// Found a connection
|
544
560
|
if ('connection' in response) {
|
545
561
|
connection = response.connection;
|
562
|
+
if (!(0, utils_2.isConnectionActive)(connection)) {
|
563
|
+
throw new error_1.JacksonError('SSO connection is deactivated. Please contact your administrator.', 403);
|
564
|
+
}
|
546
565
|
}
|
547
566
|
}
|
548
567
|
// SP initiated SSO flow
|
@@ -597,8 +616,9 @@ class OAuthController {
|
|
597
616
|
providerName: (_e = connection === null || connection === void 0 ? void 0 : connection.idpMetadata) === null || _e === void 0 ? void 0 : _e.provider,
|
598
617
|
redirectUri: isIdPFlow ? connection === null || connection === void 0 ? void 0 : connection.defaultRedirectUrl : session === null || session === void 0 ? void 0 : session.redirect_uri,
|
599
618
|
issuer,
|
600
|
-
isSAMLFederated
|
601
|
-
|
619
|
+
isSAMLFederated,
|
620
|
+
isOIDCFederated,
|
621
|
+
isIdPFlow,
|
602
622
|
requestedOIDCFlow: !!((_f = session === null || session === void 0 ? void 0 : session.requested) === null || _f === void 0 ? void 0 : _f.oidc),
|
603
623
|
acsUrl: (_g = session === null || session === void 0 ? void 0 : session.requested) === null || _g === void 0 ? void 0 : _g.acsUrl,
|
604
624
|
entityId: (_h = session === null || session === void 0 ? void 0 : session.requested) === null || _h === void 0 ? void 0 : _h.entityId,
|
@@ -639,6 +659,7 @@ class OAuthController {
|
|
639
659
|
providerName: (_j = connection === null || connection === void 0 ? void 0 : connection.idpMetadata) === null || _j === void 0 ? void 0 : _j.provider,
|
640
660
|
redirectUri: isIdPFlow ? connection === null || connection === void 0 ? void 0 : connection.defaultRedirectUrl : session === null || session === void 0 ? void 0 : session.redirect_uri,
|
641
661
|
isSAMLFederated,
|
662
|
+
isOIDCFederated,
|
642
663
|
isIdPFlow,
|
643
664
|
acsUrl: session.requested.acsUrl,
|
644
665
|
entityId: session.requested.entityId,
|
@@ -717,8 +738,8 @@ class OAuthController {
|
|
717
738
|
entityId: (_g = session === null || session === void 0 ? void 0 : session.requested) === null || _g === void 0 ? void 0 : _g.entityId,
|
718
739
|
redirectUri: redirect_uri,
|
719
740
|
relayState: RelayState,
|
720
|
-
isSAMLFederated
|
721
|
-
isOIDCFederated
|
741
|
+
isSAMLFederated,
|
742
|
+
isOIDCFederated,
|
722
743
|
requestedOIDCFlow: !!((_h = session === null || session === void 0 ? void 0 : session.requested) === null || _h === void 0 ? void 0 : _h.oidc),
|
723
744
|
},
|
724
745
|
});
|
@@ -769,8 +790,8 @@ class OAuthController {
|
|
769
790
|
providerName: oidcConnection.oidcProvider.provider,
|
770
791
|
redirectUri: redirect_uri,
|
771
792
|
relayState: RelayState,
|
772
|
-
isSAMLFederated
|
773
|
-
isOIDCFederated
|
793
|
+
isSAMLFederated,
|
794
|
+
isOIDCFederated,
|
774
795
|
acsUrl: session.requested.acsUrl,
|
775
796
|
entityId: session.requested.entityId,
|
776
797
|
requestedOIDCFlow: !!session.requested.oidc,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/controller/oauth.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/controller/oauth.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import type { Storable } from '../typings';
|
2
|
+
interface LockParams {
|
3
|
+
lockStore: Storable;
|
4
|
+
key: string;
|
5
|
+
}
|
6
|
+
export declare class CronLock {
|
7
|
+
private lockStore;
|
8
|
+
private key;
|
9
|
+
private intervalId;
|
10
|
+
constructor({ key, lockStore }: LockParams);
|
11
|
+
acquire(): Promise<boolean>;
|
12
|
+
private renew;
|
13
|
+
private add;
|
14
|
+
private get;
|
15
|
+
release(): Promise<void>;
|
16
|
+
private isExpired;
|
17
|
+
}
|
18
|
+
export {};
|
@@ -9,71 +9,90 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
9
9
|
});
|
10
10
|
};
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
-
exports.
|
13
|
-
|
14
|
-
|
12
|
+
exports.CronLock = void 0;
|
13
|
+
const crypto_1 = require("crypto");
|
14
|
+
const utils_1 = require("../directory-sync/utils");
|
15
|
+
const lockRenewalInterval = (utils_1.eventLockTTL / 2) * 1000;
|
16
|
+
const instanceKey = (0, crypto_1.randomUUID)();
|
17
|
+
class CronLock {
|
18
|
+
constructor({ key, lockStore }) {
|
15
19
|
this.lockStore = lockStore;
|
20
|
+
this.key = key;
|
16
21
|
}
|
17
|
-
acquire(
|
22
|
+
acquire() {
|
18
23
|
return __awaiter(this, void 0, void 0, function* () {
|
19
24
|
try {
|
20
25
|
const lock = yield this.get();
|
21
|
-
if (lock) {
|
22
|
-
return lock.key ===
|
26
|
+
if (lock && !this.isExpired(lock)) {
|
27
|
+
return lock.key === instanceKey;
|
28
|
+
}
|
29
|
+
yield this.add();
|
30
|
+
// Renew the lock periodically
|
31
|
+
if (!this.intervalId) {
|
32
|
+
this.intervalId = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
33
|
+
this.renew();
|
34
|
+
}), lockRenewalInterval);
|
23
35
|
}
|
24
|
-
yield this.add(key);
|
25
36
|
return true;
|
26
37
|
}
|
27
38
|
catch (e) {
|
28
|
-
console.error(`Error acquiring lock for ${
|
39
|
+
console.error(`Error acquiring lock for ${instanceKey}: ${e}`);
|
29
40
|
return false;
|
30
41
|
}
|
31
42
|
});
|
32
43
|
}
|
33
|
-
renew(
|
44
|
+
renew() {
|
34
45
|
return __awaiter(this, void 0, void 0, function* () {
|
35
46
|
try {
|
36
47
|
const lock = yield this.get();
|
37
48
|
if (!lock) {
|
38
49
|
return;
|
39
50
|
}
|
40
|
-
if (lock.key !=
|
51
|
+
if (lock.key != instanceKey) {
|
41
52
|
return;
|
42
53
|
}
|
43
|
-
yield this.add(
|
54
|
+
yield this.add();
|
44
55
|
}
|
45
56
|
catch (e) {
|
46
|
-
console.error(`Error renewing lock for ${
|
57
|
+
console.error(`Error renewing lock for ${instanceKey}: ${e}`);
|
47
58
|
}
|
48
59
|
});
|
49
60
|
}
|
50
|
-
add(
|
61
|
+
add() {
|
51
62
|
return __awaiter(this, void 0, void 0, function* () {
|
52
63
|
const record = {
|
53
|
-
key,
|
64
|
+
key: instanceKey,
|
54
65
|
created_at: new Date().toISOString(),
|
55
66
|
};
|
56
|
-
yield this.lockStore.put(key, record);
|
67
|
+
yield this.lockStore.put(this.key, record);
|
57
68
|
});
|
58
69
|
}
|
59
70
|
get() {
|
60
71
|
return __awaiter(this, void 0, void 0, function* () {
|
61
|
-
|
62
|
-
return data.length > 0 ? data[0] : null;
|
72
|
+
return (yield this.lockStore.get(this.key));
|
63
73
|
});
|
64
74
|
}
|
65
|
-
release(
|
75
|
+
release() {
|
66
76
|
return __awaiter(this, void 0, void 0, function* () {
|
77
|
+
if (this.intervalId) {
|
78
|
+
clearInterval(this.intervalId);
|
79
|
+
}
|
67
80
|
const lock = yield this.get();
|
68
81
|
if (!lock) {
|
69
82
|
return;
|
70
83
|
}
|
71
|
-
if (lock.key !=
|
84
|
+
if (lock.key != instanceKey) {
|
72
85
|
return;
|
73
86
|
}
|
74
|
-
yield this.lockStore.delete(key);
|
87
|
+
yield this.lockStore.delete(this.key);
|
75
88
|
});
|
76
89
|
}
|
90
|
+
isExpired(lock) {
|
91
|
+
const lockDate = new Date(lock.created_at);
|
92
|
+
const currentDate = new Date();
|
93
|
+
const diffSeconds = (currentDate.getTime() - lockDate.getTime()) / 1000;
|
94
|
+
return diffSeconds > utils_1.eventLockTTL;
|
95
|
+
}
|
77
96
|
}
|
78
|
-
exports.
|
97
|
+
exports.CronLock = CronLock;
|
79
98
|
//# sourceMappingURL=lock.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/cron/lock.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { DirectorySyncEvent, IDirectoryConfig, Storable, JacksonOption,
|
1
|
+
import type { DirectorySyncEvent, IDirectoryConfig, Storable, JacksonOption, CronLock, IWebhookEventsLogger } from '../../typings';
|
2
2
|
declare enum EventStatus {
|
3
3
|
PENDING = "PENDING",
|
4
4
|
FAILED = "FAILED",
|
@@ -14,7 +14,7 @@ interface QueuedEvent {
|
|
14
14
|
interface DirectoryEventsParams {
|
15
15
|
opts: JacksonOption;
|
16
16
|
eventStore: Storable;
|
17
|
-
eventLock:
|
17
|
+
eventLock: CronLock;
|
18
18
|
directories: IDirectoryConfig;
|
19
19
|
webhookLogs: IWebhookEventsLogger;
|
20
20
|
}
|
@@ -24,8 +24,10 @@ export declare class EventProcessor {
|
|
24
24
|
private opts;
|
25
25
|
private directories;
|
26
26
|
private webhookLogs;
|
27
|
+
private cronInterval;
|
27
28
|
constructor({ opts, eventStore, eventLock, directories, webhookLogs }: DirectoryEventsParams);
|
28
29
|
push(event: DirectorySyncEvent): Promise<QueuedEvent>;
|
30
|
+
private _process;
|
29
31
|
process(): Promise<void>;
|
30
32
|
fetchNextBatch(offset: number, limit: number): Promise<QueuedEvent[]>;
|
31
33
|
private send;
|
@@ -33,5 +35,6 @@ export declare class EventProcessor {
|
|
33
35
|
private markAsFailed;
|
34
36
|
private logWebhookEvent;
|
35
37
|
private notifyAllEventsFailed;
|
38
|
+
scheduleWorker(): Promise<void>;
|
36
39
|
}
|
37
40
|
export {};
|
@@ -36,14 +36,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
36
|
};
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
38
38
|
exports.EventProcessor = void 0;
|
39
|
-
const os_1 = __importDefault(require("os"));
|
40
39
|
const lodash_1 = __importDefault(require("lodash"));
|
41
40
|
const crypto_1 = require("crypto");
|
42
|
-
const utils_1 = require("../utils");
|
43
41
|
const webhook_1 = require("../../event/webhook");
|
44
|
-
const
|
42
|
+
const utils_1 = require("../../controller/utils");
|
45
43
|
const error_1 = require("../../controller/error");
|
46
44
|
const metrics = __importStar(require("../../opentelemetry/metrics"));
|
45
|
+
const utils_2 = require("../scim/utils");
|
47
46
|
var EventStatus;
|
48
47
|
(function (EventStatus) {
|
49
48
|
EventStatus["PENDING"] = "PENDING";
|
@@ -51,15 +50,20 @@ var EventStatus;
|
|
51
50
|
EventStatus["PROCESSING"] = "PROCESSING";
|
52
51
|
})(EventStatus || (EventStatus = {}));
|
53
52
|
let isJobRunning = false;
|
54
|
-
|
55
|
-
const lockRenewalInterval = (utils_1.eventLockTTL / 2) * 1000;
|
53
|
+
let intervalId;
|
56
54
|
class EventProcessor {
|
57
55
|
constructor({ opts, eventStore, eventLock, directories, webhookLogs }) {
|
56
|
+
var _a;
|
58
57
|
this.opts = opts;
|
59
58
|
this.eventLock = eventLock;
|
60
59
|
this.eventStore = eventStore;
|
61
60
|
this.directories = directories;
|
62
61
|
this.webhookLogs = webhookLogs;
|
62
|
+
this.cronInterval = (_a = this.opts.dsync) === null || _a === void 0 ? void 0 : _a.webhookBatchCronInterval;
|
63
|
+
if (this.cronInterval) {
|
64
|
+
this.scheduleWorker = this.scheduleWorker.bind(this);
|
65
|
+
this.scheduleWorker();
|
66
|
+
}
|
63
67
|
}
|
64
68
|
// Push the new event to the database
|
65
69
|
push(event) {
|
@@ -74,7 +78,7 @@ class EventProcessor {
|
|
74
78
|
};
|
75
79
|
const index = [
|
76
80
|
{
|
77
|
-
name:
|
81
|
+
name: utils_2.indexNames.directoryId,
|
78
82
|
value: event.directory_id,
|
79
83
|
},
|
80
84
|
];
|
@@ -82,32 +86,16 @@ class EventProcessor {
|
|
82
86
|
return record;
|
83
87
|
});
|
84
88
|
}
|
85
|
-
|
86
|
-
process() {
|
89
|
+
_process() {
|
87
90
|
return __awaiter(this, void 0, void 0, function* () {
|
88
91
|
var _a, _b;
|
89
|
-
|
90
|
-
return;
|
91
|
-
}
|
92
|
-
if (!(yield this.eventLock.acquire(lockKey))) {
|
93
|
-
return;
|
94
|
-
}
|
95
|
-
isJobRunning = true;
|
96
|
-
// Renew the lock periodically
|
97
|
-
const intervalId = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
98
|
-
this.eventLock.renew(lockKey);
|
99
|
-
}), lockRenewalInterval);
|
100
|
-
const batchSize = (_a = this.opts.dsync) === null || _a === void 0 ? void 0 : _a.webhookBatchSize;
|
101
|
-
if (!batchSize) {
|
102
|
-
throw new error_1.JacksonError('Batch size not defined');
|
103
|
-
}
|
92
|
+
const batchSize = ((_a = this.opts.dsync) === null || _a === void 0 ? void 0 : _a.webhookBatchSize) || 50;
|
104
93
|
// eslint-disable-next-line no-constant-condition
|
105
94
|
while (true) {
|
106
95
|
const events = yield this.fetchNextBatch(0, batchSize);
|
107
96
|
const eventsCount = events.length;
|
108
97
|
if (eventsCount === 0) {
|
109
|
-
|
110
|
-
yield this.eventLock.release(lockKey);
|
98
|
+
yield this.eventLock.release();
|
111
99
|
break;
|
112
100
|
}
|
113
101
|
// Group the events by directory
|
@@ -133,7 +121,7 @@ class EventProcessor {
|
|
133
121
|
yield this.delete(events);
|
134
122
|
continue;
|
135
123
|
}
|
136
|
-
if (!(0,
|
124
|
+
if (!(0, utils_1.isConnectionActive)(directory)) {
|
137
125
|
console.error(`Directory ${directoryId} is not active. Deleting the dsync events.`);
|
138
126
|
yield this.delete(events);
|
139
127
|
continue;
|
@@ -164,7 +152,29 @@ class EventProcessor {
|
|
164
152
|
}
|
165
153
|
}
|
166
154
|
}
|
155
|
+
});
|
156
|
+
}
|
157
|
+
// Process the events and send them to the webhooks as a batch
|
158
|
+
process() {
|
159
|
+
return __awaiter(this, void 0, void 0, function* () {
|
160
|
+
if (isJobRunning) {
|
161
|
+
console.info('A batch process is already running, skipping.');
|
162
|
+
return;
|
163
|
+
}
|
164
|
+
if (!(yield this.eventLock.acquire())) {
|
165
|
+
return;
|
166
|
+
}
|
167
|
+
isJobRunning = true;
|
168
|
+
try {
|
169
|
+
this._process();
|
170
|
+
}
|
171
|
+
catch (e) {
|
172
|
+
console.error(' Error processing webhooks batch:', e);
|
173
|
+
}
|
167
174
|
isJobRunning = false;
|
175
|
+
if (this.cronInterval) {
|
176
|
+
this.scheduleWorker();
|
177
|
+
}
|
168
178
|
});
|
169
179
|
}
|
170
180
|
// Fetch next batch of events from the database
|
@@ -230,6 +240,17 @@ class EventProcessor {
|
|
230
240
|
console.error('All events in the batch have failed. Please check the system.');
|
231
241
|
});
|
232
242
|
}
|
243
|
+
scheduleWorker() {
|
244
|
+
return __awaiter(this, void 0, void 0, function* () {
|
245
|
+
if (!this.cronInterval) {
|
246
|
+
return;
|
247
|
+
}
|
248
|
+
if (intervalId) {
|
249
|
+
clearInterval(intervalId);
|
250
|
+
}
|
251
|
+
intervalId = setInterval(() => this.process(), this.cronInterval * 1000);
|
252
|
+
});
|
253
|
+
}
|
233
254
|
}
|
234
255
|
exports.EventProcessor = EventProcessor;
|
235
256
|
//# sourceMappingURL=queue.js.map
|