@stigg/node-server-sdk 3.25.0 → 3.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -17,7 +17,6 @@ export declare class RedisSingleExecutionService {
|
|
|
17
17
|
private readonly pendingNotifications;
|
|
18
18
|
constructor(operationName: string, environmentPrefix: string, notificationTimeoutMs: number, redisClient: Redis, redlock: Redlock, loggerService: LoggerService);
|
|
19
19
|
executeOnceAcrossMultipleProcesses<ApiResponse, Response>(context: OperationContext<ApiResponse, Response>): Promise<Response>;
|
|
20
|
-
refetchFromApiAndNotify<ApiResponse, Response>({ reloadFromApi, transformApiResult }: OperationContext<ApiResponse, Response>, { cancelNotificationSubscription, notify }: NotificationContext): Promise<Response>;
|
|
21
20
|
waitForNotificationAndLoadFromCache<ApiResponse, Response>({ customerId, resourceId, reloadFromApi, loadFromCache, transformApiResult, }: OperationContext<ApiResponse, Response>, { cancelNotificationSubscription, notificationPromise }: NotificationContext): Promise<Response>;
|
|
22
21
|
private isLockTakenByAnotherClientError;
|
|
23
22
|
private subscribeForNotification;
|
|
@@ -34,37 +34,31 @@ class RedisSingleExecutionService {
|
|
|
34
34
|
this.subscribeClient.on('message', this.onEventNotification.bind(this));
|
|
35
35
|
}
|
|
36
36
|
async executeOnceAcrossMultipleProcesses(context) {
|
|
37
|
-
const { customerId, resourceId } = context;
|
|
37
|
+
const { customerId, resourceId, reloadFromApi, transformApiResult } = context;
|
|
38
38
|
const notificationContext = await this.subscribeForNotification(context);
|
|
39
|
+
const { notify, cancelNotificationSubscription } = notificationContext;
|
|
39
40
|
const lockKey = (0, cacheKeysHelpers_1.buildLockKey)(this.environmentPrefix, customerId, resourceId, this.operationName);
|
|
40
41
|
try {
|
|
41
|
-
|
|
42
|
+
const response = await this.redlock.using([lockKey], RedisSingleExecution_utils_1.LOCK_DURATION, RedisSingleExecution_utils_1.LOCK_NO_RETRY_SETTINGS, async () => {
|
|
42
43
|
// At this point, this process has the responsibility to fetch data from
|
|
43
44
|
// the API, cache it, and then notify other clients to continue their execution.
|
|
44
|
-
|
|
45
|
+
// no need to listen anymore as this process is the one who will notify later
|
|
46
|
+
await cancelNotificationSubscription();
|
|
47
|
+
// perform the operation
|
|
48
|
+
const response = await reloadFromApi();
|
|
49
|
+
return transformApiResult(response);
|
|
45
50
|
});
|
|
46
|
-
}
|
|
47
|
-
catch (err) {
|
|
48
|
-
if (!this.isLockTakenByAnotherClientError(err)) {
|
|
49
|
-
throw err;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
// At this point, another process is responsible for fetching data from
|
|
53
|
-
// the API and caching it. This process waits until the data fetching and
|
|
54
|
-
// caching is complete, then retrieves the data from the cache.
|
|
55
|
-
return this.waitForNotificationAndLoadFromCache(context, notificationContext);
|
|
56
|
-
}
|
|
57
|
-
async refetchFromApiAndNotify({ reloadFromApi, transformApiResult }, { cancelNotificationSubscription, notify }) {
|
|
58
|
-
try {
|
|
59
|
-
// no need to listen anymore as this process is the one who will notify later
|
|
60
|
-
await cancelNotificationSubscription();
|
|
61
|
-
// perform the operation
|
|
62
|
-
const response = await reloadFromApi();
|
|
63
51
|
// notify other clients that the data is ready
|
|
64
52
|
await notify();
|
|
65
|
-
return
|
|
53
|
+
return response;
|
|
66
54
|
}
|
|
67
55
|
catch (err) {
|
|
56
|
+
if (this.isLockTakenByAnotherClientError(err)) {
|
|
57
|
+
// At this point, another process is responsible for fetching data from
|
|
58
|
+
// the API and caching it. This process waits until the data fetching and
|
|
59
|
+
// caching is complete, then retrieves the data from the cache.
|
|
60
|
+
return this.waitForNotificationAndLoadFromCache(context, notificationContext);
|
|
61
|
+
}
|
|
68
62
|
await notify(err.message);
|
|
69
63
|
throw err;
|
|
70
64
|
}
|
|
@@ -184,4 +178,4 @@ __decorate([
|
|
|
184
178
|
(0, ReuseOngoingExecution_1.ReuseOngoingExecution)(({ customerId, resourceId }) => (0, lodash_1.compact)([customerId, resourceId]).join(':'))
|
|
185
179
|
], RedisSingleExecutionService.prototype, "executeOnceAcrossMultipleProcesses", null);
|
|
186
180
|
exports.RedisSingleExecutionService = RedisSingleExecutionService;
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkaXNTaW5nbGVFeGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvY2FjaGUvUmVkaXNTaW5nbGVFeGVjdXRpb25TZXJ2aWNlL1JlZGlzU2luZ2xlRXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLHFDQUFrRDtBQUVsRCxzRUFBK0Q7QUFDL0QsbUNBQWlDO0FBQ2pDLDJGQUF3RjtBQUN4Riw2RUFTc0M7QUFFdEM7OztHQUdHO0FBQ0gsTUFBYSwyQkFBMkI7SUFJdEMsWUFDbUIsYUFBcUIsRUFDckIsaUJBQXlCO0lBQzFDLGlFQUFpRTtJQUNqRSxxRUFBcUU7SUFDcEQscUJBQTZCLEVBQzdCLFdBQWtCLEVBQ2xCLE9BQWdCLEVBQ2hCLGFBQTRCO1FBUDVCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQ3JCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUd6QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQVE7UUFDN0IsZ0JBQVcsR0FBWCxXQUFXLENBQU87UUFDbEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVY5Qix5QkFBb0IsR0FBRyxJQUFJLEdBQUcsRUFBNkIsQ0FBQztRQVkzRSxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQztRQUN0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
|
|
@@ -44,7 +44,12 @@ class EntitlementsService {
|
|
|
44
44
|
return fallbackEntitlement;
|
|
45
45
|
}
|
|
46
46
|
if (!entitlement) {
|
|
47
|
-
this.loggerService.log(`
|
|
47
|
+
this.loggerService.log(`No entitlement for boolean feature found`, {
|
|
48
|
+
customerRefId,
|
|
49
|
+
resourceId,
|
|
50
|
+
featureRefId,
|
|
51
|
+
accessDeniedReason: decision.accessDeniedReason,
|
|
52
|
+
});
|
|
48
53
|
const entitlementResult = this.modelMapper.mapEntitlementResult(decision);
|
|
49
54
|
this.tryTrackEntitlementCheck(shouldTrack, featureRefId, customerRefId, resourceId, entitlementResult);
|
|
50
55
|
return Object.assign(Object.assign({}, decision), { isFallback: false });
|
|
@@ -65,7 +70,12 @@ class EntitlementsService {
|
|
|
65
70
|
return fallbackEntitlement;
|
|
66
71
|
}
|
|
67
72
|
if (!entitlement) {
|
|
68
|
-
this.loggerService.log(`
|
|
73
|
+
this.loggerService.log(`No entitlement for numeric feature found`, {
|
|
74
|
+
customerRefId,
|
|
75
|
+
resourceId,
|
|
76
|
+
featureRefId,
|
|
77
|
+
accessDeniedReason: decision.accessDeniedReason,
|
|
78
|
+
});
|
|
69
79
|
const entitlementResult = this.modelMapper.mapEntitlementResult(decision);
|
|
70
80
|
this.tryTrackEntitlementCheck(shouldTrack, featureRefId, customerRefId, resourceId, entitlementResult);
|
|
71
81
|
return Object.assign(Object.assign({}, decision), { isFallback: false, isUnlimited: false });
|
|
@@ -88,7 +98,12 @@ class EntitlementsService {
|
|
|
88
98
|
return fallbackEntitlement;
|
|
89
99
|
}
|
|
90
100
|
if (!entitlement) {
|
|
91
|
-
this.loggerService.log(`
|
|
101
|
+
this.loggerService.log(`No entitlement for metered feature found`, {
|
|
102
|
+
customerRefId,
|
|
103
|
+
resourceId,
|
|
104
|
+
featureRefId,
|
|
105
|
+
accessDeniedReason: decision.accessDeniedReason,
|
|
106
|
+
});
|
|
92
107
|
const entitlementResult = this.modelMapper.mapEntitlementResult(decision, undefined, requestUsage);
|
|
93
108
|
this.tryTrackEntitlementCheck(shouldTrack, featureRefId, customerRefId, resourceId, entitlementResult);
|
|
94
109
|
return Object.assign(Object.assign({}, decision), { currentUsage: 0, isFallback: false, isUnlimited: false, hasSoftLimit: false, requestedUsage: requestUsage || 0 });
|
|
@@ -219,4 +234,4 @@ class EntitlementsService {
|
|
|
219
234
|
}
|
|
220
235
|
}
|
|
221
236
|
exports.EntitlementsService = EntitlementsService;
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbnRpdGxlbWVudHNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlGQUFzRjtBQUN0RiwwRkFBa0U7QUFHbEUsc0NBWW1CO0FBQ25CLHNEQUFtRDtBQUNuRCw2RUFBMEU7QUFHMUUsbUNBQXdDO0FBRXhDLGtEQUFpRDtBQVVqRCx1RUFBK0M7QUE0QmxDLFFBQUEsb0JBQW9CLEdBQUc7SUFDbEMsUUFBUSxFQUFFLENBQUMsWUFBNEMsRUFBZ0MsRUFBRSxDQUFDLENBQUM7UUFDekYsWUFBWTtRQUNaLGNBQWMsRUFBRSxJQUFJO0tBQ3JCLENBQUM7SUFDRixTQUFTLEVBQUUsR0FBa0MsRUFBRSxDQUFDLENBQUM7UUFDL0MsWUFBWSxFQUFFLElBQUk7UUFDbEIsY0FBYyxFQUFFLEtBQUs7S0FDdEIsQ0FBQztDQUNILENBQUM7QUFpQkYsTUFBc0IsbUJBQW1CO0lBUXZDLFlBQ0UsTUFBMkMsRUFDeEIsYUFBNEIsRUFDL0Msb0JBQXlELEVBQ3pELGFBQW1DLEVBQ2hCLFlBQTBCO1FBSDFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBRzVCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBUHJDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBUzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSx5QkFBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHFCQUFXLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUkseUJBQWUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLG1FQUFnQyxDQUMxRSxJQUFJLHlCQUFlLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxFQUN2RSxJ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
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbnRpdGxlbWVudHNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlGQUFzRjtBQUN0RiwwRkFBa0U7QUFHbEUsc0NBWW1CO0FBQ25CLHNEQUFtRDtBQUNuRCw2RUFBMEU7QUFHMUUsbUNBQXdDO0FBRXhDLGtEQUFpRDtBQVVqRCx1RUFBK0M7QUE0QmxDLFFBQUEsb0JBQW9CLEdBQUc7SUFDbEMsUUFBUSxFQUFFLENBQUMsWUFBNEMsRUFBZ0MsRUFBRSxDQUFDLENBQUM7UUFDekYsWUFBWTtRQUNaLGNBQWMsRUFBRSxJQUFJO0tBQ3JCLENBQUM7SUFDRixTQUFTLEVBQUUsR0FBa0MsRUFBRSxDQUFDLENBQUM7UUFDL0MsWUFBWSxFQUFFLElBQUk7UUFDbEIsY0FBYyxFQUFFLEtBQUs7S0FDdEIsQ0FBQztDQUNILENBQUM7QUFpQkYsTUFBc0IsbUJBQW1CO0lBUXZDLFlBQ0UsTUFBMkMsRUFDeEIsYUFBNEIsRUFDL0Msb0JBQXlELEVBQ3pELGFBQW1DLEVBQ2hCLFlBQTBCO1FBSDFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBRzVCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBUHJDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBUzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSx5QkFBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHFCQUFXLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUkseUJBQWUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLG1FQUFnQyxDQUMxRSxJQUFJLHlCQUFlLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxFQUN2RSxJ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
|