@stigg/node-server-sdk 3.23.0 → 3.24.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.
@@ -43,7 +43,7 @@ const intializeStiggDependencies = (isPersistedCacheEnabled, sdkConfiguration, l
43
43
  const batchedGraphClient = (0, initApolloClient_1.initBatchedApolloClient)(sdkConfiguration, loggerService);
44
44
  const edgeApiClient = EdgeApiClient_1.EdgeApiClient.create(sdkConfiguration, loggerService);
45
45
  if (isPersistedCacheEnabled) {
46
- entitlementsService = new redisEntitlementsService_1.RedisEntitlementsService(sdkConfiguration.redis.environmentPrefix, new redisCacheService_1.RedisCacheService(sdkConfiguration.redis, loggerService), graphqlClient, loggerService, batchedGraphClient, edgeApiClient);
46
+ entitlementsService = new redisEntitlementsService_1.RedisEntitlementsService(new redisCacheService_1.RedisCacheService(sdkConfiguration.redis, loggerService), graphqlClient, loggerService, batchedGraphClient, edgeApiClient);
47
47
  }
48
48
  else if (inMemoryCacheService) {
49
49
  entitlementsService = new inMemoryEntitlementsService_1.InMemoryEntitlementsService(inMemoryCacheService, graphqlClient, batchedGraphClient, eventEmitter, loggerService, edgeApiClient);
@@ -56,4 +56,4 @@ const intializeStiggDependencies = (isPersistedCacheEnabled, sdkConfiguration, l
56
56
  return { eventEmitter, entitlementsService, managementApi, sdkConfigurationApi };
57
57
  };
58
58
  exports.intializeStiggDependencies = intializeStiggDependencies;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50SW5pdGlhbGl6YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xpZW50SW5pdGlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLDBEQUE0RDtBQUM1RCxnRkFBNkU7QUFFN0UsMkVBQW1GO0FBQ25GLGtGQUErRTtBQUMvRSwwRUFBdUU7QUFDdkUsd0ZBQXFGO0FBQ3JGLHdFQUFnRDtBQUNoRCxvRkFBNEQ7QUFDNUQsNERBQXlEO0FBRWxELE1BQU0sMEJBQTBCLEdBQUcsQ0FDeEMsdUJBQWdDLEVBQ2hDLGdCQUErQyxFQUMvQyxhQUE0QixFQUM1QixFQUFFO0lBQ0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxnQ0FBaUIsRUFBRSxDQUFDO0lBQzdDLElBQUksb0JBQW9CLEdBQWdDLElBQUksQ0FBQztJQUM3RCxJQUFJLG1CQUF3QyxDQUFDO0lBRTdDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtRQUM1QixvQkFBb0IsR0FBRyxJQUFJLDJDQUFvQixDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FDM0Y7SUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFBLDBCQUFnQixrQ0FDakMsZ0JBQWdCLEtBQ25CLFdBQVcsRUFBRSxDQUFBLG9CQUFvQixhQUFwQixvQkFBb0IsdUJBQXBCLG9CQUFvQixDQUFFLFVBQVUsS0FBSSxPQUFPLENBQUMsT0FBTyxFQUNoRSxhQUFhLElBQ2IsQ0FBQztJQUVILE1BQU0sa0JBQWtCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNwRixNQUFNLGFBQWEsR0FBRyw2QkFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUU1RSxJQUFJLHVCQUF1QixFQUFFO1FBQzNCLG1CQUFtQixHQUFHLElBQUksbURBQXdCLENBQ2hELGdCQUFnQixDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFDeEMsSUFBSSxxQ0FBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLEVBQzVELGFBQWEsRUFDYixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGFBQWEsQ0FDZCxDQUFDO0tBQ0g7U0FBTSxJQUFJLG9CQUFvQixFQUFFO1FBQy9CLG1CQUFtQixHQUFHLElBQUkseURBQTJCLENBQ25ELG9CQUFvQixFQUNwQixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixhQUFhLEVBQ2IsYUFBYSxDQUNkLENBQUM7S0FDSDtTQUFNO1FBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0tBQzdDO0lBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSx1QkFBYSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUV0RSxNQUFNLG1CQUFtQixHQUFHLElBQUksNkJBQW1CLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLENBQUM7QUFDbkYsQ0FBQyxDQUFDO0FBaERXLFFBQUEsMEJBQTBCLDhCQWdEckMifQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50SW5pdGlhbGl6YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xpZW50SW5pdGlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLDBEQUE0RDtBQUM1RCxnRkFBNkU7QUFFN0UsMkVBQW1GO0FBQ25GLGtGQUErRTtBQUMvRSwwRUFBdUU7QUFDdkUsd0ZBQXFGO0FBQ3JGLHdFQUFnRDtBQUNoRCxvRkFBNEQ7QUFDNUQsNERBQXlEO0FBRWxELE1BQU0sMEJBQTBCLEdBQUcsQ0FDeEMsdUJBQWdDLEVBQ2hDLGdCQUErQyxFQUMvQyxhQUE0QixFQUM1QixFQUFFO0lBQ0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxnQ0FBaUIsRUFBRSxDQUFDO0lBQzdDLElBQUksb0JBQW9CLEdBQWdDLElBQUksQ0FBQztJQUM3RCxJQUFJLG1CQUF3QyxDQUFDO0lBRTdDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtRQUM1QixvQkFBb0IsR0FBRyxJQUFJLDJDQUFvQixDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FDM0Y7SUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFBLDBCQUFnQixrQ0FDakMsZ0JBQWdCLEtBQ25CLFdBQVcsRUFBRSxDQUFBLG9CQUFvQixhQUFwQixvQkFBb0IsdUJBQXBCLG9CQUFvQixDQUFFLFVBQVUsS0FBSSxPQUFPLENBQUMsT0FBTyxFQUNoRSxhQUFhLElBQ2IsQ0FBQztJQUVILE1BQU0sa0JBQWtCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNwRixNQUFNLGFBQWEsR0FBRyw2QkFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUU1RSxJQUFJLHVCQUF1QixFQUFFO1FBQzNCLG1CQUFtQixHQUFHLElBQUksbURBQXdCLENBQ2hELElBQUkscUNBQWlCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxFQUM1RCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixhQUFhLENBQ2QsQ0FBQztLQUNIO1NBQU0sSUFBSSxvQkFBb0IsRUFBRTtRQUMvQixtQkFBbUIsR0FBRyxJQUFJLHlEQUEyQixDQUNuRCxvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osYUFBYSxFQUNiLGFBQWEsQ0FDZCxDQUFDO0tBQ0g7U0FBTTtRQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztLQUM3QztJQUVELE1BQU0sYUFBYSxHQUFHLElBQUksdUJBQWEsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFFdEUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLDZCQUFtQixDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0FBQ25GLENBQUMsQ0FBQztBQS9DVyxRQUFBLDBCQUEwQiw4QkErQ3JDIn0=
@@ -3,14 +3,13 @@ export declare type UpdateFeatureUsagePayload = {
3
3
  customerId: string;
4
4
  featureId: string;
5
5
  currentUsage: number;
6
- environmentPrefix: string;
7
6
  timestamp: Date;
8
7
  resourceId: string | undefined;
9
8
  nextResetDate?: number;
10
9
  };
11
10
  export interface CacheService {
12
11
  clearCache(): void | Promise<void>;
13
- setCustomer(environmentPrefix: string, customerId: string, customerEntitlements: Map<string, CachedEntitlement>, resourceId: string | undefined, entitlementsTimestamp: number, usageTimestamp: Map<string, number>): void | Promise<void>;
12
+ setCustomer(customerId: string, customerEntitlements: Map<string, CachedEntitlement>, resourceId: string | undefined, entitlementsTimestamp: number, usageTimestamp: Map<string, number>): void | Promise<void>;
14
13
  updateFeatureUsage(payload: UpdateFeatureUsagePayload): boolean | Promise<boolean>;
15
- getCustomerEntitlements(environmentPrefix: string, customerId: string, resourceId: string | undefined): Map<string, CachedEntitlement> | Promise<Map<string, CachedEntitlement> | null> | null;
14
+ getCustomerEntitlements(customerId: string, resourceId: string | undefined): Map<string, CachedEntitlement> | Promise<Map<string, CachedEntitlement> | null> | null;
16
15
  }
@@ -5,7 +5,7 @@ export declare class InMemoryCacheService implements CacheService {
5
5
  private readonly entitlements;
6
6
  constructor(maxSizeBytes: number);
7
7
  clearCache: () => void;
8
- setCustomer(environmentPrefix: string, customerId: string, customerEntitlements: Map<string, CachedEntitlement>, resourceId: string | undefined): void;
9
- getCustomerEntitlements(environmentPrefix: string, customerId: string, resourceId: string | undefined): Map<string, CachedEntitlement> | Promise<Map<string, CachedEntitlement> | null> | null;
8
+ setCustomer(customerId: string, customerEntitlements: Map<string, CachedEntitlement>, resourceId: string | undefined): void;
9
+ getCustomerEntitlements(customerId: string, resourceId: string | undefined): Map<string, CachedEntitlement> | Promise<Map<string, CachedEntitlement> | null> | null;
10
10
  updateFeatureUsage({ customerId, featureId, currentUsage, resourceId, nextResetDate, }: UpdateFeatureUsagePayload): boolean | Promise<boolean>;
11
11
  }
@@ -19,11 +19,11 @@ class InMemoryCacheService {
19
19
  sizeCalculation: (value) => getApproxSizeBytes(value),
20
20
  });
21
21
  }
22
- setCustomer(environmentPrefix, customerId, customerEntitlements, resourceId) {
22
+ setCustomer(customerId, customerEntitlements, resourceId) {
23
23
  const cachedCustomerKey = (0, cacheKeysHelpers_1.buildCachedCustomerKey)(customerId, resourceId);
24
24
  this.entitlements.set(cachedCustomerKey, customerEntitlements);
25
25
  }
26
- getCustomerEntitlements(environmentPrefix, customerId, resourceId) {
26
+ getCustomerEntitlements(customerId, resourceId) {
27
27
  const cachedCustomerKey = (0, cacheKeysHelpers_1.buildCachedCustomerKey)(customerId, resourceId);
28
28
  return this.entitlements.get(cachedCustomerKey) || null;
29
29
  }
@@ -44,4 +44,4 @@ class InMemoryCacheService {
44
44
  }
45
45
  }
46
46
  exports.InMemoryCacheService = InMemoryCacheService;
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5NZW1vcnlDYWNoZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvY2FjaGUvaW5NZW1vcnlDYWNoZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsbUVBQXNFO0FBQ3RFLHlDQUFxQztBQUdyQyxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBRXRDLFNBQWdCLGtCQUFrQixDQUFDLEdBQVE7SUFDekMsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ3hGLENBQUM7QUFGRCxnREFFQztBQUVELE1BQWEsb0JBQW9CO0lBRy9CLFlBQVksWUFBb0I7UUFRaEMsZUFBVSxHQUFHLEdBQUcsRUFBRTtZQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQztRQVRBLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksb0JBQVEsQ0FBeUM7WUFDdkUsT0FBTztZQUNQLGVBQWUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUM7SUFNRCxXQUFXLENBQ1QsaUJBQXlCLEVBQ3pCLFVBQWtCLEVBQ2xCLG9CQUFvRCxFQUNwRCxVQUE4QjtRQUU5QixNQUFNLGlCQUFpQixHQUFHLElBQUEseUNBQXNCLEVBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELHVCQUF1QixDQUNyQixpQkFBeUIsRUFDekIsVUFBa0IsRUFDbEIsVUFBOEI7UUFFOUIsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLHlDQUFzQixFQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN6RSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksSUFBSSxDQUFDO0lBQzFELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxFQUNqQixVQUFVLEVBQ1YsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxHQUNhO1FBQzFCLE1BQU0saUJBQWlCLEdBQUcsSUFBQSx5Q0FBc0IsRUFBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDekUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sMEJBQTBCLEdBQUcsb0JBQW9CLGFBQXBCLG9CQUFvQix1QkFBcEIsb0JBQW9CLENBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXhFLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQ3hELGtGQUFrRjtZQUNsRixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLDBCQUEwQixDQUFDO1FBRWpHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUU7WUFDbEMscUJBQXFCO1lBQ3JCLFlBQVksa0NBQU8sb0JBQW9CLEtBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxhQUFhLEdBQUU7U0FDdEYsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUEzREQsb0RBMkRDIn0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5NZW1vcnlDYWNoZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvY2FjaGUvaW5NZW1vcnlDYWNoZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsbUVBQXNFO0FBQ3RFLHlDQUFxQztBQUdyQyxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBRXRDLFNBQWdCLGtCQUFrQixDQUFDLEdBQVE7SUFDekMsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ3hGLENBQUM7QUFGRCxnREFFQztBQUVELE1BQWEsb0JBQW9CO0lBRy9CLFlBQVksWUFBb0I7UUFRaEMsZUFBVSxHQUFHLEdBQUcsRUFBRTtZQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQztRQVRBLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksb0JBQVEsQ0FBeUM7WUFDdkUsT0FBTztZQUNQLGVBQWUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUM7SUFNRCxXQUFXLENBQ1QsVUFBa0IsRUFDbEIsb0JBQW9ELEVBQ3BELFVBQThCO1FBRTlCLE1BQU0saUJBQWlCLEdBQUcsSUFBQSx5Q0FBc0IsRUFBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsdUJBQXVCLENBQ3JCLFVBQWtCLEVBQ2xCLFVBQThCO1FBRTlCLE1BQU0saUJBQWlCLEdBQUcsSUFBQSx5Q0FBc0IsRUFBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDekUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUMxRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsRUFDakIsVUFBVSxFQUNWLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLGFBQWEsR0FDYTtRQUMxQixNQUFNLGlCQUFpQixHQUFHLElBQUEseUNBQXNCLEVBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN0RSxNQUFNLDBCQUEwQixHQUFHLG9CQUFvQixhQUFwQixvQkFBb0IsdUJBQXBCLG9CQUFvQixDQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV4RSxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUN4RCxrRkFBa0Y7WUFDbEYsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE1BQU0sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsR0FBRywwQkFBMEIsQ0FBQztRQUVqRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFO1lBQ2xDLHFCQUFxQjtZQUNyQixZQUFZLGtDQUFPLG9CQUFvQixLQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxHQUFFO1NBQ3RGLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBekRELG9EQXlEQyJ9
@@ -9,12 +9,13 @@ export declare class RedisCacheService implements CacheService {
9
9
  private readonly redisClient;
10
10
  private readonly redlock;
11
11
  constructor(options: StiggRedisOptions, loggerService: LoggerService);
12
- updateFeatureUsage({ featureId, currentUsage, customerId, nextResetDate, environmentPrefix, resourceId, timestamp, }: UpdateFeatureUsagePayload): Promise<boolean>;
13
- setCustomer(environmentPrefix: string, customerId: string, customerEntitlements: Map<string, CachedEntitlement>, resourceId: string | undefined, entitlementsTimestamp: number, featureIdToUsageTimestamp: Map<string, number>): Promise<void>;
14
- getCustomerEntitlements(environmentPrefix: string, customerId: string, resourceId: string | undefined): Promise<Map<string, CachedEntitlement> | null>;
15
- getCustomerEntitlementsWithUsage(environmentPrefix: string, customerId: string, resourceId: string | undefined): Promise<Map<string, CachedEntitlement> | null>;
16
- getFeatureUsage(environmentPrefix: string, customerId: string, featureId: string, resourceId: string | undefined): Promise<string | null>;
12
+ updateFeatureUsage({ featureId, currentUsage, customerId, nextResetDate, resourceId, timestamp, }: UpdateFeatureUsagePayload): Promise<boolean>;
13
+ setCustomer(customerId: string, customerEntitlements: Map<string, CachedEntitlement>, resourceId: string | undefined, entitlementsTimestamp: number, featureIdToUsageTimestamp: Map<string, number>): Promise<void>;
14
+ getCustomerEntitlements(customerId: string, resourceId: string | undefined): Promise<Map<string, CachedEntitlement> | null>;
15
+ getCustomerEntitlementsWithUsage(customerId: string, resourceId: string | undefined): Promise<Map<string, CachedEntitlement> | null>;
16
+ getFeatureUsage(customerId: string, featureId: string, resourceId: string | undefined): Promise<string | null>;
17
17
  private getFeaturesUsage;
18
18
  clearCache(): void | Promise<void>;
19
19
  private updateKey;
20
+ private getKeyLatestTimestamp;
20
21
  }
@@ -23,8 +23,8 @@ class RedisCacheService {
23
23
  this.redisClient.on('error', (err) => this.loggerService.error('Redis client error: ', err));
24
24
  this.redisClient.on('connect', () => this.loggerService.log('Redis client connected!'));
25
25
  }
26
- async updateFeatureUsage({ featureId, currentUsage, customerId, nextResetDate, environmentPrefix, resourceId, timestamp, }) {
27
- const entitlementUsageKey = (0, cacheKeysHelpers_1.buildUsageKey)(environmentPrefix, customerId, featureId, resourceId);
26
+ async updateFeatureUsage({ featureId, currentUsage, customerId, nextResetDate, resourceId, timestamp, }) {
27
+ const entitlementUsageKey = (0, cacheKeysHelpers_1.buildUsageKey)(this.environmentPrefix, customerId, featureId, resourceId);
28
28
  const usageValue = {
29
29
  currentUsage,
30
30
  nextResetDate,
@@ -32,9 +32,9 @@ class RedisCacheService {
32
32
  await this.updateKey(timestamp, entitlementUsageKey, usageValue);
33
33
  return true;
34
34
  }
35
- async setCustomer(environmentPrefix, customerId, customerEntitlements, resourceId, entitlementsTimestamp, featureIdToUsageTimestamp) {
36
- const lockKey = (0, cacheKeysHelpers_1.buildLockKey)(environmentPrefix, customerId, resourceId);
37
- const entitlementsDbKey = (0, cacheKeysHelpers_1.buildCustomerKey)(environmentPrefix, customerId, resourceId);
35
+ async setCustomer(customerId, customerEntitlements, resourceId, entitlementsTimestamp, featureIdToUsageTimestamp) {
36
+ const lockKey = (0, cacheKeysHelpers_1.buildLockKey)(this.environmentPrefix, customerId, resourceId);
37
+ const entitlementsDbKey = (0, cacheKeysHelpers_1.buildCustomerKey)(this.environmentPrefix, customerId, resourceId);
38
38
  const customerEntitlementsAsObject = Object.fromEntries(customerEntitlements);
39
39
  await this.redlock.using([lockKey], LOCK_DURATION, async () => {
40
40
  await this.updateKey(new Date(entitlementsTimestamp), entitlementsDbKey, customerEntitlementsAsObject);
@@ -61,7 +61,6 @@ class RedisCacheService {
61
61
  timestamp: new Date(featureUsageTimestamp),
62
62
  currentUsage,
63
63
  nextResetDate: nextResetDate,
64
- environmentPrefix,
65
64
  resourceId,
66
65
  });
67
66
  }
@@ -92,8 +91,8 @@ class RedisCacheService {
92
91
  .forEach((result) => this.loggerService.error(`Failed to update feature usage result: ${result.reason}`));
93
92
  });
94
93
  }
95
- async getCustomerEntitlements(environmentPrefix, customerId, resourceId) {
96
- const customerKey = (0, cacheKeysHelpers_1.buildCustomerKey)(environmentPrefix, customerId, resourceId);
94
+ async getCustomerEntitlements(customerId, resourceId) {
95
+ const customerKey = (0, cacheKeysHelpers_1.buildCustomerKey)(this.environmentPrefix, customerId, resourceId);
97
96
  const entitlements = await this.redisClient.get(customerKey);
98
97
  if (entitlements === null || (0, lodash_1.isEmpty)(entitlements)) {
99
98
  return null;
@@ -101,8 +100,8 @@ class RedisCacheService {
101
100
  this.loggerService.debug(`Found entitlements in persisted cache for customer`, { customerId, resourceId });
102
101
  return new Map(Object.entries(JSON.parse(entitlements)));
103
102
  }
104
- async getCustomerEntitlementsWithUsage(environmentPrefix, customerId, resourceId) {
105
- const cachedEntitlements = await this.getCustomerEntitlements(environmentPrefix, customerId, resourceId);
103
+ async getCustomerEntitlementsWithUsage(customerId, resourceId) {
104
+ const cachedEntitlements = await this.getCustomerEntitlements(customerId, resourceId);
106
105
  if (cachedEntitlements === null) {
107
106
  return null;
108
107
  }
@@ -129,8 +128,8 @@ class RedisCacheService {
129
128
  });
130
129
  return cachedEntitlements;
131
130
  }
132
- async getFeatureUsage(environmentPrefix, customerId, featureId, resourceId) {
133
- return this.redisClient.get((0, cacheKeysHelpers_1.buildUsageKey)(environmentPrefix, customerId, featureId, resourceId));
131
+ async getFeatureUsage(customerId, featureId, resourceId) {
132
+ return this.redisClient.get((0, cacheKeysHelpers_1.buildUsageKey)(this.environmentPrefix, customerId, featureId, resourceId));
134
133
  }
135
134
  async getFeaturesUsage(environmentPrefix, customerId, resourceId, meteredFeatureIds) {
136
135
  const keysToFetch = meteredFeatureIds.map((featureId) => (0, cacheKeysHelpers_1.buildUsageKey)(environmentPrefix, customerId, featureId, resourceId));
@@ -151,12 +150,9 @@ class RedisCacheService {
151
150
  return;
152
151
  }
153
152
  async updateKey(timestamp, key, value) {
154
- const latestTimestampValue = await this.redisClient.get(`${key}#${TIMESTAMP_SUFFIX}`);
155
- const latestTimestamp = latestTimestampValue !== null && parseInt(latestTimestampValue, 10) !== Number.NaN
156
- ? new Date(parseInt(latestTimestampValue, 10))
157
- : undefined;
153
+ const latestTimestamp = await this.getKeyLatestTimestamp(key);
158
154
  const messageTimestamp = timestamp.getTime();
159
- if (!latestTimestamp || (latestTimestamp === null || latestTimestamp === void 0 ? void 0 : latestTimestamp.getTime()) <= messageTimestamp) {
155
+ if (!latestTimestamp || latestTimestamp.getTime() <= messageTimestamp) {
160
156
  const writeableValue = typeof value === 'string' ? value : JSON.stringify(value);
161
157
  await this.redisClient
162
158
  .multi()
@@ -172,6 +168,17 @@ class RedisCacheService {
172
168
  });
173
169
  }
174
170
  }
171
+ async getKeyLatestTimestamp(key) {
172
+ const value = await this.redisClient.get(`${key}#${TIMESTAMP_SUFFIX}`);
173
+ if ((0, lodash_1.isNil)(value)) {
174
+ return undefined;
175
+ }
176
+ const number = parseInt(value, 10);
177
+ if (Number.isNaN(number)) {
178
+ return undefined;
179
+ }
180
+ return new Date(number);
181
+ }
175
182
  }
176
183
  exports.RedisCacheService = RedisCacheService;
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXNDYWNoZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvY2FjaGUvcmVkaXNDYWNoZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsc0RBQTRCO0FBQzVCLG1DQUFpQztBQUNqQyxnRUFBbUU7QUFFbkUsc0RBQThCO0FBRTlCLG1FQUE2RjtBQUU3RixNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQztBQUNyQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUM7QUFDM0IsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFFMUMsTUFBYSxpQkFBaUI7SUFNNUIsWUFBWSxPQUEwQixFQUFtQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNuRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksaUJBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFDbkQsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLGdCQUFnQixDQUFDO1FBRTNDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvRixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLHNCQUFzQixF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
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXNDYWNoZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvY2FjaGUvcmVkaXNDYWNoZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsc0RBQTRCO0FBQzVCLG1DQUF3QztBQUN4QyxnRUFBbUU7QUFFbkUsc0RBQThCO0FBRTlCLG1FQUE2RjtBQUU3RixNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQztBQUNyQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUM7QUFDM0IsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFFMUMsTUFBYSxpQkFBaUI7SUFNNUIsWUFBWSxPQUEwQixFQUFtQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNuRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksaUJBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFDbkQsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLGdCQUFnQixDQUFDO1FBRTNDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvRixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLHNCQUFzQixF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
@@ -8,17 +8,16 @@ import { CacheService } from './cache/cacheService';
8
8
  import { EdgeApiClient } from './EdgeApiClient';
9
9
  import { ReportUsageMutation, ReportEventMutation, EntitlementCheckResult, EntitlementFragment, ReportUsageBulkInput, ReportUsageBulkMutation, ReportUsageFragment } from '@stigg/api-client-js/src/generated/sdk';
10
10
  import CacheMapper from '../utils/CacheMapper';
11
- declare type RefetchEntitlementsTriggeredBy = 'provisionCustomer' | 'provisionSubscription' | 'updateSubscription' | 'getBooleanEntitlement' | 'getNumericEntitlement' | 'getMeteredEntitlement' | 'getCustomerEntitlements' | 'cancelSubscription' | 'createSubscription' | 'getCustomerEntitlementsWithUsage' | 'applySubscription' | 'reloadEntitlements';
11
+ export declare type RefetchEntitlementsTriggeredBy = 'updateSubscription' | 'getBooleanEntitlement' | 'getNumericEntitlement' | 'getMeteredEntitlement' | 'getCustomerEntitlements' | 'cancelSubscription' | 'createSubscription' | 'getCustomerEntitlementsWithUsage' | 'reloadEntitlements';
12
12
  export declare abstract class EntitlementsService {
13
13
  protected readonly loggerService: LoggerService;
14
14
  protected readonly cacheService: CacheService;
15
- protected readonly environmentPrefix: string;
16
15
  private readonly entitlementCheckReportingService;
17
16
  protected readonly entitlementsApi: EntitlementsApi;
18
17
  protected readonly modelMapper: ModelMapper;
19
18
  protected readonly cacheMapper: CacheMapper;
20
19
  protected isInitialized: boolean;
21
- protected constructor(client: ApolloClient<NormalizedCacheObject>, loggerService: LoggerService, batchedGraphqlClient: ApolloClient<NormalizedCacheObject>, edgeApiClient: EdgeApiClient | null, cacheService: CacheService, environmentPrefix: string);
20
+ protected constructor(client: ApolloClient<NormalizedCacheObject>, loggerService: LoggerService, batchedGraphqlClient: ApolloClient<NormalizedCacheObject>, edgeApiClient: EdgeApiClient | null, cacheService: CacheService);
22
21
  getBooleanEntitlement(customerRefId: string, featureRefId: string, fallbackEntitlement: BooleanEntitlement, resourceId?: string, options?: BooleanEntitlementOptions): Promise<BooleanEntitlement>;
23
22
  getNumericEntitlement(customerRefId: string, featureRefId: string, fallbackEntitlement: NumericEntitlement, resourceId?: string, options?: NumericEntitlementOptions): Promise<NumericEntitlement>;
24
23
  getMeteredEntitlement(customerRefId: string, featureRefId: string, fallbackEntitlement: MeteredEntitlement, resourceId?: string, options?: MeteredEntitlementOptions): Promise<MeteredEntitlement>;
@@ -48,4 +47,3 @@ export declare abstract class EntitlementsService {
48
47
  protected tryTrackEntitlementCheck(shouldTrack: boolean, featureRefId: string, customerRefId: string, resourceRefId: string | undefined, result: EntitlementCheckResult, requestedUsage?: number): void;
49
48
  updateFeatureUsage({ featureId, customerId, resourceId, currentUsage, nextResetDate, timestamp, }: ReportUsageFragment): Promise<void>;
50
49
  }
51
- export {};
@@ -1,4 +1,10 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
2
8
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
9
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
10
  };
@@ -12,11 +18,11 @@ const entitlementDecisionService_1 = require("./entitlementDecisionService");
12
18
  const lodash_1 = require("lodash");
13
19
  const dateUtils_1 = require("../utils/dateUtils");
14
20
  const CacheMapper_1 = __importDefault(require("../utils/CacheMapper"));
21
+ const ReuseOngoingExecution_1 = require("../utils/decorators/ReuseOngoingExecution");
15
22
  class EntitlementsService {
16
- constructor(client, loggerService, batchedGraphqlClient, edgeApiClient, cacheService, environmentPrefix) {
23
+ constructor(client, loggerService, batchedGraphqlClient, edgeApiClient, cacheService) {
17
24
  this.loggerService = loggerService;
18
25
  this.cacheService = cacheService;
19
- this.environmentPrefix = environmentPrefix;
20
26
  this.isInitialized = false;
21
27
  this.modelMapper = new ModelMapper_1.ModelMapper();
22
28
  this.cacheMapper = new CacheMapper_1.default();
@@ -107,12 +113,12 @@ class EntitlementsService {
107
113
  return this.getCustomerEntitlements(customerRefId, resourceId);
108
114
  }
109
115
  async getCustomerEntitlements(customerRefId, resourceId) {
110
- const entitlements = await this.cacheService.getCustomerEntitlements(this.environmentPrefix, customerRefId, resourceId);
116
+ const entitlements = await this.cacheService.getCustomerEntitlements(customerRefId, resourceId);
111
117
  if (!entitlements || !this.isInitialized) {
112
118
  await this.refetchEntitlements(customerRefId, resourceId, false, 'getCustomerEntitlements');
113
119
  // TODO: currently there is no good way to find out if the customer exists or not
114
120
  }
115
- const cachedEntitlements = (await this.cacheService.getCustomerEntitlements(this.environmentPrefix, customerRefId, resourceId)) || new Map();
121
+ const cachedEntitlements = (await this.cacheService.getCustomerEntitlements(customerRefId, resourceId)) || new Map();
116
122
  return Array.from(cachedEntitlements.values()).map((value) => {
117
123
  const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy(true, value);
118
124
  return this.modelMapper.mapEntitlement(value, decision);
@@ -138,7 +144,7 @@ class EntitlementsService {
138
144
  return this.entitlementsApi.reportEvent(input);
139
145
  }
140
146
  async tryGetCacheCustomerAndEntitlement(featureRefId, customerRefId, resourceId) {
141
- const customer = await this.cacheService.getCustomerEntitlements(this.environmentPrefix, customerRefId, resourceId);
147
+ const customer = await this.cacheService.getCustomerEntitlements(customerRefId, resourceId);
142
148
  if (!customer) {
143
149
  return { customerExists: false, entitlement: null };
144
150
  }
@@ -146,7 +152,7 @@ class EntitlementsService {
146
152
  return { customerExists: true, entitlement };
147
153
  }
148
154
  async refetchEntitlements(customerId, resourceId, skipEdge, triggeredBy) {
149
- this.loggerService.log(`Fetching entitlements for customer: ${customerId}, resource: ${resourceId || '-'}`, {
155
+ this.loggerService.log(`Re-fetching entitlements`, {
150
156
  customerId,
151
157
  resourceId,
152
158
  skipEdge,
@@ -191,7 +197,7 @@ class EntitlementsService {
191
197
  const cachedEntitlements = this.cacheMapper.mapCachedEntitlements(entitlements);
192
198
  // optimistically update the cache
193
199
  try {
194
- await this.cacheService.setCustomer(this.environmentPrefix, customerId, cachedEntitlements, resourceId, entitlementsUpdatedAtTimestamp, featureIdToUsageTimestamp);
200
+ await this.cacheService.setCustomer(customerId, cachedEntitlements, resourceId, entitlementsUpdatedAtTimestamp, featureIdToUsageTimestamp);
195
201
  }
196
202
  catch (err) {
197
203
  this.loggerService.error('Failed to set customer entitlements in cache (soft ignored)', err);
@@ -208,12 +214,11 @@ class EntitlementsService {
208
214
  if ((0, lodash_1.isNil)(currentUsage)) {
209
215
  return;
210
216
  }
211
- const cachedCustomer = await this.cacheService.getCustomerEntitlements(this.environmentPrefix, customerId, resourceId || undefined);
217
+ const cachedCustomer = await this.cacheService.getCustomerEntitlements(customerId, resourceId || undefined);
212
218
  if (cachedCustomer === null) {
213
219
  return;
214
220
  }
215
221
  await this.cacheService.updateFeatureUsage({
216
- environmentPrefix: this.environmentPrefix,
217
222
  featureId,
218
223
  customerId,
219
224
  resourceId: resourceId || undefined,
@@ -223,5 +228,8 @@ class EntitlementsService {
223
228
  });
224
229
  }
225
230
  }
231
+ __decorate([
232
+ (0, ReuseOngoingExecution_1.ReuseOngoingExecution)((customerId, resourceId, skipEdge) => skipEdge ? undefined : (0, lodash_1.compact)([customerId, resourceId]).join(':'))
233
+ ], EntitlementsService.prototype, "refetchEntitlements", null);
226
234
  exports.EntitlementsService = EntitlementsService;
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbnRpdGxlbWVudHNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlGQUFzRjtBQUN0RiwwRkFBa0U7QUFHbEUsc0NBV21CO0FBQ25CLHNEQUFtRDtBQUNuRCw2RUFBMEU7QUFHMUUsbUNBQXdDO0FBRXhDLGtEQUFpRDtBQVVqRCx1RUFBK0M7QUF5Qi9DLE1BQXNCLG1CQUFtQjtJQVF2QyxZQUNFLE1BQTJDLEVBQ3hCLGFBQTRCLEVBQy9DLG9CQUF5RCxFQUN6RCxhQUFtQyxFQUNoQixZQUEwQixFQUMxQixpQkFBeUI7UUFKekIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFHNUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFRO1FBUnBDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBVTlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSx5QkFBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHFCQUFXLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUkseUJBQWUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLG1FQUFnQyxDQUMxRSxJQUFJLHlCQUFlLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxFQUN2RSxJQUFJLENBQUMsYUFBYSxDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUIsQ0FDekIsYUFBcUIsRUFDckIsWUFBb0IsRUFDcEIsbUJBQXVDLEVBQ3ZDLFVBQW1CLEVBQ25CLE9BQW1DOztRQUVuQyxNQUFNLFdBQVcsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9B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
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbnRpdGxlbWVudHNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHlGQUFzRjtBQUN0RiwwRkFBa0U7QUFHbEUsc0NBV21CO0FBQ25CLHNEQUFtRDtBQUNuRCw2RUFBMEU7QUFHMUUsbUNBQWlEO0FBRWpELGtEQUFpRDtBQVVqRCx1RUFBK0M7QUFDL0MscUZBQWtGO0FBYWxGLE1BQXNCLG1CQUFtQjtJQVF2QyxZQUNFLE1BQTJDLEVBQ3hCLGFBQTRCLEVBQy9DLG9CQUF5RCxFQUN6RCxhQUFtQyxFQUNoQixZQUEwQjtRQUgxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUc1QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVByQyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQVM5QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUkseUJBQVcsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxxQkFBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLHlCQUFlLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsSUFBSSxtRUFBZ0MsQ0FDMUUsSUFBSSx5QkFBZSxDQUFDLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsRUFDdkUsSUFBSSxDQUFDLGFBQWEsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCLENBQ3pCLGFBQXFCLEVBQ3JCLFlBQW9CLEVBQ3BCLG1CQUF1QyxFQUN2QyxVQUFtQixFQUNuQixPQUFtQzs7UUFFbkMsTUFBTSxXQUFXLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsV0FBVyxLQUFJLEtBQUssQ0FB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
@@ -6,7 +6,7 @@ const entitlementsService_1 = require("./entitlementsService");
6
6
  const WS_ERROR_RECONNECT_INTERVAL_MS = 5 * 1000;
7
7
  class InMemoryEntitlementsService extends entitlementsService_1.EntitlementsService {
8
8
  constructor(cacheService, client, batchedGraphqlClient, eventEmitter, loggerService, edgeApiClient) {
9
- super(client, loggerService, batchedGraphqlClient, edgeApiClient, cacheService, '');
9
+ super(client, loggerService, batchedGraphqlClient, edgeApiClient, cacheService);
10
10
  this.cacheService = cacheService;
11
11
  this.eventEmitter = eventEmitter;
12
12
  this.entitlementsSubscription = null;
@@ -25,7 +25,7 @@ class InMemoryEntitlementsService extends entitlementsService_1.EntitlementsServ
25
25
  entitlements: entitlementsUpdated.entitlements,
26
26
  });
27
27
  const entitlements = this.cacheMapper.mapCachedEntitlements(entitlementsUpdated.entitlements);
28
- this.cacheService.setCustomer(this.environmentPrefix, entitlementsUpdated.customerId, entitlements, entitlementsUpdated.resourceId || undefined);
28
+ this.cacheService.setCustomer(entitlementsUpdated.customerId, entitlements, entitlementsUpdated.resourceId || undefined);
29
29
  this.eventEmitter.emit('entitlementsUpdated', entitlementsUpdated);
30
30
  };
31
31
  this.onUsageUpdated = (result) => {
@@ -45,7 +45,6 @@ class InMemoryEntitlementsService extends entitlementsService_1.EntitlementsServ
45
45
  });
46
46
  const wasSet = this.cacheService.updateFeatureUsage({
47
47
  timestamp: new Date(),
48
- environmentPrefix: '',
49
48
  customerId,
50
49
  resourceId: resourceId || undefined,
51
50
  featureId,
@@ -119,4 +118,4 @@ class InMemoryEntitlementsService extends entitlementsService_1.EntitlementsServ
119
118
  }
120
119
  }
121
120
  exports.InMemoryEntitlementsService = InMemoryEntitlementsService;
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5NZW1vcnlFbnRpdGxlbWVudHNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2luTWVtb3J5RW50aXRsZW1lbnRzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxnRUFLZ0Q7QUFHaEQsK0RBQTREO0FBSzVELE1BQU0sOEJBQThCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUVoRCxNQUFhLDJCQUE0QixTQUFRLHlDQUFtQjtJQUtsRSxZQUNxQixZQUFrQyxFQUNyRCxNQUEyQyxFQUMzQyxvQkFBeUQsRUFDeEMsWUFBK0IsRUFDaEQsYUFBNEIsRUFDNUIsYUFBbUM7UUFFbkMsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztRQVBqRSxpQkFBWSxHQUFaLFlBQVksQ0FBc0I7UUFHcEMsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBUjFDLDZCQUF3QixHQUFrQyxJQUFJLENBQUM7UUFDL0Qsc0JBQWlCLEdBQWtDLElBQUksQ0FBQztRQUN4RCxxQkFBZ0IsR0FBa0MsSUFBSSxDQUFDO1FBZ0V2RCwwQkFBcUIsR0FBRyxDQUFDLE1BQXNELEVBQUUsRUFBRTtZQUN6RixJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyx3REFBd0QsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUNoRyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2lCQUN0QyxDQUFDLENBQUM7Z0JBQ0gsT0FBTzthQUNSO1lBRUQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBRTVELElBQUksQ0FBQyxhQUFhLENBQUMsS0FB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
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5NZW1vcnlFbnRpdGxlbWVudHNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2luTWVtb3J5RW50aXRsZW1lbnRzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxnRUFLZ0Q7QUFHaEQsK0RBQTREO0FBSzVELE1BQU0sOEJBQThCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUVoRCxNQUFhLDJCQUE0QixTQUFRLHlDQUFtQjtJQUtsRSxZQUNxQixZQUFrQyxFQUNyRCxNQUEyQyxFQUMzQyxvQkFBeUQsRUFDeEMsWUFBK0IsRUFDaEQsYUFBNEIsRUFDNUIsYUFBbUM7UUFFbkMsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBUDdELGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQUdwQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFSMUMsNkJBQXdCLEdBQWtDLElBQUksQ0FBQztRQUMvRCxzQkFBaUIsR0FBa0MsSUFBSSxDQUFDO1FBQ3hELHFCQUFnQixHQUFrQyxJQUFJLENBQUM7UUFnRXZELDBCQUFxQixHQUFHLENBQUMsTUFBc0QsRUFBRSxFQUFFO1lBQ3pGLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLHdEQUF3RCxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ2hHLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7aUJBQ3RDLENBQUMsQ0FBQztnQkFDSCxPQUFPO2FBQ1I7WUFFRCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFFNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMscUNB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
@@ -9,7 +9,7 @@ export declare class RedisEntitlementsService extends EntitlementsService {
9
9
  protected readonly graphqlClient: ApolloClient<NormalizedCacheObject>;
10
10
  protected readonly loggerService: LoggerService;
11
11
  protected readonly batchedGraphClient: ApolloClient<NormalizedCacheObject>;
12
- constructor(environmentPrefix: string, cacheService: RedisCacheService, graphqlClient: ApolloClient<NormalizedCacheObject>, loggerService: LoggerService, batchedGraphClient: ApolloClient<NormalizedCacheObject>, edgeApiClient: EdgeApiClient | null);
12
+ constructor(cacheService: RedisCacheService, graphqlClient: ApolloClient<NormalizedCacheObject>, loggerService: LoggerService, batchedGraphClient: ApolloClient<NormalizedCacheObject>, edgeApiClient: EdgeApiClient | null);
13
13
  getMeteredEntitlement(customerRefId: string, featureRefId: string, fallbackEntitlement: MeteredEntitlement, resourceId?: string, options?: MeteredEntitlementOptions): Promise<MeteredEntitlement>;
14
14
  getCustomerEntitlementsWithUsage(customerRefId: string, resourceId: string | undefined): Promise<import("../models").Entitlement[]>;
15
15
  clearCache(): Promise<void>;
@@ -6,8 +6,8 @@ const models_1 = require("../models");
6
6
  const entitlementDecisionService_1 = require("./entitlementDecisionService");
7
7
  const lodash_1 = require("lodash");
8
8
  class RedisEntitlementsService extends entitlementsService_1.EntitlementsService {
9
- constructor(environmentPrefix, cacheService, graphqlClient, loggerService, batchedGraphClient, edgeApiClient) {
10
- super(graphqlClient, loggerService, batchedGraphClient, edgeApiClient, cacheService, environmentPrefix);
9
+ constructor(cacheService, graphqlClient, loggerService, batchedGraphClient, edgeApiClient) {
10
+ super(graphqlClient, loggerService, batchedGraphClient, edgeApiClient, cacheService);
11
11
  this.cacheService = cacheService;
12
12
  this.graphqlClient = graphqlClient;
13
13
  this.loggerService = loggerService;
@@ -20,12 +20,11 @@ class RedisEntitlementsService extends entitlementsService_1.EntitlementsService
20
20
  const requestUsage = options === null || options === void 0 ? void 0 : options.requestedUsage;
21
21
  let { entitlement, customerExists } = await this.tryGetCacheCustomerAndEntitlement(featureRefId, customerRefId, resourceId);
22
22
  if (!(0, lodash_1.isEmpty)(entitlement)) {
23
- const featureUsageData = await this.cacheService.getFeatureUsage(this.environmentPrefix, customerRefId, featureRefId, resourceId);
23
+ const featureUsageData = await this.cacheService.getFeatureUsage(customerRefId, featureRefId, resourceId);
24
24
  if (featureUsageData === null) {
25
25
  this.loggerService.error('Failed to find metered feature usage - going to refetch entitlements', {
26
26
  customerRefId,
27
27
  featureRefId,
28
- environmentPrefix: this.environmentPrefix,
29
28
  });
30
29
  entitlement = null;
31
30
  }
@@ -62,10 +61,10 @@ class RedisEntitlementsService extends entitlementsService_1.EntitlementsService
62
61
  return this.modelMapper.mapMeteredEntitlement(entitlement, decision, requestUsage);
63
62
  }
64
63
  async getCustomerEntitlementsWithUsage(customerRefId, resourceId) {
65
- let cachedEntitlements = await this.cacheService.getCustomerEntitlementsWithUsage(this.environmentPrefix, customerRefId, resourceId);
64
+ let cachedEntitlements = await this.cacheService.getCustomerEntitlementsWithUsage(customerRefId, resourceId);
66
65
  if (cachedEntitlements === null) {
67
66
  await this.refetchEntitlements(customerRefId, resourceId, false, 'getCustomerEntitlementsWithUsage');
68
- cachedEntitlements = await this.cacheService.getCustomerEntitlementsWithUsage(this.environmentPrefix, customerRefId, resourceId);
67
+ cachedEntitlements = await this.cacheService.getCustomerEntitlementsWithUsage(customerRefId, resourceId);
69
68
  if (cachedEntitlements === null) {
70
69
  return [];
71
70
  }
@@ -89,4 +88,4 @@ class RedisEntitlementsService extends entitlementsService_1.EntitlementsService
89
88
  }
90
89
  }
91
90
  exports.RedisEntitlementsService = RedisEntitlementsService;
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXNFbnRpdGxlbWVudHNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL3JlZGlzRW50aXRsZW1lbnRzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBNEQ7QUFJNUQsc0NBQXFGO0FBQ3JGLDZFQUEwRTtBQUMxRSxtQ0FBaUM7QUFHakMsTUFBYSx3QkFBeUIsU0FBUSx5Q0FBbUI7SUFDL0QsWUFDRSxpQkFBeUIsRUFDTixZQUErQixFQUMvQixhQUFrRCxFQUNsRCxhQUE0QixFQUM1QixrQkFBdUQsRUFDMUUsYUFBbUM7UUFFbkMsS0FBSyxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBTnJGLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBcUM7UUFDbEQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFxQztRQUkxRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxDQUFDLDRDQUE0QztJQUN6RSxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUN6QixhQUFxQixFQUNyQixZQUFvQixFQUNwQixtQkFBdUMsRUFDdkMsVUFBbUIsRUFDbkIsT0FBbUM7O1FBRW5DLE1BQU0sV0FBVyxHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFdBQVcsS0FBSSxLQUFLLENBQUM7UUFDbEQsTUFBTSxZQUFZLEdBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLGNBQWMsQ0FBQztRQUM3QyxJQUFJLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlDQUFpQyxDQUNoRixZQUFZLEVBQ1osYUFBYSxFQUNiLFVBQVUsQ0FDWCxDQUFDO1FB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
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXNFbnRpdGxlbWVudHNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL3JlZGlzRW50aXRsZW1lbnRzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBNEQ7QUFJNUQsc0NBQXFGO0FBQ3JGLDZFQUEwRTtBQUMxRSxtQ0FBaUM7QUFHakMsTUFBYSx3QkFBeUIsU0FBUSx5Q0FBbUI7SUFDL0QsWUFDcUIsWUFBK0IsRUFDL0IsYUFBa0QsRUFDbEQsYUFBNEIsRUFDNUIsa0JBQXVELEVBQzFFLGFBQW1DO1FBRW5DLEtBQUssQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQU5sRSxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQXFDO1FBQ2xELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBcUM7UUFJMUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyw0Q0FBNEM7SUFDekUsQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUIsQ0FDekIsYUFBcUIsRUFDckIsWUFBb0IsRUFDcEIsbUJBQXVDLEVBQ3ZDLFVBQW1CLEVBQ25CLE9BQW1DOztRQUVuQyxNQUFNLFdBQVcsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxXQUFXLEtBQUksS0FBSyxDQUFDO1FBQ2xELE1BQU0sWUFBWSxHQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxjQUFjLENBQUM7UUFDN0MsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxpQ0FBaUMsQ0FDaEYsWUFBWSxFQUNaLGFBQWEsRUFDYixVQUFVLENBQ1gsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFBLGdCQUFP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
@@ -0,0 +1,2 @@
1
+ export declare type GetUniqueKeyFn = (...args: any[]) => string | undefined;
2
+ export declare const ReuseOngoingExecution: (getUniqueKey: GetUniqueKeyFn) => (_target: any, _propertyKey: string, descriptor: PropertyDescriptor) => void;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReuseOngoingExecution = void 0;
4
+ // This decorator ensures that a function, when invoked with the same arguments,
5
+ // does not execute multiple times simultaneously. Instead, it reuses the promise from the ongoing
6
+ // execution for subsequent calls with the same arguments.
7
+ const ReuseOngoingExecution = (getUniqueKey) => {
8
+ const onGoingPromises = new Map();
9
+ return (_target, _propertyKey, descriptor) => {
10
+ const fn = descriptor.value;
11
+ descriptor.value = function decoratedValue(...args) {
12
+ const key = getUniqueKey(...args);
13
+ if (key) {
14
+ const existingPromise = onGoingPromises.get(key);
15
+ if (existingPromise) {
16
+ return existingPromise;
17
+ }
18
+ }
19
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
20
+ const result = fn.apply(this, args);
21
+ if (key) {
22
+ const promise = result.finally(() => onGoingPromises.delete(key));
23
+ onGoingPromises.set(key, promise);
24
+ return promise;
25
+ }
26
+ return result;
27
+ };
28
+ };
29
+ };
30
+ exports.ReuseOngoingExecution = ReuseOngoingExecution;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmV1c2VPbmdvaW5nRXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2RlY29yYXRvcnMvUmV1c2VPbmdvaW5nRXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLGdGQUFnRjtBQUNoRixrR0FBa0c7QUFDbEcsMERBQTBEO0FBQ25ELE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxZQUE0QixFQUFFLEVBQUU7SUFDcEUsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQTRCLENBQUM7SUFFNUQsT0FBTyxDQUFDLE9BQVksRUFBRSxZQUFvQixFQUFFLFVBQThCLEVBQUUsRUFBRTtRQUM1RSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBRTVCLFVBQVUsQ0FBQyxLQUFLLEdBQUcsU0FBUyxjQUFjLENBQUMsR0FBRyxJQUFXO1lBQ3ZELE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBRWxDLElBQUksR0FBRyxFQUFFO2dCQUNQLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2pELElBQUksZUFBZSxFQUFFO29CQUNuQixPQUFPLGVBQWUsQ0FBQztpQkFDeEI7YUFDRjtZQUVELDZEQUE2RDtZQUM3RCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUVwQyxJQUFJLEdBQUcsRUFBRTtnQkFDUCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbEUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ2xDLE9BQU8sT0FBTyxDQUFDO2FBQ2hCO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBNUJXLFFBQUEscUJBQXFCLHlCQTRCaEMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigg/node-server-sdk",
3
- "version": "3.23.0",
3
+ "version": "3.24.0",
4
4
  "description": "Stigg server-side node SDK",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",