@stigg/node-server-sdk 4.11.0 → 4.12.0
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/api/entitlements/entitlementsApi.d.ts +1 -2
- package/dist/api/entitlements/entitlementsApi.js +1 -6
- package/dist/clientInitialization.js +8 -7
- package/dist/configuration.d.ts +2 -21
- package/dist/configuration.js +1 -1
- package/dist/models.d.ts +4 -14
- package/dist/models.js +1 -1
- package/dist/services/ApiCacheMapper.d.ts +15 -0
- package/dist/services/ApiCacheMapper.js +96 -0
- package/dist/services/LegacyEventPayloadMapper.d.ts +1 -1
- package/dist/services/LegacyEventPayloadMapper.js +1 -3
- package/dist/services/cache/CacheMapper.d.ts +16 -0
- package/dist/services/cache/CacheMapper.js +3 -0
- package/dist/services/cache/RedisSingleExecutionService/RedisSingleExecution.d.ts +3 -3
- package/dist/services/cache/RedisSingleExecutionService/RedisSingleExecution.js +4 -3
- package/dist/services/cache/accessDeniedReasonMapper.d.ts +3 -0
- package/dist/services/cache/accessDeniedReasonMapper.js +16 -0
- package/dist/{utils → services/cache}/cacheKeysHelpers.d.ts +3 -2
- package/dist/services/cache/cacheKeysHelpers.js +55 -0
- package/dist/services/cache/cacheService.d.ts +10 -25
- package/dist/services/cache/entities/cachedEntitlement.d.ts +5 -2
- package/dist/services/cache/entities/cachedEntitlement.js +32 -7
- package/dist/services/cache/entities/calculatedEntitlement.d.ts +16 -15
- package/dist/services/cache/entities/entitlementsMap.d.ts +15 -4
- package/dist/services/cache/entities/entitlementsMap.js +34 -24
- package/dist/services/cache/entities/index.d.ts +1 -1
- package/dist/services/cache/entities/index.js +2 -3
- package/dist/services/cache/entities/usageData.d.ts +8 -4
- package/dist/services/cache/entities/usageData.js +7 -1
- package/dist/services/cache/extractWithDependencies.d.ts +12 -0
- package/dist/services/cache/extractWithDependencies.js +37 -0
- package/dist/services/cache/freshness/EntitlementsFreshener.d.ts +11 -0
- package/dist/services/cache/freshness/EntitlementsFreshener.js +27 -0
- package/dist/services/cache/freshness/transformers/CreditAccessPropagator.d.ts +15 -0
- package/dist/services/cache/freshness/transformers/CreditAccessPropagator.js +67 -0
- package/dist/services/cache/freshness/transformers/UsagePeriodReset.d.ts +11 -0
- package/dist/services/cache/freshness/transformers/UsagePeriodReset.js +45 -0
- package/dist/services/cache/inMemoryCacheService.d.ts +18 -13
- package/dist/services/cache/inMemoryCacheService.js +41 -57
- package/dist/services/cache/index.d.ts +13 -0
- package/dist/services/cache/index.js +38 -0
- package/dist/services/cache/redis/distributedLocks.d.ts +4 -3
- package/dist/services/cache/redis/distributedLocks.js +5 -4
- package/dist/services/cache/redisCacheService.constants.d.ts +1 -1
- package/dist/services/cache/redisCacheService.constants.js +3 -3
- package/dist/services/cache/redisCacheService.d.ts +43 -17
- package/dist/services/cache/redisCacheService.js +233 -169
- package/dist/services/cache/types/cacheInstrumentation.d.ts +37 -0
- package/dist/services/cache/types/cacheInstrumentation.js +3 -0
- package/dist/services/cache/types/cacheResponse.d.ts +26 -0
- package/dist/services/cache/types/cacheResponse.js +19 -0
- package/dist/services/cache/types/cacheServiceParams.d.ts +20 -0
- package/dist/services/cache/types/cacheServiceParams.js +3 -0
- package/dist/services/cache/types/entitlementFeature.d.ts +19 -0
- package/dist/services/cache/types/entitlementFeature.js +3 -0
- package/dist/services/cache/types/entitlementsMapTransformer.d.ts +4 -0
- package/dist/services/cache/types/entitlementsMapTransformer.js +3 -0
- package/dist/services/cache/types/logger.d.ts +6 -0
- package/dist/services/cache/types/logger.js +3 -0
- package/dist/services/cache/types/redisConfiguration.d.ts +39 -0
- package/dist/services/cache/types/redisConfiguration.js +14 -0
- package/dist/services/entitlementDecisionService.d.ts +1 -1
- package/dist/services/entitlementDecisionService.js +5 -5
- package/dist/services/entitlementsService.d.ts +21 -19
- package/dist/services/entitlementsService.js +57 -91
- package/dist/services/entitlementsService.utils.d.ts +0 -26
- package/dist/services/entitlementsService.utils.js +1 -17
- package/dist/services/eventEmitter.d.ts +1 -1
- package/dist/services/eventEmitterCacheInstrumentation.d.ts +9 -0
- package/dist/services/eventEmitterCacheInstrumentation.js +19 -0
- package/dist/services/inMemoryEntitlementsService.d.ts +5 -6
- package/dist/services/inMemoryEntitlementsService.js +36 -53
- package/dist/services/redisEntitlementsService.d.ts +5 -4
- package/dist/services/redisEntitlementsService.js +2 -2
- package/dist/types.d.ts +1 -0
- package/dist/utils/ModelMapper.d.ts +1 -1
- package/dist/{services/cache → utils}/calculateUsagePeriod.js +1 -1
- package/package.json +18 -1
- package/dist/services/cacheInstrumentation.d.ts +0 -18
- package/dist/services/cacheInstrumentation.js +0 -19
- package/dist/utils/CacheMapper.d.ts +0 -13
- package/dist/utils/CacheMapper.js +0 -95
- package/dist/utils/cacheKeysHelpers.js +0 -42
- /package/dist/{services/cache → utils}/calculateUsagePeriod.d.ts +0 -0
|
@@ -9,9 +9,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.InMemoryEntitlementsService = void 0;
|
|
10
10
|
const sdk_1 = require("@stigg/api-client-js/src/generated/sdk");
|
|
11
11
|
const entitlementsService_1 = require("./entitlementsService");
|
|
12
|
+
const cache_1 = require("./cache");
|
|
12
13
|
const ReuseOngoingExecution_1 = require("../utils/decorators/ReuseOngoingExecution");
|
|
13
14
|
const lodash_1 = require("lodash");
|
|
14
|
-
const entities_1 = require("./cache/entities");
|
|
15
15
|
const LegacyEventPayloadMapper_1 = require("./LegacyEventPayloadMapper");
|
|
16
16
|
const WS_ERROR_RECONNECT_INTERVAL_MS = 5 * 1000;
|
|
17
17
|
class InMemoryEntitlementsService extends entitlementsService_1.EntitlementsService {
|
|
@@ -22,7 +22,6 @@ class InMemoryEntitlementsService extends entitlementsService_1.EntitlementsServ
|
|
|
22
22
|
this.entitlementsSubscription = null;
|
|
23
23
|
this.usageSubscription = null;
|
|
24
24
|
this.packagePublished = null;
|
|
25
|
-
this.creditBalance = null;
|
|
26
25
|
}
|
|
27
26
|
init() {
|
|
28
27
|
this.loggerService.log('Subscribing to real-time updates');
|
|
@@ -30,7 +29,6 @@ class InMemoryEntitlementsService extends entitlementsService_1.EntitlementsServ
|
|
|
30
29
|
this.entitlementsSubscription = this.entitlementsApi.subscribeEntitlementsUpdated().subscribe((value) => this.onEntitlementsUpdated(value), (err) => this.websocketErrorHandling(err));
|
|
31
30
|
this.usageSubscription = this.entitlementsApi.subscribeUsageUpdated().subscribe((value) => this.onUsageUpdated(value), (err) => this.websocketErrorHandling(err));
|
|
32
31
|
this.packagePublished = this.entitlementsApi.subscribePackagePublished().subscribe((value) => this.onPackagePublished(value), (err) => this.websocketErrorHandling(err));
|
|
33
|
-
this.creditBalance = this.entitlementsApi.subscribeCreditBalanceUpdated().subscribe((value) => this.onCreditBalanceUpdated(value), (err) => this.websocketErrorHandling(err));
|
|
34
32
|
this.isInitialized = true;
|
|
35
33
|
}
|
|
36
34
|
websocketErrorHandling(err) {
|
|
@@ -51,15 +49,13 @@ class InMemoryEntitlementsService extends entitlementsService_1.EntitlementsServ
|
|
|
51
49
|
}
|
|
52
50
|
}
|
|
53
51
|
cleanup() {
|
|
54
|
-
var _a, _b, _c
|
|
52
|
+
var _a, _b, _c;
|
|
55
53
|
(_a = this.entitlementsSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
56
54
|
this.entitlementsSubscription = null;
|
|
57
55
|
(_b = this.usageSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
58
56
|
this.usageSubscription = null;
|
|
59
57
|
(_c = this.packagePublished) === null || _c === void 0 ? void 0 : _c.unsubscribe();
|
|
60
58
|
this.packagePublished = null;
|
|
61
|
-
(_d = this.creditBalance) === null || _d === void 0 ? void 0 : _d.unsubscribe();
|
|
62
|
-
this.creditBalance = null;
|
|
63
59
|
this.cacheService.clearCache();
|
|
64
60
|
this.isInitialized = false;
|
|
65
61
|
}
|
|
@@ -71,28 +67,37 @@ class InMemoryEntitlementsService extends entitlementsService_1.EntitlementsServ
|
|
|
71
67
|
return;
|
|
72
68
|
}
|
|
73
69
|
const entitlementsUpdated = result.data.entitlementsUpdatedV2;
|
|
70
|
+
const { customerId, resourceId, accessDeniedReason, entitlements } = entitlementsUpdated;
|
|
74
71
|
this.loggerService.debug(`Entitlements updated event arrived.`, {
|
|
75
|
-
customerId
|
|
76
|
-
resourceId
|
|
77
|
-
accessDeniedReason
|
|
78
|
-
entitlementsCount:
|
|
72
|
+
customerId,
|
|
73
|
+
resourceId,
|
|
74
|
+
accessDeniedReason,
|
|
75
|
+
entitlementsCount: entitlements.length,
|
|
79
76
|
});
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
? entitlementsService_1.accessDeniedReasonMap[entitlementsUpdated.accessDeniedReason]
|
|
83
|
-
: null;
|
|
84
|
-
if (entitlements.size === 0 && !accessDeniedReason) {
|
|
77
|
+
// Check for empty entitlements before mapping/caching
|
|
78
|
+
if (entitlements.length === 0 && !accessDeniedReason) {
|
|
85
79
|
this.loggerService.debug(`entitlements updated event contains no entitlements and no accessDeniedReason.`, {
|
|
86
|
-
customerId
|
|
87
|
-
resourceId
|
|
88
|
-
accessDeniedReason
|
|
80
|
+
customerId,
|
|
81
|
+
resourceId,
|
|
82
|
+
accessDeniedReason,
|
|
89
83
|
});
|
|
90
84
|
// we don't know the reason for empty entitlements, so we invalidate the cache to fetch
|
|
91
85
|
// fresh accessDeniedReason on next request
|
|
92
|
-
this.cacheService.
|
|
86
|
+
this.cacheService.purge({ customerId, resourceId });
|
|
93
87
|
return;
|
|
94
88
|
}
|
|
95
|
-
|
|
89
|
+
const entitlementsTimestamp = this.getEntitlementsUpdatedAtTimestamp({
|
|
90
|
+
entitlements,
|
|
91
|
+
customerId,
|
|
92
|
+
resourceId,
|
|
93
|
+
});
|
|
94
|
+
this.cacheService.setCustomer({
|
|
95
|
+
customerId,
|
|
96
|
+
resourceId,
|
|
97
|
+
entitlements,
|
|
98
|
+
accessDeniedReason,
|
|
99
|
+
entitlementsTimestamp: entitlementsTimestamp.getTime(),
|
|
100
|
+
});
|
|
96
101
|
// Emit backward-compatible event (filter out credit entitlements)
|
|
97
102
|
const v1Payload = (0, LegacyEventPayloadMapper_1.mapEntitlementsUpdatedV2ToV1)(entitlementsUpdated);
|
|
98
103
|
this.eventEmitter.emit('entitlementsUpdated', v1Payload);
|
|
@@ -115,50 +120,28 @@ class InMemoryEntitlementsService extends entitlementsService_1.EntitlementsServ
|
|
|
115
120
|
usagePeriodStart: usagePeriodStart,
|
|
116
121
|
usagePeriodEnd: usagePeriodEnd,
|
|
117
122
|
});
|
|
118
|
-
const
|
|
123
|
+
const usageTimestamp = usageUpdatedAt !== null && usageUpdatedAt !== void 0 ? usageUpdatedAt : Date.now();
|
|
124
|
+
this.cacheService.updateUsage({
|
|
119
125
|
customerId,
|
|
120
126
|
resourceId,
|
|
121
127
|
entitlementReference,
|
|
128
|
+
usageTimestamp,
|
|
122
129
|
usage: {
|
|
123
130
|
currentUsage,
|
|
124
131
|
usagePeriodStart,
|
|
125
132
|
usagePeriodEnd,
|
|
126
|
-
updatedAt: usageUpdatedAt !== null && usageUpdatedAt !== void 0 ? usageUpdatedAt : Date.now(),
|
|
127
133
|
},
|
|
128
134
|
});
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
const v1Payload = (0, LegacyEventPayloadMapper_1.buildUsageUpdatedV1Payload)(customerId, resourceId, updatedEntitlement);
|
|
132
|
-
this.eventEmitter.emit('usageUpdated', v1Payload);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
onCreditBalanceUpdated(result) {
|
|
136
|
-
if (result.errors || !result.data) {
|
|
137
|
-
this.loggerService.error(`Failed to handle credit balance updated event. Errors: ${result.errors}`, {
|
|
138
|
-
errors: JSON.stringify(result.errors),
|
|
139
|
-
});
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
const { customerId, resourceId, currentBalance, currency: { currencyId }, totalConsumed, totalGranted, validUntil, } = result.data.creditBalanceUpdated;
|
|
143
|
-
this.loggerService.log(`Credit balance updated event arrived.`, {
|
|
135
|
+
const updatedEntitlement = this.cacheService.getCustomerEntitlement({
|
|
136
|
+
query: entitlementReference,
|
|
144
137
|
customerId,
|
|
145
138
|
resourceId,
|
|
146
|
-
currencyId,
|
|
147
|
-
currentBalance,
|
|
148
|
-
totalConsumed,
|
|
149
|
-
totalGranted,
|
|
150
|
-
validUntil,
|
|
151
|
-
});
|
|
152
|
-
this.cacheService.updateEntitlementsBasedOnCreditBalanceUpdate({
|
|
153
|
-
timestamp: new Date(),
|
|
154
|
-
customerId,
|
|
155
|
-
resourceId: resourceId || undefined,
|
|
156
|
-
currencyId,
|
|
157
|
-
totalGranted,
|
|
158
|
-
totalConsumed,
|
|
159
|
-
currentBalance,
|
|
160
|
-
validUntil: validUntil || undefined,
|
|
161
139
|
});
|
|
140
|
+
// Only emit usageUpdated event for FEATURE type (backward compatibility)
|
|
141
|
+
if (updatedEntitlement.entitlement && (0, cache_1.isFeatureEntitlement)(updatedEntitlement.entitlement)) {
|
|
142
|
+
const v1Payload = (0, LegacyEventPayloadMapper_1.buildUsageUpdatedV1Payload)(customerId, resourceId, updatedEntitlement.entitlement);
|
|
143
|
+
this.eventEmitter.emit('usageUpdated', v1Payload);
|
|
144
|
+
}
|
|
162
145
|
}
|
|
163
146
|
isErrorRecoverable(err) {
|
|
164
147
|
const isInvalidAPIKeyError = err.reason === 'Invalid API key';
|
|
@@ -192,4 +175,4 @@ __decorate([
|
|
|
192
175
|
(0, ReuseOngoingExecution_1.ReuseOngoingExecution)(({ customerId, resourceId }) => (0, lodash_1.compact)([customerId, resourceId]).join(':'))
|
|
193
176
|
], InMemoryEntitlementsService.prototype, "refetchEntityEntitlementsAfterCacheMiss", null);
|
|
194
177
|
exports.InMemoryEntitlementsService = InMemoryEntitlementsService;
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5NZW1vcnlFbnRpdGxlbWVudHNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2luTWVtb3J5RW50aXRsZW1lbnRzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxnRUFLZ0Q7QUFHaEQsK0RBQTREO0FBRTVELG1DQUFxRTtBQUVyRSxxRkFBa0Y7QUFDbEYsbUNBQWlDO0FBRWpDLHlFQUFzRztBQUd0RyxNQUFNLDhCQUE4QixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7QUFFaEQsTUFBYSwyQkFBNEIsU0FBUSx5Q0FBbUI7SUFLbEUsWUFDcUIsWUFBd0QsRUFDM0UsTUFBMkMsRUFDMUIsWUFBK0IsRUFDaEQsYUFBNEIsRUFDNUIsYUFBbUMsRUFDbkMsbUJBQTJCO1FBRTNCLEtBQUssQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQVA1RCxpQkFBWSxHQUFaLFlBQVksQ0FBNEM7UUFFMUQsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBUDFDLDZCQUF3QixHQUFrQyxJQUFJLENBQUM7UUFDL0Qsc0JBQWlCLEdBQWtDLElBQUksQ0FBQztRQUN4RCxxQkFBZ0IsR0FBa0MsSUFBSSxDQUFDO0lBVy9ELENBQUM7SUFFUSxJQUFJO1FBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLFNBQVMsQ0FDM0YsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsRUFDNUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FDMUMsQ0FBQztRQUVGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixFQUFFLENBQUMsU0FBUyxDQUM3RSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFDckMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FDMUMsQ0FBQztRQUVGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHlCQUF5QixFQUFFLENBQUMsU0FBUyxDQUNoRixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUN6QyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUMxQyxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVPLHNCQUFzQixDQUFDLEdBQVE7UUFDckMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDO1FBQy9GLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUM5QyxNQUFNLFVBQVUsR0FBRywwREFBMEQsV0FBVyxNQUFNLGlCQUFpQixFQUFFLENBQUM7UUFDbEgsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ25FLElBQUksZUFBZSxFQUFFO1lBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3BDO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN0QztRQUNELElBQUksa0JBQWtCLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztJQUVRLE9BQU87O1FBQ2QsTUFBQSxJQUFJLENBQUMsd0JBQXdCLDBDQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFDckMsTUFBQSxJQUFJLENBQUMsaUJBQWlCLDBDQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDOUIsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLDBDQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRU8scUJBQXFCLENBQUMsTUFBd0Q7UUFDcEYsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyx3REFBd0QsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNoRyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2FBQ3RDLENBQUMsQ0FBQztZQUNILE9BQU87U0FDUjtRQUVELE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUM5RCxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQztRQUV6RixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsRUFBRTtZQUM5RCxVQUFVO1lBQ1YsVUFBVTtZQUNWLGtCQUFrQjtZQUNsQixpQkFBaUIsRUFBRSxZQUFZLENBQUMsTUFBTTtTQUN2QyxDQUFDLENBQUM7UUFFSCxzREFBc0Q7UUFDdEQsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3BELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGdGQUFnRixFQUFFO2dCQUN6RyxVQUFVO2dCQUNWLFVBQVU7Z0JBQ1Ysa0JBQWtCO2FBQ25CLENBQUMsQ0FBQztZQUNILHVGQUF1RjtZQUN2RiwyQ0FBMkM7WUFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUNwRCxPQUFPO1NBQ1I7UUFFRCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQztZQUNuRSxZQUFZO1lBQ1osVUFBVTtZQUNWLFVBQVU7U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUM1QixVQUFVO1lBQ1YsVUFBVTtZQUNWLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIscUJBQXFCLEVBQUUscUJBQXFCLENBQUMsT0FBTyxFQUFFO1NBQ3ZELENBQUMsQ0FBQztRQUVILGtFQUFrRTtRQUNsRSxNQUFNLFNBQVMsR0FBRyxJQUFBLHVEQUE0QixFQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFpRDtRQUN0RSxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGlEQUFpRCxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3pGLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7YUFDdEMsQ0FBQyxDQUFDO1lBQ0gsT0FBTztTQUNSO1FBRUQsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDM0YsTUFBTSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRWpGLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLDhCQUE4QixFQUFFO1lBQ3ZELFVBQVUsRUFBRSxVQUFVO1lBQ3RCLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQyxJQUFJO1lBQzFDLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO1lBQ3RDLFlBQVksRUFBRSxZQUFZO1lBQzFCLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxjQUFjLEVBQUUsY0FBYztTQUMvQixDQUFDLENBQUM7UUFFSCxNQUFNLGNBQWMsR0FBRyxjQUFjLGFBQWQsY0FBYyxjQUFkLGNBQWMsR0FBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFcEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7WUFDNUIsVUFBVTtZQUNWLFVBQVU7WUFDVixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLEtBQUssRUFBRTtnQkFDTCxZQUFZO2dCQUNaLGdCQUFnQjtnQkFDaEIsY0FBYzthQUNmO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDO1lBQ2xFLEtBQUssRUFBRSxvQkFBb0I7WUFDM0IsVUFBVTtZQUNWLFVBQVU7U0FDWCxDQUFDLENBQUM7UUFFSCx5RUFBeUU7UUFDekUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLElBQUksSUFBQSw0QkFBb0IsRUFBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMxRixNQUFNLFNBQVMsR0FBRyxJQUFBLHFEQUEwQixFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDckcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEdBQVE7UUFDakMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDO1FBQzlELE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztJQUMvQixDQUFDO0lBRVEsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLE1BQW1EOztRQUM1RSxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLHFEQUFxRCxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzdGLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7YUFDdEMsQ0FBQyxDQUFDO1lBQ0gsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsa0NBQWtDLEVBQUU7WUFDM0QsSUFBSSxFQUFFLE1BQUEsTUFBTSxDQUFDLElBQUksMENBQUUsZ0JBQWdCO1NBQ3BDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQSxNQUFBLE1BQU0sQ0FBQyxJQUFJLDBDQUFFLGdCQUFnQixDQUFDLGFBQWEsTUFBSywwQkFBb0IsQ0FBQyxZQUFZLEVBQUU7WUFDckYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsK0NBQStDLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUt3QixBQUFOLEtBQUssQ0FBQyx1Q0FBdUMsQ0FDOUQsTUFBcUQ7UUFFckQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNGO0FBTDBCO0lBSHhCLElBQUEsNkNBQXFCLEVBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQWlELEVBQUUsRUFBRSxDQUNuRyxJQUFBLGdCQUFPLEVBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQzVDOzBGQUtBO0FBek1ILGtFQTBNQyJ9
|
|
@@ -2,14 +2,15 @@ import { EntitlementsService } from './entitlementsService';
|
|
|
2
2
|
import { RefetchEntityEntitlementsAfterCacheMissParams } from './entitlementsService.utils';
|
|
3
3
|
import { ApolloClient, NormalizedCacheObject } from '@apollo/client/core';
|
|
4
4
|
import { LoggerService } from './loggerService';
|
|
5
|
-
import { RedisCacheService } from './cache
|
|
5
|
+
import { RedisCacheService } from './cache';
|
|
6
6
|
import { EdgeApiClient } from './EdgeApiClient';
|
|
7
|
+
import { CacheableEntitlement } from './ApiCacheMapper';
|
|
7
8
|
export declare class RedisEntitlementsService extends EntitlementsService {
|
|
8
|
-
protected readonly cacheService: RedisCacheService
|
|
9
|
+
protected readonly cacheService: RedisCacheService<CacheableEntitlement>;
|
|
9
10
|
protected readonly graphqlClient: ApolloClient<NormalizedCacheObject>;
|
|
10
11
|
protected readonly loggerService: LoggerService;
|
|
11
|
-
constructor(cacheService: RedisCacheService
|
|
12
|
-
protected refetchEntityEntitlementsAfterCacheMiss(params: RefetchEntityEntitlementsAfterCacheMissParams): Promise<import("./
|
|
12
|
+
constructor(cacheService: RedisCacheService<CacheableEntitlement>, graphqlClient: ApolloClient<NormalizedCacheObject>, loggerService: LoggerService, edgeApiClient: EdgeApiClient | null, entitlementsTimeout: number);
|
|
13
|
+
protected refetchEntityEntitlementsAfterCacheMiss(params: RefetchEntityEntitlementsAfterCacheMissParams): Promise<import("./cache").EntitlementsResponse>;
|
|
13
14
|
clearCache(): Promise<void>;
|
|
14
15
|
init(): void | Promise<void>;
|
|
15
16
|
cleanup(): void | Promise<void>;
|
|
@@ -28,7 +28,7 @@ class RedisEntitlementsService extends entitlementsService_1.EntitlementsService
|
|
|
28
28
|
}
|
|
29
29
|
const { customerId, resourceId } = params;
|
|
30
30
|
const reloadFromApi = () => this.refetchEntitlements(params);
|
|
31
|
-
const loadFromCache = () => this.cacheService.getCustomerEntitlements(customerId, resourceId);
|
|
31
|
+
const loadFromCache = () => this.cacheService.getCustomerEntitlements({ customerId, resourceId });
|
|
32
32
|
return distributedRefetchEntitlementsService.executeOnceAcrossMultipleProcesses({
|
|
33
33
|
customerId,
|
|
34
34
|
resourceId,
|
|
@@ -52,4 +52,4 @@ __decorate([
|
|
|
52
52
|
(0, ReuseOngoingExecution_1.ReuseOngoingExecution)(({ customerId, resourceId }) => (0, lodash_1.compact)([customerId, resourceId]).join(':'))
|
|
53
53
|
], RedisEntitlementsService.prototype, "refetchEntityEntitlementsAfterCacheMiss", null);
|
|
54
54
|
exports.RedisEntitlementsService = RedisEntitlementsService;
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXNFbnRpdGxlbWVudHNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL3JlZGlzRW50aXRsZW1lbnRzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSwrREFBNEQ7QUFNNUQscUZBQWtGO0FBQ2xGLG1DQUFpQztBQUdqQyxNQUFhLHdCQUF5QixTQUFRLHlDQUFtQjtJQUMvRCxZQUNxQixZQUFxRCxFQUNyRCxhQUFrRCxFQUNsRCxhQUE0QixFQUMvQyxhQUFtQyxFQUNuQyxtQkFBMkI7UUFFM0IsS0FBSyxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBTm5FLGlCQUFZLEdBQVosWUFBWSxDQUF5QztRQUNyRCxrQkFBYSxHQUFiLGFBQWEsQ0FBcUM7UUFDbEQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFLL0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyw0Q0FBNEM7SUFDekUsQ0FBQztJQUt3QixBQUFOLEtBQUssQ0FBQyx1Q0FBdUMsQ0FDOUQsTUFBcUQ7UUFFckQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtZQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7U0FDekU7UUFFRCxNQUFNLEVBQUUscUNBQXFDLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxxQ0FBcUMsRUFBRTtZQUMxQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN6QztRQUVELE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQzFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RCxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFbEcsT0FBTyxxQ0FBcUMsQ0FBQyxrQ0FBa0MsQ0FBQztZQUM5RSxVQUFVO1lBQ1YsVUFBVTtZQUNWLGFBQWE7WUFDYixhQUFhO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLFVBQVU7UUFDakIsNENBQTRDO1FBQzVDLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFUSxJQUFJO1FBQ1gsa0VBQWtFO1FBQ2xFLE9BQU87SUFDVCxDQUFDO0lBRVEsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFyQzBCO0lBSHhCLElBQUEsNkNBQXFCLEVBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQWlELEVBQUUsRUFBRSxDQUNuRyxJQUFBLGdCQUFPLEVBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQzVDO3VGQXVCQTtBQXJDSCw0REFvREMifQ==
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ApplySubscriptionMutation, CustomerResourceFragment, CustomerStatisticsFragment, CustomerWithSubscriptionsFragment, GetCouponsQuery, GetPaywallQuery, GetProductsQuery, ImmediateSubscriptionPreviewInvoiceFragment, ProvisionCustomerMutation, ProvisionSubscriptionMutation, ReportUsageFragment, SlimCustomerFragment, SlimSubscriptionFragment, SubscriptionFragment, SubscriptionPreviewFragment, SubscriptionPreviewInvoiceFragment, SubscriptionPreviewV2Fragment, UsageHistoryFragment } from '@stigg/api-client-js/src/generated/sdk';
|
|
2
2
|
import { ApplySubscriptionResults, BooleanEntitlement, Coupon, CreditEntitlement, CustomerResource, CustomerStatisticsModel, Entitlement, EnumEntitlement, FullCustomer, FullSubscription, MeteredEntitlement, Money, NumericEntitlement, Paywall, Plan, Price, Product, ProvisionedCustomer, ProvisionSubscriptionResult, ReportUsageAck, SlimCustomer, Subscription, SubscriptionPreview, SubscriptionPreviewCredits, SubscriptionPreviewDiscount, SubscriptionPreviewInvoice, SubscriptionPreviewV2, UsageHistoryPoint } from '../models';
|
|
3
3
|
import { Decision } from '../services/entitlementDecisionService';
|
|
4
|
-
import { CachedEntitlement, EntitlementType } from '../services/cache
|
|
4
|
+
import { CachedEntitlement, EntitlementType } from '../services/cache';
|
|
5
5
|
declare class ModelMapper {
|
|
6
6
|
mapEntitlement(entitlement: CachedEntitlement<EntitlementType.Feature>, decision: Decision, requestedUsage?: number, requestedValues?: string[]): Entitlement;
|
|
7
7
|
mapBooleanEntitlement(entitlement: CachedEntitlement<EntitlementType.Feature>, decision: Decision): BooleanEntitlement;
|
|
@@ -35,4 +35,4 @@ function calculateUsagePeriod(usagePeriodAnchor, baseDate, resetPeriod) {
|
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
exports.calculateUsagePeriod = calculateUsagePeriod;
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlVXNhZ2VQZXJpb2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY2FsY3VsYXRlVXNhZ2VQZXJpb2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQWdGO0FBQ2hGLGtEQUE4QztBQUU5QyxTQUFTLGFBQWEsQ0FBQyxXQUFtQztJQUN4RCxRQUFRLFdBQVcsRUFBRTtRQUNuQixLQUFLLDRCQUFzQixDQUFDLElBQUk7WUFDOUIsT0FBTyxPQUFPLENBQUM7UUFDakIsS0FBSyw0QkFBc0IsQ0FBQyxLQUFLO1lBQy9CLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLEtBQUssNEJBQXNCLENBQUMsSUFBSTtZQUM5QixPQUFPLE9BQU8sQ0FBQztRQUNqQixLQUFLLDRCQUFzQixDQUFDLEdBQUc7WUFDN0IsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyw0QkFBc0IsQ0FBQyxJQUFJO1lBQzlCLE9BQU8sT0FBTyxDQUFDO1FBQ2pCO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0tBQy9DO0FBQ0gsQ0FBQztBQUVELFNBQWdCLG9CQUFvQixDQUFDLGlCQUF1QixFQUFFLFFBQWMsRUFBRSxXQUFtQztJQUMvRyxNQUFNLEdBQUcsR0FBRyxJQUFBLGVBQUssRUFBQyxRQUFRLENBQUMsQ0FBQztJQUM1QixNQUFNLE1BQU0sR0FBRyxJQUFBLGVBQUssRUFBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUUxQyxNQUFNLDRCQUE0QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xGLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXBGLE9BQU87UUFDTCxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7UUFDM0MsY0FBYyxFQUFFLGNBQWMsQ0FBQyxNQUFNLEVBQUU7S0FDeEMsQ0FBQztBQUNKLENBQUM7QUFiRCxvREFhQyJ9
|
package/package.json
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stigg/node-server-sdk",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.12.0",
|
|
4
4
|
"description": "Stigg server-side node SDK",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"default": "./dist/index.js"
|
|
11
|
+
},
|
|
12
|
+
"./cache": {
|
|
13
|
+
"types": "./dist/services/cache/index.d.ts",
|
|
14
|
+
"default": "./dist/services/cache/index.js"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"typesVersions": {
|
|
18
|
+
"*": {
|
|
19
|
+
"cache": [
|
|
20
|
+
"dist/services/cache/index.d.ts"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
},
|
|
7
24
|
"repository": "https://github.com/stiggio/node-server-sdk",
|
|
8
25
|
"license": "MIT",
|
|
9
26
|
"keywords": [],
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { TypedEventEmitter } from './eventEmitter';
|
|
2
|
-
export interface CacheHit {
|
|
3
|
-
customerId: string;
|
|
4
|
-
resourceId?: string;
|
|
5
|
-
}
|
|
6
|
-
export interface CacheMiss extends CacheHit {
|
|
7
|
-
globalCustomerMissing?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare class CacheInstrumentation {
|
|
10
|
-
private readonly eventEmitter;
|
|
11
|
-
constructor(eventEmitter: TypedEventEmitter);
|
|
12
|
-
trackHit(data: CacheHit): void;
|
|
13
|
-
trackMiss(data: CacheMiss): void;
|
|
14
|
-
trackRedisClientError(data: {
|
|
15
|
-
error: Error;
|
|
16
|
-
clientName: 'redis' | 'redlock' | 'subscribe';
|
|
17
|
-
}): void;
|
|
18
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CacheInstrumentation = void 0;
|
|
4
|
-
class CacheInstrumentation {
|
|
5
|
-
constructor(eventEmitter) {
|
|
6
|
-
this.eventEmitter = eventEmitter;
|
|
7
|
-
}
|
|
8
|
-
trackHit(data) {
|
|
9
|
-
this.eventEmitter.emit('cacheHit', data);
|
|
10
|
-
}
|
|
11
|
-
trackMiss(data) {
|
|
12
|
-
this.eventEmitter.emit('cacheMiss', data);
|
|
13
|
-
}
|
|
14
|
-
trackRedisClientError(data) {
|
|
15
|
-
this.eventEmitter.emit('redisClientError', data);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
exports.CacheInstrumentation = CacheInstrumentation;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVJbnN0cnVtZW50YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvY2FjaGVJbnN0cnVtZW50YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBV0EsTUFBYSxvQkFBb0I7SUFDL0IsWUFBNkIsWUFBK0I7UUFBL0IsaUJBQVksR0FBWixZQUFZLENBQW1CO0lBQUcsQ0FBQztJQUVoRSxRQUFRLENBQUMsSUFBYztRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFlO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBcUU7UUFDekYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztDQUNGO0FBZEQsb0RBY0MifQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { EntitlementUnionFragment, EntitlementFragment } from '@stigg/api-client-js/src/generated/sdk';
|
|
2
|
-
import { CachedEntitlement, EntitlementsMap } from '../services/cache/entities';
|
|
3
|
-
import { LoggerService } from '../services/loggerService';
|
|
4
|
-
type CacheableEntitlement = EntitlementUnionFragment | EntitlementFragment;
|
|
5
|
-
export default class CacheMapper {
|
|
6
|
-
private readonly loggerService;
|
|
7
|
-
constructor(loggerService: LoggerService);
|
|
8
|
-
mapCachedEntitlement(entitlement: CacheableEntitlement): CachedEntitlement | null;
|
|
9
|
-
private mapCreditEntitlement;
|
|
10
|
-
private mapFeatureEntitlement;
|
|
11
|
-
mapCachedEntitlements(updatedEntitlements: CacheableEntitlement[]): EntitlementsMap;
|
|
12
|
-
}
|
|
13
|
-
export {};
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const lodash_1 = require("lodash");
|
|
4
|
-
const entities_1 = require("../services/cache/entities");
|
|
5
|
-
const dateUtils_1 = require("./dateUtils");
|
|
6
|
-
class CacheMapper {
|
|
7
|
-
constructor(loggerService) {
|
|
8
|
-
this.loggerService = loggerService;
|
|
9
|
-
}
|
|
10
|
-
mapCachedEntitlement(entitlement) {
|
|
11
|
-
switch (entitlement.__typename) {
|
|
12
|
-
case 'CreditEntitlement': {
|
|
13
|
-
return this.mapCreditEntitlement(entitlement);
|
|
14
|
-
}
|
|
15
|
-
case 'FeatureEntitlement':
|
|
16
|
-
case 'Entitlement': {
|
|
17
|
-
const { feature } = entitlement;
|
|
18
|
-
if (!feature) {
|
|
19
|
-
this.loggerService.error('Skipping feature entitlement without feature data');
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
return this.mapFeatureEntitlement(entitlement, feature);
|
|
23
|
-
}
|
|
24
|
-
default: {
|
|
25
|
-
this.loggerService.error(`Skipping unknown entitlement type: ${entitlement.__typename}`);
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
mapCreditEntitlement(entitlement) {
|
|
31
|
-
var _a, _b, _c, _d, _e;
|
|
32
|
-
return new entities_1.CachedEntitlement({
|
|
33
|
-
type: entities_1.EntitlementType.Credit,
|
|
34
|
-
currency: {
|
|
35
|
-
currencyId: entitlement.currency.currencyId,
|
|
36
|
-
},
|
|
37
|
-
usageLimit: (_a = entitlement.usageLimit) !== null && _a !== void 0 ? _a : 0,
|
|
38
|
-
accessDeniedReason: entitlement.accessDeniedReason || undefined,
|
|
39
|
-
validUntil: entitlement.validUntil || undefined,
|
|
40
|
-
entitlementUpdatedAt: (_b = (0, dateUtils_1.mapDate)(entitlement.entitlementUpdatedAt)) === null || _b === void 0 ? void 0 : _b.getTime(),
|
|
41
|
-
}, {
|
|
42
|
-
currentUsage: (_c = entitlement.currentUsage) !== null && _c !== void 0 ? _c : 0,
|
|
43
|
-
// no usage periods for credit entitlements
|
|
44
|
-
usagePeriodStart: null,
|
|
45
|
-
usagePeriodEnd: null,
|
|
46
|
-
updatedAt: (_e = (_d = (0, dateUtils_1.mapDate)(entitlement.usageUpdatedAt)) === null || _d === void 0 ? void 0 : _d.getTime()) !== null && _e !== void 0 ? _e : Date.now(),
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
mapFeatureEntitlement(entitlement, featureFragment) {
|
|
50
|
-
var _a, _b, _c, _d, _e, _f;
|
|
51
|
-
const feature = {
|
|
52
|
-
id: featureFragment.refId,
|
|
53
|
-
displayName: featureFragment.displayName,
|
|
54
|
-
description: featureFragment.description || undefined,
|
|
55
|
-
featureType: featureFragment.featureType,
|
|
56
|
-
meterType: featureFragment.meterType || undefined,
|
|
57
|
-
units: featureFragment.featureUnits || '',
|
|
58
|
-
unitsPlural: featureFragment.featureUnitsPlural || '',
|
|
59
|
-
unitTransformation: featureFragment.unitTransformation || undefined,
|
|
60
|
-
};
|
|
61
|
-
let creditRate = undefined;
|
|
62
|
-
if (entitlement.creditRate) {
|
|
63
|
-
creditRate = {
|
|
64
|
-
amount: entitlement.creditRate.amount,
|
|
65
|
-
currencyId: entitlement.creditRate.currencyId,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
return new entities_1.CachedEntitlement({
|
|
69
|
-
type: entities_1.EntitlementType.Feature,
|
|
70
|
-
feature,
|
|
71
|
-
usageLimit: entitlement.usageLimit,
|
|
72
|
-
hasUnlimitedUsage: entitlement.hasUnlimitedUsage,
|
|
73
|
-
hasSoftLimit: !!entitlement.hasSoftLimit,
|
|
74
|
-
accessDeniedReason: entitlement.accessDeniedReason || undefined,
|
|
75
|
-
enumValues: entitlement.enumValues || undefined,
|
|
76
|
-
validUntil: entitlement.validUntil || undefined,
|
|
77
|
-
entitlementUpdatedAt: (_a = (0, dateUtils_1.mapDate)(entitlement.entitlementUpdatedAt)) === null || _a === void 0 ? void 0 : _a.getTime(),
|
|
78
|
-
usagePeriodAnchor: (_b = (0, dateUtils_1.mapDate)(entitlement.usagePeriodAnchor)) === null || _b === void 0 ? void 0 : _b.getTime(),
|
|
79
|
-
creditRate,
|
|
80
|
-
resetPeriod: entitlement.resetPeriod,
|
|
81
|
-
resetPeriodConfiguration: entitlement.resetPeriodConfiguration,
|
|
82
|
-
}, {
|
|
83
|
-
currentUsage: entitlement.currentUsage || 0,
|
|
84
|
-
usagePeriodStart: (_c = (0, dateUtils_1.mapDate)(entitlement.usagePeriodStart)) === null || _c === void 0 ? void 0 : _c.getTime(),
|
|
85
|
-
usagePeriodEnd: (_d = (0, dateUtils_1.mapDate)(entitlement.usagePeriodEnd)) === null || _d === void 0 ? void 0 : _d.getTime(),
|
|
86
|
-
updatedAt: (_f = (_e = (0, dateUtils_1.mapDate)(entitlement.usageUpdatedAt)) === null || _e === void 0 ? void 0 : _e.getTime()) !== null && _f !== void 0 ? _f : Date.now(),
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
mapCachedEntitlements(updatedEntitlements) {
|
|
90
|
-
const cachedEntitlements = (0, lodash_1.compact)(updatedEntitlements.map((entitlement) => this.mapCachedEntitlement(entitlement)));
|
|
91
|
-
return new entities_1.EntitlementsMap(cachedEntitlements);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
exports.default = CacheMapper;
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGVNYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvQ2FjaGVNYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxtQ0FBaUM7QUFDakMseURBQWlHO0FBQ2pHLDJDQUFzQztBQU10QyxNQUFxQixXQUFXO0lBQzlCLFlBQTZCLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUU3RCxvQkFBb0IsQ0FBQyxXQUFpQztRQUNwRCxRQUFRLFdBQVcsQ0FBQyxVQUFVLEVBQUU7WUFDOUIsS0FBSyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUN4QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMvQztZQUVELEtBQUssb0JBQW9CLENBQUM7WUFDMUIsS0FBSyxhQUFhLENBQUMsQ0FBQztnQkFDbEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDWixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO29CQUM5RSxPQUFPLElBQUksQ0FBQztpQkFDYjtnQkFDRCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDekQ7WUFFRCxPQUFPLENBQUMsQ0FBQztnQkFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxzQ0FBdUMsV0FBbUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsV0FBc0M7O1FBQ2pFLE9BQU8sSUFBSSw0QkFBaUIsQ0FDMUI7WUFDRSxJQUFJLEVBQUUsMEJBQWUsQ0FBQyxNQUFNO1lBQzVCLFFBQVEsRUFBRTtnQkFDUixVQUFVLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVO2FBQzVDO1lBQ0QsVUFBVSxFQUFFLE1BQUEsV0FBVyxDQUFDLFVBQVUsbUNBQUksQ0FBQztZQUN2QyxrQkFBa0IsRUFBRSxXQUFXLENBQUMsa0JBQWtCLElBQUksU0FBUztZQUMvRCxVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVUsSUFBSSxTQUFTO1lBQy9DLG9CQUFvQixFQUFFLE1BQUEsSUFBQSxtQkFBTyxFQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQywwQ0FBRSxPQUFPLEVBQUU7U0FDM0UsRUFDRDtZQUNFLFlBQVksRUFBRSxNQUFBLFdBQVcsQ0FBQyxZQUFZLG1DQUFJLENBQUM7WUFFM0MsMkNBQTJDO1lBQzNDLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsY0FBYyxFQUFFLElBQUk7WUFFcEIsU0FBUyxFQUFFLE1BQUEsTUFBQSxJQUFBLG1CQUFPLEVBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQywwQ0FBRSxPQUFPLEVBQUUsbUNBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtTQUN4RSxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8scUJBQXFCLENBQzNCLFdBQTZELEVBQzdELGVBQW1FOztRQUVuRSxNQUFNLE9BQU8sR0FBRztZQUNkLEVBQUUsRUFBRSxlQUFlLENBQUMsS0FBSztZQUN6QixXQUFXLEVBQUUsZUFBZSxDQUFDLFdBQVc7WUFDeEMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxXQUFXLElBQUksU0FBUztZQUNyRCxXQUFXLEVBQUUsZUFBZSxDQUFDLFdBQVc7WUFDeEMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxTQUFTLElBQUksU0FBUztZQUNqRCxLQUFLLEVBQUUsZUFBZSxDQUFDLFlBQVksSUFBSSxFQUFFO1lBQ3pDLFdBQVcsRUFBRSxlQUFlLENBQUMsa0JBQWtCLElBQUksRUFBRTtZQUNyRCxrQkFBa0IsRUFBRSxlQUFlLENBQUMsa0JBQWtCLElBQUksU0FBUztTQUNwRSxDQUFDO1FBQ0YsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksV0FBVyxDQUFDLFVBQVUsRUFBRTtZQUMxQixVQUFVLEdBQUc7Z0JBQ1gsTUFBTSxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTTtnQkFDckMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsVUFBVTthQUM5QyxDQUFDO1NBQ0g7UUFDRCxPQUFPLElBQUksNEJBQWlCLENBQzFCO1lBQ0UsSUFBSSxFQUFFLDBCQUFlLENBQUMsT0FBTztZQUM3QixPQUFPO1lBQ1AsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVO1lBQ2xDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxpQkFBaUI7WUFDaEQsWUFBWSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWTtZQUN4QyxrQkFBa0IsRUFBRSxXQUFXLENBQUMsa0JBQWtCLElBQUksU0FBUztZQUMvRCxVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVUsSUFBSSxTQUFTO1lBQy9DLFVBQVUsRUFBRSxXQUFXLENBQUMsVUFBVSxJQUFJLFNBQVM7WUFDL0Msb0JBQW9CLEVBQUUsTUFBQSxJQUFBLG1CQUFPLEVBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLDBDQUFFLE9BQU8sRUFBRTtZQUMxRSxpQkFBaUIsRUFBRSxNQUFBLElBQUEsbUJBQU8sRUFBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsMENBQUUsT0FBTyxFQUFFO1lBQ3BFLFVBQVU7WUFDVixXQUFXLEVBQUUsV0FBVyxDQUFDLFdBQVc7WUFDcEMsd0JBQXdCLEVBQUUsV0FBVyxDQUFDLHdCQUF3QjtTQUMvRCxFQUNEO1lBQ0UsWUFBWSxFQUFFLFdBQVcsQ0FBQyxZQUFZLElBQUksQ0FBQztZQUMzQyxnQkFBZ0IsRUFBRSxNQUFBLElBQUEsbUJBQU8sRUFBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsMENBQUUsT0FBTyxFQUFFO1lBQ2xFLGNBQWMsRUFBRSxNQUFBLElBQUEsbUJBQU8sRUFBQyxXQUFXLENBQUMsY0FBYyxDQUFDLDBDQUFFLE9BQU8sRUFBRTtZQUM5RCxTQUFTLEVBQUUsTUFBQSxNQUFBLElBQUEsbUJBQU8sRUFBQyxXQUFXLENBQUMsY0FBYyxDQUFDLDBDQUFFLE9BQU8sRUFBRSxtQ0FBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1NBQ3hFLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxtQkFBMkM7UUFDL0QsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLGdCQUFPLEVBQ2hDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQ2pGLENBQUM7UUFDRixPQUFPLElBQUksMEJBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FDRjtBQXRHRCw4QkFzR0MifQ==
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildRedisUsageKey = exports.buildRedisCustomerKey = exports.buildCachedCustomerKey = exports.buildLockKey = void 0;
|
|
4
|
-
const redisCacheService_constants_1 = require("../services/cache/redisCacheService.constants");
|
|
5
|
-
const CUSTOMER_PREFIX = 'c_';
|
|
6
|
-
const RESOURCE_PREFIX = 'r_';
|
|
7
|
-
const FEATURE_PREFIX = 'f_';
|
|
8
|
-
function buildLockKey(environmentPrefix, customerId, resourceId, operationName) {
|
|
9
|
-
let lockKey = environmentPrefix;
|
|
10
|
-
if (operationName) {
|
|
11
|
-
lockKey = `${lockKey}:${operationName}`;
|
|
12
|
-
}
|
|
13
|
-
lockKey = `${lockKey}-${customerId}`; // using - instead of : for backward compatability
|
|
14
|
-
if (resourceId) {
|
|
15
|
-
lockKey = `${lockKey}:${resourceId}`;
|
|
16
|
-
}
|
|
17
|
-
return lockKey;
|
|
18
|
-
}
|
|
19
|
-
exports.buildLockKey = buildLockKey;
|
|
20
|
-
const buildCachedCustomerKey = (customerId, resourceId) => {
|
|
21
|
-
let key = `${CUSTOMER_PREFIX}${customerId}`;
|
|
22
|
-
if (resourceId) {
|
|
23
|
-
const resourceKey = `${RESOURCE_PREFIX}${resourceId}`;
|
|
24
|
-
key = `${key}:${resourceKey}`;
|
|
25
|
-
}
|
|
26
|
-
return key;
|
|
27
|
-
};
|
|
28
|
-
exports.buildCachedCustomerKey = buildCachedCustomerKey;
|
|
29
|
-
const buildRedisCustomerKey = (environmentPrefix, customerId, resourceId) => {
|
|
30
|
-
const customerKey = `${environmentPrefix}:${(0, exports.buildCachedCustomerKey)(customerId, resourceId)}`;
|
|
31
|
-
return {
|
|
32
|
-
customerKey,
|
|
33
|
-
metadataKey: `${customerKey}:${redisCacheService_constants_1.METADATA_SUFFIX}`,
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
exports.buildRedisCustomerKey = buildRedisCustomerKey;
|
|
37
|
-
const buildRedisUsageKey = (environmentPrefix, customerId, featureId, resourceId) => {
|
|
38
|
-
const { customerKey } = (0, exports.buildRedisCustomerKey)(environmentPrefix, customerId, resourceId);
|
|
39
|
-
return `${customerKey}:${FEATURE_PREFIX}${featureId}`;
|
|
40
|
-
};
|
|
41
|
-
exports.buildRedisUsageKey = buildRedisUsageKey;
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVLZXlzSGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jYWNoZUtleXNIZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtGQUFnRjtBQUdoRixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUM7QUFDN0IsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDO0FBQzdCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQztBQUU1QixTQUFnQixZQUFZLENBQzFCLGlCQUF5QixFQUN6QixVQUFrQixFQUNsQixVQUF5QixFQUN6QixhQUFzQjtJQUV0QixJQUFJLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztJQUVoQyxJQUFJLGFBQWEsRUFBRTtRQUNqQixPQUFPLEdBQUcsR0FBRyxPQUFPLElBQUksYUFBYSxFQUFFLENBQUM7S0FDekM7SUFFRCxPQUFPLEdBQUcsR0FBRyxPQUFPLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxrREFBa0Q7SUFFeEYsSUFBSSxVQUFVLEVBQUU7UUFDZCxPQUFPLEdBQUcsR0FBRyxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7S0FDdEM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBbkJELG9DQW1CQztBQUVNLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxVQUFrQixFQUFFLFVBQXlCLEVBQVUsRUFBRTtJQUM5RixJQUFJLEdBQUcsR0FBRyxHQUFHLGVBQWUsR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUM1QyxJQUFJLFVBQVUsRUFBRTtRQUNkLE1BQU0sV0FBVyxHQUFHLEdBQUcsZUFBZSxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQ3RELEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztLQUMvQjtJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBUlcsUUFBQSxzQkFBc0IsMEJBUWpDO0FBRUssTUFBTSxxQkFBcUIsR0FBRyxDQUNuQyxpQkFBeUIsRUFDekIsVUFBa0IsRUFDbEIsVUFBeUIsRUFDcUIsRUFBRTtJQUNoRCxNQUFNLFdBQVcsR0FBRyxHQUFHLGlCQUFpQixJQUFJLElBQUEsOEJBQXNCLEVBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDN0YsT0FBTztRQUNMLFdBQVc7UUFDWCxXQUFXLEVBQUUsR0FBRyxXQUFXLElBQUksNkNBQWUsRUFBRTtLQUNqRCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBVlcsUUFBQSxxQkFBcUIseUJBVWhDO0FBRUssTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxpQkFBeUIsRUFDekIsVUFBa0IsRUFDbEIsU0FBaUIsRUFDakIsVUFBeUIsRUFDekIsRUFBRTtJQUNGLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFBLDZCQUFxQixFQUFDLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUV6RixPQUFPLEdBQUcsV0FBVyxJQUFJLGNBQWMsR0FBRyxTQUFTLEVBQUUsQ0FBQztBQUN4RCxDQUFDLENBQUM7QUFUVyxRQUFBLGtCQUFrQixzQkFTN0IifQ==
|
|
File without changes
|