@stigg/node-server-sdk 4.10.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.
Files changed (95) hide show
  1. package/dist/api/entitlements/entitlementsApi.d.ts +3 -4
  2. package/dist/api/entitlements/entitlementsApi.js +3 -8
  3. package/dist/client.d.ts +11 -1
  4. package/dist/client.js +26 -4
  5. package/dist/clientInitialization.js +8 -7
  6. package/dist/configuration.d.ts +2 -21
  7. package/dist/configuration.js +1 -1
  8. package/dist/models.d.ts +30 -6
  9. package/dist/models.js +12 -2
  10. package/dist/services/ApiCacheMapper.d.ts +15 -0
  11. package/dist/services/ApiCacheMapper.js +96 -0
  12. package/dist/services/EdgeApiClient.d.ts +1 -2
  13. package/dist/services/EdgeApiClient.js +1 -7
  14. package/dist/services/LegacyEventPayloadMapper.d.ts +15 -0
  15. package/dist/services/LegacyEventPayloadMapper.js +102 -0
  16. package/dist/services/cache/CacheMapper.d.ts +16 -0
  17. package/dist/services/cache/CacheMapper.js +3 -0
  18. package/dist/services/cache/RedisSingleExecutionService/RedisSingleExecution.d.ts +3 -3
  19. package/dist/services/cache/RedisSingleExecutionService/RedisSingleExecution.js +4 -3
  20. package/dist/services/cache/accessDeniedReasonMapper.d.ts +3 -0
  21. package/dist/services/cache/accessDeniedReasonMapper.js +16 -0
  22. package/dist/services/cache/cacheKeysHelpers.d.ts +9 -0
  23. package/dist/services/cache/cacheKeysHelpers.js +55 -0
  24. package/dist/services/cache/cacheService.d.ts +10 -28
  25. package/dist/services/cache/entities/cachedEntitlement.d.ts +20 -0
  26. package/dist/services/cache/entities/cachedEntitlement.js +53 -0
  27. package/dist/services/cache/entities/calculatedEntitlement.d.ts +34 -0
  28. package/dist/services/cache/entities/calculatedEntitlement.js +3 -0
  29. package/dist/services/cache/entities/entitlementQuery.d.ts +8 -0
  30. package/dist/services/cache/entities/entitlementQuery.js +3 -0
  31. package/dist/services/cache/entities/entitlementsMap.d.ts +33 -0
  32. package/dist/services/cache/entities/entitlementsMap.js +92 -0
  33. package/dist/services/cache/entities/index.d.ts +6 -0
  34. package/dist/services/cache/entities/index.js +12 -0
  35. package/dist/services/cache/entities/usageData.d.ts +11 -0
  36. package/dist/services/cache/entities/usageData.js +9 -0
  37. package/dist/services/cache/extractWithDependencies.d.ts +12 -0
  38. package/dist/services/cache/extractWithDependencies.js +37 -0
  39. package/dist/services/cache/freshness/EntitlementsFreshener.d.ts +11 -0
  40. package/dist/services/cache/freshness/EntitlementsFreshener.js +27 -0
  41. package/dist/services/cache/freshness/transformers/CreditAccessPropagator.d.ts +15 -0
  42. package/dist/services/cache/freshness/transformers/CreditAccessPropagator.js +67 -0
  43. package/dist/services/cache/freshness/transformers/UsagePeriodReset.d.ts +11 -0
  44. package/dist/services/cache/freshness/transformers/UsagePeriodReset.js +45 -0
  45. package/dist/services/cache/inMemoryCacheService.d.ts +19 -14
  46. package/dist/services/cache/inMemoryCacheService.js +44 -69
  47. package/dist/services/cache/index.d.ts +13 -0
  48. package/dist/services/cache/index.js +38 -0
  49. package/dist/services/cache/redis/distributedLocks.d.ts +4 -3
  50. package/dist/services/cache/redis/distributedLocks.js +5 -4
  51. package/dist/services/cache/redisCacheService.constants.d.ts +1 -1
  52. package/dist/services/cache/redisCacheService.constants.js +3 -3
  53. package/dist/services/cache/redisCacheService.d.ts +54 -17
  54. package/dist/services/cache/redisCacheService.js +293 -159
  55. package/dist/services/cache/types/cacheInstrumentation.d.ts +37 -0
  56. package/dist/services/cache/types/cacheInstrumentation.js +3 -0
  57. package/dist/services/cache/types/cacheResponse.d.ts +26 -0
  58. package/dist/services/cache/types/cacheResponse.js +19 -0
  59. package/dist/services/cache/types/cacheServiceParams.d.ts +20 -0
  60. package/dist/services/cache/types/cacheServiceParams.js +3 -0
  61. package/dist/services/cache/types/entitlementFeature.d.ts +19 -0
  62. package/dist/services/cache/types/entitlementFeature.js +3 -0
  63. package/dist/services/cache/types/entitlementsMapTransformer.d.ts +4 -0
  64. package/dist/services/cache/types/entitlementsMapTransformer.js +3 -0
  65. package/dist/services/cache/types/logger.d.ts +6 -0
  66. package/dist/services/cache/types/logger.js +3 -0
  67. package/dist/services/cache/types/redisConfiguration.d.ts +39 -0
  68. package/dist/services/cache/types/redisConfiguration.js +14 -0
  69. package/dist/services/entitlementDecisionService.d.ts +14 -2
  70. package/dist/services/entitlementDecisionService.js +41 -14
  71. package/dist/services/entitlementsService.d.ts +26 -23
  72. package/dist/services/entitlementsService.js +126 -110
  73. package/dist/services/entitlementsService.utils.d.ts +1 -28
  74. package/dist/services/entitlementsService.utils.js +1 -17
  75. package/dist/services/eventEmitter.d.ts +1 -1
  76. package/dist/services/eventEmitterCacheInstrumentation.d.ts +9 -0
  77. package/dist/services/eventEmitterCacheInstrumentation.js +19 -0
  78. package/dist/services/inMemoryEntitlementsService.d.ts +5 -6
  79. package/dist/services/inMemoryEntitlementsService.js +52 -59
  80. package/dist/services/redisEntitlementsService.d.ts +5 -4
  81. package/dist/services/redisEntitlementsService.js +2 -2
  82. package/dist/types.d.ts +2 -0
  83. package/dist/utils/ModelMapper.d.ts +8 -7
  84. package/dist/utils/ModelMapper.js +17 -3
  85. package/dist/{services/cache → utils}/calculateUsagePeriod.js +1 -1
  86. package/package.json +18 -1
  87. package/dist/services/cache/cachedEntitlement.d.ts +0 -29
  88. package/dist/services/cache/cachedEntitlement.js +0 -10
  89. package/dist/services/cacheInstrumentation.d.ts +0 -18
  90. package/dist/services/cacheInstrumentation.js +0 -19
  91. package/dist/utils/CacheMapper.d.ts +0 -6
  92. package/dist/utils/CacheMapper.js +0 -57
  93. package/dist/utils/cacheKeysHelpers.d.ts +0 -7
  94. package/dist/utils/cacheKeysHelpers.js +0 -42
  95. /package/dist/{services/cache → utils}/calculateUsagePeriod.d.ts +0 -0
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const dateUtils_1 = require("./dateUtils");
4
- class CacheMapper {
5
- mapCachedEntitlement(entitlement) {
6
- var _a, _b, _c, _d;
7
- let feature = undefined;
8
- if (entitlement.feature) {
9
- feature = {
10
- id: (_a = entitlement.feature) === null || _a === void 0 ? void 0 : _a.refId,
11
- featureType: entitlement.feature.featureType,
12
- meterType: entitlement.feature.meterType || undefined,
13
- units: entitlement.feature.featureUnits || '',
14
- unitsPlural: entitlement.feature.featureUnitsPlural || '',
15
- };
16
- }
17
- let creditRate = undefined;
18
- if (entitlement.creditRate) {
19
- creditRate = {
20
- amount: entitlement.creditRate.amount,
21
- currencyId: entitlement.creditRate.currencyId,
22
- };
23
- }
24
- return {
25
- calculatedEntitlement: {
26
- feature,
27
- resourceId: entitlement.resourceId || undefined,
28
- usageLimit: entitlement.usageLimit,
29
- hasUnlimitedUsage: entitlement.hasUnlimitedUsage,
30
- hasSoftLimit: !!entitlement.hasSoftLimit,
31
- accessDeniedReason: entitlement.accessDeniedReason || undefined,
32
- enumValues: entitlement.enumValues || [],
33
- validUntil: entitlement.validUntil || undefined,
34
- creditRate,
35
- },
36
- featureUsage: {
37
- resetPeriod: entitlement.resetPeriod,
38
- resetPeriodConfiguration: entitlement.resetPeriodConfiguration,
39
- currentUsage: entitlement.currentUsage || 0,
40
- usagePeriodAnchor: (_b = (0, dateUtils_1.mapDate)(entitlement.usagePeriodAnchor)) === null || _b === void 0 ? void 0 : _b.getTime(),
41
- usagePeriodStart: (_c = (0, dateUtils_1.mapDate)(entitlement.usagePeriodStart)) === null || _c === void 0 ? void 0 : _c.getTime(),
42
- usagePeriodEnd: (_d = (0, dateUtils_1.mapDate)(entitlement.usagePeriodEnd)) === null || _d === void 0 ? void 0 : _d.getTime(),
43
- },
44
- };
45
- }
46
- mapCachedEntitlements(updatedEntitlements) {
47
- return new Map(updatedEntitlements.map((entitlement) => {
48
- var _a;
49
- return [
50
- ((_a = entitlement.feature) === null || _a === void 0 ? void 0 : _a.refId) || '',
51
- this.mapCachedEntitlement(entitlement),
52
- ];
53
- }));
54
- }
55
- }
56
- exports.default = CacheMapper;
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGVNYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvQ2FjaGVNYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSwyQ0FBc0M7QUFFdEMsTUFBcUIsV0FBVztJQUM5QixvQkFBb0IsQ0FBQyxXQUFnQzs7UUFDbkQsSUFBSSxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRTtZQUN2QixPQUFPLEdBQUc7Z0JBQ1IsRUFBRSxFQUFFLE1BQUEsV0FBVyxDQUFDLE9BQU8sMENBQUUsS0FBSztnQkFDOUIsV0FBVyxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFDNUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLFNBQVM7Z0JBQ3JELEtBQUssRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxFQUFFO2dCQUM3QyxXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxFQUFFO2FBQzFELENBQUM7U0FDSDtRQUNELElBQUksVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUU7WUFDMUIsVUFBVSxHQUFHO2dCQUNYLE1BQU0sRUFBRSxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU07Z0JBQ3JDLFVBQVUsRUFBRSxXQUFXLENBQUMsVUFBVSxDQUFDLFVBQVU7YUFDOUMsQ0FBQztTQUNIO1FBQ0QsT0FBTztZQUNMLHFCQUFxQixFQUFFO2dCQUNyQixPQUFPO2dCQUNQLFVBQVUsRUFBRSxXQUFXLENBQUMsVUFBVSxJQUFJLFNBQVM7Z0JBQy9DLFVBQVUsRUFBRSxXQUFXLENBQUMsVUFBVTtnQkFDbEMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLGlCQUFpQjtnQkFDaEQsWUFBWSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWTtnQkFDeEMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLGtCQUFrQixJQUFJLFNBQVM7Z0JBQy9ELFVBQVUsRUFBRSxXQUFXLENBQUMsVUFBVSxJQUFJLEVBQUU7Z0JBQ3hDLFVBQVUsRUFBRSxXQUFXLENBQUMsVUFBVSxJQUFJLFNBQVM7Z0JBQy9DLFVBQVU7YUFDWDtZQUNELFlBQVksRUFBRTtnQkFDWixXQUFXLEVBQUUsV0FBVyxDQUFDLFdBQVc7Z0JBQ3BDLHdCQUF3QixFQUFFLFdBQVcsQ0FBQyx3QkFBd0I7Z0JBQzlELFlBQVksRUFBRSxXQUFXLENBQUMsWUFBWSxJQUFJLENBQUM7Z0JBQzNDLGlCQUFpQixFQUFFLE1BQUEsSUFBQSxtQkFBTyxFQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQywwQ0FBRSxPQUFPLEVBQUU7Z0JBQ3BFLGdCQUFnQixFQUFFLE1BQUEsSUFBQSxtQkFBTyxFQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQywwQ0FBRSxPQUFPLEVBQUU7Z0JBQ2xFLGNBQWMsRUFBRSxNQUFBLElBQUEsbUJBQU8sRUFBQyxXQUFXLENBQUMsY0FBYyxDQUFDLDBDQUFFLE9BQU8sRUFBRTthQUMvRDtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQscUJBQXFCLENBQUMsbUJBQTBDO1FBQzlELE9BQU8sSUFBSSxHQUFHLENBQ1osbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7O1lBQUMsT0FBQTtnQkFDdkMsQ0FBQSxNQUFBLFdBQVcsQ0FBQyxPQUFPLDBDQUFFLEtBQUssS0FBSSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDO2FBQ3ZDLENBQUE7U0FBQSxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWxERCw4QkFrREMifQ==
@@ -1,7 +0,0 @@
1
- export declare function buildLockKey(environmentPrefix: string, customerId: string, resourceId: string | undefined, operationName?: string): string;
2
- export declare const buildCachedCustomerKey: (customerId: string, resourceId: string | undefined) => string;
3
- export declare const buildRedisCustomerKey: (environmentPrefix: string, customerId: string, resourceId: string | undefined) => {
4
- customerKey: string;
5
- metadataKey: string;
6
- };
7
- export declare const buildRedisUsageKey: (environmentPrefix: string, customerId: string, featureId: string, resourceId: string | undefined) => string;
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVLZXlzSGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jYWNoZUtleXNIZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtGQUFnRjtBQUVoRixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUM7QUFDN0IsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDO0FBQzdCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQztBQUU1QixTQUFnQixZQUFZLENBQzFCLGlCQUF5QixFQUN6QixVQUFrQixFQUNsQixVQUE4QixFQUM5QixhQUFzQjtJQUV0QixJQUFJLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztJQUVoQyxJQUFJLGFBQWEsRUFBRTtRQUNqQixPQUFPLEdBQUcsR0FBRyxPQUFPLElBQUksYUFBYSxFQUFFLENBQUM7S0FDekM7SUFFRCxPQUFPLEdBQUcsR0FBRyxPQUFPLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxrREFBa0Q7SUFFeEYsSUFBSSxVQUFVLEVBQUU7UUFDZCxPQUFPLEdBQUcsR0FBRyxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7S0FDdEM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBbkJELG9DQW1CQztBQUVNLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxVQUFrQixFQUFFLFVBQThCLEVBQVUsRUFBRTtJQUNuRyxJQUFJLEdBQUcsR0FBRyxHQUFHLGVBQWUsR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUM1QyxJQUFJLFVBQVUsRUFBRTtRQUNkLE1BQU0sV0FBVyxHQUFHLEdBQUcsZUFBZSxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQ3RELEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztLQUMvQjtJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBUlcsUUFBQSxzQkFBc0IsMEJBUWpDO0FBRUssTUFBTSxxQkFBcUIsR0FBRyxDQUNuQyxpQkFBeUIsRUFDekIsVUFBa0IsRUFDbEIsVUFBOEIsRUFDZ0IsRUFBRTtJQUNoRCxNQUFNLFdBQVcsR0FBRyxHQUFHLGlCQUFpQixJQUFJLElBQUEsOEJBQXNCLEVBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDN0YsT0FBTztRQUNMLFdBQVc7UUFDWCxXQUFXLEVBQUUsR0FBRyxXQUFXLElBQUksNkNBQWUsRUFBRTtLQUNqRCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBVlcsUUFBQSxxQkFBcUIseUJBVWhDO0FBRUssTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxpQkFBeUIsRUFDekIsVUFBa0IsRUFDbEIsU0FBaUIsRUFDakIsVUFBOEIsRUFDOUIsRUFBRTtJQUNGLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFBLDZCQUFxQixFQUFDLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUV6RixPQUFPLEdBQUcsV0FBVyxJQUFJLGNBQWMsR0FBRyxTQUFTLEVBQUUsQ0FBQztBQUN4RCxDQUFDLENBQUM7QUFUVyxRQUFBLGtCQUFrQixzQkFTN0IifQ==