@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
|
@@ -2,7 +2,7 @@ import { ApolloClient, NormalizedCacheObject, ApolloQueryResult } from '@apollo/
|
|
|
2
2
|
import { CreateUsageMeasurement, ReportEvent } from '../../models';
|
|
3
3
|
import { EdgeApiClient } from '../../services/EdgeApiClient';
|
|
4
4
|
import { LoggerService } from '../../services/loggerService';
|
|
5
|
-
import { GetEntitlementsStateQuery, ReportUsageMutation, OnEntitlementsUpdatedV2Subscription, OnUsageUpdatedV2Subscription, ReportEventMutation, OnPackagePublishedSubscription, ReportUsageBulkMutation, ReportUsageBulkInput
|
|
5
|
+
import { GetEntitlementsStateQuery, ReportUsageMutation, OnEntitlementsUpdatedV2Subscription, OnUsageUpdatedV2Subscription, ReportEventMutation, OnPackagePublishedSubscription, ReportUsageBulkMutation, ReportUsageBulkInput } from '@stigg/api-client-js/src/generated/sdk';
|
|
6
6
|
declare class EntitlementsApi {
|
|
7
7
|
private readonly client;
|
|
8
8
|
private readonly edgeApiClient;
|
|
@@ -15,6 +15,5 @@ declare class EntitlementsApi {
|
|
|
15
15
|
subscribeEntitlementsUpdated(): import("zen-observable-ts").Observable<import("@apollo/client/core").InteropSubscribeResult<OnEntitlementsUpdatedV2Subscription, import("@apollo/client/core").DefaultContext, Record<string, any>>>;
|
|
16
16
|
subscribeUsageUpdated(): import("zen-observable-ts").Observable<import("@apollo/client/core").InteropSubscribeResult<OnUsageUpdatedV2Subscription, import("@apollo/client/core").DefaultContext, Record<string, any>>>;
|
|
17
17
|
subscribePackagePublished(): import("zen-observable-ts").Observable<import("@apollo/client/core").InteropSubscribeResult<OnPackagePublishedSubscription, import("@apollo/client/core").DefaultContext, Record<string, any>>>;
|
|
18
|
-
subscribeCreditBalanceUpdated(): import("zen-observable-ts").Observable<import("@apollo/client/core").InteropSubscribeResult<OnCreditBalanceUpdatedSubscription, import("@apollo/client/core").DefaultContext, Record<string, any>>>;
|
|
19
18
|
}
|
|
20
19
|
export default EntitlementsApi;
|
|
@@ -59,11 +59,6 @@ class EntitlementsApi {
|
|
|
59
59
|
query: sdk_1.OnPackagePublishedDocument,
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
-
subscribeCreditBalanceUpdated() {
|
|
63
|
-
return this.client.subscribe({
|
|
64
|
-
query: sdk_1.OnCreditBalanceUpdatedDocument,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
62
|
}
|
|
68
63
|
exports.default = EntitlementsApi;
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRzQXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9lbnRpdGxlbWVudHMvZW50aXRsZW1lbnRzQXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsZ0VBd0JnRDtBQUVoRCxNQUFNLGVBQWU7SUFDbkIsWUFDbUIsTUFBMkMsRUFDM0MsYUFBbUMsRUFDbkMsYUFBNEI7UUFGNUIsV0FBTSxHQUFOLE1BQU0sQ0FBcUM7UUFDM0Msa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQzVDLENBQUM7SUFFSixLQUFLLENBQUMsb0JBQW9CLENBQ3hCLFVBQWtCLEVBQ2xCLFVBQThCLEVBQzlCLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLE9BQWdCO1FBRWhCLDZEQUE2RDtRQUM3RCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsaUNBQWlDLEVBQUUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUN4RixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQWdFO1lBQ3RGLEtBQUssRUFBRSxrQ0FBNEI7WUFDbkMsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxFQUFFO1lBQ2hELFdBQVcsRUFBRSxVQUFVO1lBQ3ZCLE9BQU8sRUFBRTtnQkFDUCxPQUFPO2FBQ1I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQTRCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQW9EO1lBQzNFLFFBQVEsRUFBRSx5QkFBbUI7WUFDN0IsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUMxQixXQUFXLEVBQUUsVUFBVTtTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQTJCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQTREO1lBQ25GLFFBQVEsRUFBRSw2QkFBdUI7WUFDakMsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFO1lBQ3BCLFdBQVcsRUFBRSxVQUFVO1NBQ3hCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBbUI7UUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBb0Q7WUFDM0UsUUFBUSxFQUFFLHlCQUFtQjtZQUM3QixTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDM0MsV0FBVyxFQUFFLFVBQVU7U0FDeEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDRCQUE0QjtRQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFvRjtZQUM5RyxLQUFLLEVBQUUscUNBQStCO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBc0U7WUFDaEcsS0FBSyxFQUFFLDhCQUF3QjtTQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQseUJBQXlCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQTBFO1lBQ3BHLEtBQUssRUFBRSxnQ0FBMEI7U0FDbEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBRUQsa0JBQWUsZUFBZSxDQUFDIn0=
|
|
@@ -5,28 +5,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.intializeStiggDependencies = void 0;
|
|
7
7
|
const eventEmitter_1 = require("./services/eventEmitter");
|
|
8
|
-
const
|
|
8
|
+
const cache_1 = require("./services/cache");
|
|
9
|
+
const ApiCacheMapper_1 = require("./services/ApiCacheMapper");
|
|
9
10
|
const initApolloClient_1 = __importDefault(require("./api/apollo/initApolloClient"));
|
|
10
11
|
const redisEntitlementsService_1 = require("./services/redisEntitlementsService");
|
|
11
|
-
const redisCacheService_1 = require("./services/cache/redisCacheService");
|
|
12
12
|
const inMemoryEntitlementsService_1 = require("./services/inMemoryEntitlementsService");
|
|
13
13
|
const managementApi_1 = __importDefault(require("./api/managementApi"));
|
|
14
14
|
const sdkConfigurationApi_1 = __importDefault(require("./api/sdkConfigurationApi"));
|
|
15
15
|
const EdgeApiClient_1 = require("./services/EdgeApiClient");
|
|
16
|
-
const
|
|
16
|
+
const eventEmitterCacheInstrumentation_1 = require("./services/eventEmitterCacheInstrumentation");
|
|
17
17
|
const intializeStiggDependencies = (isPersistedCacheEnabled, sdkConfiguration, loggerService) => {
|
|
18
18
|
const eventEmitter = new eventEmitter_1.TypedEventEmitter();
|
|
19
|
-
const cacheInstrumentation = new
|
|
19
|
+
const cacheInstrumentation = new eventEmitterCacheInstrumentation_1.EventEmitterCacheInstrumentation(eventEmitter);
|
|
20
|
+
const cacheMapper = new ApiCacheMapper_1.ApiCacheMapper(loggerService);
|
|
20
21
|
let inMemoryCacheService = null;
|
|
21
22
|
let entitlementsService;
|
|
22
23
|
if (!isPersistedCacheEnabled) {
|
|
23
|
-
inMemoryCacheService = new
|
|
24
|
+
inMemoryCacheService = new cache_1.InMemoryCacheService(sdkConfiguration.memoryCacheMaxSizeBytes, cacheInstrumentation, cacheMapper);
|
|
24
25
|
}
|
|
25
26
|
const graphqlClient = (0, initApolloClient_1.default)(Object.assign(Object.assign({}, sdkConfiguration), { onConnected: (inMemoryCacheService === null || inMemoryCacheService === void 0 ? void 0 : inMemoryCacheService.clearCache) || Promise.resolve, loggerService }));
|
|
26
27
|
const edgeApiClient = EdgeApiClient_1.EdgeApiClient.create(sdkConfiguration, loggerService);
|
|
27
28
|
const { entitlementsTimeout } = sdkConfiguration;
|
|
28
29
|
if (isPersistedCacheEnabled) {
|
|
29
|
-
entitlementsService = new redisEntitlementsService_1.RedisEntitlementsService(new
|
|
30
|
+
entitlementsService = new redisEntitlementsService_1.RedisEntitlementsService(new cache_1.RedisCacheService(sdkConfiguration, loggerService, cacheInstrumentation, cacheMapper), graphqlClient, loggerService, edgeApiClient, entitlementsTimeout);
|
|
30
31
|
}
|
|
31
32
|
else if (inMemoryCacheService) {
|
|
32
33
|
entitlementsService = new inMemoryEntitlementsService_1.InMemoryEntitlementsService(inMemoryCacheService, graphqlClient, eventEmitter, loggerService, edgeApiClient, entitlementsTimeout);
|
|
@@ -39,4 +40,4 @@ const intializeStiggDependencies = (isPersistedCacheEnabled, sdkConfiguration, l
|
|
|
39
40
|
return { eventEmitter, entitlementsService, managementApi, sdkConfigurationApi };
|
|
40
41
|
};
|
|
41
42
|
exports.intializeStiggDependencies = intializeStiggDependencies;
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50SW5pdGlhbGl6YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xpZW50SW5pdGlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsMERBQTREO0FBQzVELDRDQUEyRTtBQUMzRSw4REFBaUY7QUFFakYscUZBQTZEO0FBQzdELGtGQUErRTtBQUMvRSx3RkFBcUY7QUFDckYsd0VBQWdEO0FBQ2hELG9GQUE0RDtBQUM1RCw0REFBeUQ7QUFDekQsa0dBQStGO0FBRXhGLE1BQU0sMEJBQTBCLEdBQUcsQ0FDeEMsdUJBQWdDLEVBQ2hDLGdCQUErQyxFQUMvQyxhQUE0QixFQUM1QixFQUFFO0lBQ0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxnQ0FBaUIsRUFBRSxDQUFDO0lBQzdDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxtRUFBZ0MsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRixNQUFNLFdBQVcsR0FBRyxJQUFJLCtCQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEQsSUFBSSxvQkFBb0IsR0FBc0QsSUFBSSxDQUFDO0lBQ25GLElBQUksbUJBQXdDLENBQUM7SUFFN0MsSUFBSSxDQUFDLHVCQUF1QixFQUFFO1FBQzVCLG9CQUFvQixHQUFHLElBQUksNEJBQW9CLENBQzdDLGdCQUFnQixDQUFDLHVCQUF1QixFQUN4QyxvQkFBb0IsRUFDcEIsV0FBVyxDQUNaLENBQUM7S0FDSDtJQUVELE1BQU0sYUFBYSxHQUFHLElBQUEsMEJBQWdCLGtDQUNqQyxnQkFBZ0IsS0FDbkIsV0FBVyxFQUFFLENBQUEsb0JBQW9CLGFBQXBCLG9CQUFvQix1QkFBcEIsb0JBQW9CLENBQUUsVUFBVSxLQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQ2hFLGFBQWEsSUFDYixDQUFDO0lBRUgsTUFBTSxhQUFhLEdBQUcsNkJBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDNUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsZ0JBQWdCLENBQUM7SUFFakQsSUFBSSx1QkFBdUIsRUFBRTtRQUMzQixtQkFBbUIsR0FBRyxJQUFJLG1EQUF3QixDQUNoRCxJQUFJLHlCQUFpQixDQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxXQUFXLENBQUMsRUFDekYsYUFBYSxFQUNiLGFBQWEsRUFDYixhQUFhLEVBQ2IsbUJBQW1CLENBQ3BCLENBQUM7S0FDSDtTQUFNLElBQUksb0JBQW9CLEVBQUU7UUFDL0IsbUJBQW1CLEdBQUcsSUFBSSx5REFBMkIsQ0FDbkQsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBQ1osYUFBYSxFQUNiLGFBQWEsRUFDYixtQkFBbUIsQ0FDcEIsQ0FBQztLQUNIO1NBQU07UUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7S0FDN0M7SUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLHVCQUFhLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRXRFLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSw2QkFBbUIsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztBQUNuRixDQUFDLENBQUM7QUFyRFcsUUFBQSwwQkFBMEIsOEJBcURyQyJ9
|
package/dist/configuration.d.ts
CHANGED
|
@@ -1,31 +1,12 @@
|
|
|
1
1
|
import { SourceType } from '@stigg/api-client-js/src/generated/sdk';
|
|
2
2
|
import { LogConfiguration, LoggerService } from './services/loggerService';
|
|
3
|
-
import { RedisOptions } from 'ioredis/built/redis/RedisOptions';
|
|
4
3
|
import { EntitlementsFallback } from './models';
|
|
4
|
+
import { StiggRedisOptions } from './services/cache';
|
|
5
5
|
export declare const SDK_SOURCE_TYPE = SourceType.NodeServerSdk;
|
|
6
6
|
export declare const SDK_NAME = "node-server-sdk";
|
|
7
7
|
export declare const DEFAULT_TIMEOUT: number;
|
|
8
8
|
export declare const DEFAULT_ENTITLEMENTS_TIMEOUT: number;
|
|
9
|
-
export type DistributedEntitlementsFetchingOptions
|
|
10
|
-
/** Whether to disable the distributed entitlements fetching mechanism */
|
|
11
|
-
disabled?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* @deprecated not in use anymore - it will be calculated according to the {@link ClientConfiguration.entitlementsTimeout} value
|
|
14
|
-
*/
|
|
15
|
-
notificationTimeoutMs?: number;
|
|
16
|
-
/**
|
|
17
|
-
* The buffer in milliseconds for waiting for notification from other instance.
|
|
18
|
-
*/
|
|
19
|
-
notificationBufferMs?: number;
|
|
20
|
-
};
|
|
21
|
-
export type StiggRedisOptions = RedisOptions & {
|
|
22
|
-
/** A prefix used in all Redis interactions to distinguish between different environments operating on the same Redis database */
|
|
23
|
-
environmentPrefix: string;
|
|
24
|
-
/** The TTL of data stored in Redis */
|
|
25
|
-
ttl?: number;
|
|
26
|
-
/** Configuration of the distributed entitlements fetching in case of a cache miss */
|
|
27
|
-
distributedEntitlementsFetching?: DistributedEntitlementsFetchingOptions;
|
|
28
|
-
};
|
|
9
|
+
export type { StiggRedisOptions, DistributedEntitlementsFetchingOptions } from './services/cache';
|
|
29
10
|
type ClientConfiguration = {
|
|
30
11
|
apiKey: string;
|
|
31
12
|
baseUri?: string;
|
package/dist/configuration.js
CHANGED
|
@@ -91,4 +91,4 @@ function validateConfiguration(configuration, loggerService) {
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
exports.validateConfiguration = validateConfiguration;
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdFQUFvRTtBQUNwRSw0REFBcUY7QUFDckYsbUNBQStCO0FBRS9CLDRDQUFvQjtBQUdQLFFBQUEsZUFBZSxHQUFHLGdCQUFVLENBQUMsYUFBYSxDQUFDO0FBQzNDLFFBQUEsUUFBUSxHQUFHLGlCQUFpQixDQUFDO0FBRTdCLFFBQUEsZUFBZSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFDNUIsUUFBQSw0QkFBNEIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBRXRELE1BQU0sYUFBYSxHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztBQXdCeEQsU0FBUyxpQ0FBaUM7SUFDeEMsT0FBTyxZQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7QUFDNUQsQ0FBQztBQUVELE1BQU0sUUFBUSxHQUFHLEdBQWlDLEVBQUU7SUFDbEQsTUFBTSxPQUFPLEdBQUcsc0JBQXNCLENBQUM7SUFDdkMsT0FBTztRQUNMLE9BQU87UUFDUCxLQUFLLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUN4QixXQUFXLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLGdCQUFnQixFQUFFO1lBQ2hCLE1BQU0sRUFBRSxPQUFPO1lBQ2YsUUFBUSxFQUFFLHdCQUFRLENBQUMsS0FBSztTQUN6QjtRQUNELE9BQU8sRUFBRSx1QkFBZTtRQUN4QixtQkFBbUIsRUFBRSxvQ0FBNEI7UUFDakQsc0JBQXNCLEVBQUUsSUFBSTtRQUM1QixVQUFVLEVBQUUsSUFBSTtRQUNoQix1QkFBdUIsRUFBRSxpQ0FBaUMsRUFBRTtRQUM1RCxrQkFBa0IsRUFBRSxJQUFJO0tBQ3pCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLG1CQUFt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
|
package/dist/models.d.ts
CHANGED
|
@@ -1,21 +1,11 @@
|
|
|
1
|
-
import { PackageEntitlementFragment, PaymentCollection, PaywallConfigurationFragment, SubscriptionQueryFragment, PaywallCurrencyFragment, PageInfoFragment, SubscriptionCancellationAction, SubscriptionFutureUpdateDataFragment, SubscriptionInvoiceFragment, SubscriptionMigrationTime, SubscriptionScheduleStatus, BillingPeriod, SubscriptionCancellationTime, PromotionalEntitlementStatus, SubscriptionStatus, TrialPeriodUnits, BillingModel, PricingType, SubscriptionDecisionStrategy, ExperimentGroupType, Currency, DiscountType, DiscountDurationType, UsageUpdateBehavior, EntitlementResetPeriod, AccessDeniedReason, FeatureType, MeterType,
|
|
1
|
+
import { PackageEntitlementFragment, PaymentCollection, PaywallConfigurationFragment, SubscriptionQueryFragment, PaywallCurrencyFragment, PageInfoFragment, SubscriptionCancellationAction, SubscriptionFutureUpdateDataFragment, SubscriptionInvoiceFragment, SubscriptionMigrationTime, SubscriptionScheduleStatus, BillingPeriod, SubscriptionCancellationTime, PromotionalEntitlementStatus, SubscriptionStatus, TrialPeriodUnits, BillingModel, PricingType, SubscriptionDecisionStrategy, ExperimentGroupType, Currency, DiscountType, DiscountDurationType, UsageUpdateBehavior, EntitlementResetPeriod, AccessDeniedReason, FeatureType, MeterType, ProvisionSubscriptionStatus, TiersMode, PriceTierFragment, TotalPriceFragment, BillingAddress, MonthlyAccordingTo, WeeklyAccordingTo, CustomerStatisticsFragment, TrialOverrideConfigurationInput, ScheduleStrategy, BillingCadence, ImportSubscriptionInput, PaymentCollectionMethod, BudgetConfigurationInput, SubscriptionCouponInput, PriceOverrideInput, SubscriptionProrationBehavior, CreditGrantFragment, CreditLedgerFragment, ChargeInput } from '@stigg/api-client-js/src/generated/sdk';
|
|
2
2
|
export * from '@stigg/api-client-js/src/generated/sdk';
|
|
3
3
|
export interface Metadata {
|
|
4
4
|
[key: string]: string;
|
|
5
5
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
export type EntitlementFeature = {
|
|
11
|
-
id: string;
|
|
12
|
-
displayName: string;
|
|
13
|
-
description?: string;
|
|
14
|
-
featureType: FeatureType;
|
|
15
|
-
units?: string;
|
|
16
|
-
unitsPlural?: string;
|
|
17
|
-
meterType?: MeterType.Fluctuating | MeterType.Incremental | MeterType.None;
|
|
18
|
-
unitTransformation?: UnitTransformation;
|
|
6
|
+
import { EntitlementFeature as CacheEntitlementFeature, UnitTransformation } from './services/cache';
|
|
7
|
+
export { UnitTransformation };
|
|
8
|
+
export type EntitlementFeature = CacheEntitlementFeature & {
|
|
19
9
|
isMetered?: boolean;
|
|
20
10
|
};
|
|
21
11
|
export type FullEntitlementFeature = {
|
package/dist/models.js
CHANGED
|
@@ -77,4 +77,4 @@ class CustomerModel {
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
exports.CustomerModel = CustomerModel;
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdFQWtEZ0Q7QUFFaEQseUVBQXVEO0FBb0Z2RCxnQkFBZ0I7QUFDSCxRQUFBLG9DQUFvQyxHQUF1QjtJQUN0RSxJQUFJLEVBQUUsU0FBUztJQUNmLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLGtCQUFrQixFQUFFLHdCQUFrQixDQUFDLE9BQU87Q0FDL0MsQ0FBQztBQUVGLGdCQUFnQjtBQUNILFFBQUEsb0NBQW9DLEdBQXVCO0lBQ3RFLElBQUksRUFBRSxTQUFTO0lBQ2YsVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsV0FBVyxFQUFFLEtBQUs7SUFDbEIsa0JBQWtCLEVBQUUsd0JBQWtCLENBQUMsT0FBTztDQUMvQyxDQUFDO0FBRUYsZ0JBQWdCO0FBQ0gsUUFBQSxvQ0FBb0MsR0FBdUI7SUFDdEUsSUFBSSxFQUFFLFNBQVM7SUFDZixVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsS0FBSztJQUNoQixXQUFXLEVBQUUsS0FBSztJQUNsQixZQUFZLEVBQUUsS0FBSztJQUNuQixZQUFZLEVBQUUsQ0FBQztJQUNmLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLGtCQUFrQixFQUFFLHdCQUFrQixDQUFDLE9BQU87Q0FDL0MsQ0FBQztBQUVGLGdCQUFnQjtBQUNILFFBQUEsaUNBQWlDLEdBQW9CO0lBQ2hFLElBQUksRUFBRSxNQUFNO0lBQ1osVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsVUFBVSxFQUFFLEVBQUU7SUFDZCxrQkFBa0IsRUFBRSx3QkFBa0IsQ0FBQyxPQUFPO0NBQy9DLENBQUM7QUFFRixnQkFBZ0I7QUFDSCxRQUFBLG1DQUFtQyxHQUFzQjtJQUNwRSxVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsS0FBSztJQUNoQixrQkFBa0IsRUFBRSx3QkFBa0IsQ0FBQyxPQUFPO0lBQzlDLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7SUFDNUIsVUFBVSxFQUFFLENBQUM7SUFDYixZQUFZLEVBQUUsQ0FBQztJQUNmLFNBQVMsRUFBRSxDQUFDO0NBQ2IsQ0FBQztBQXU0QkYsY0FBYztBQUNkLE1BQWEsYUFBYTtJQVN4QixZQUFZLEtBQW9CO1FBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyx3QkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssd0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELGdDQUFnQztRQUM5QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssa0NBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEcsQ0FBQztDQUNGO0FBeEJELHNDQXdCQyJ9
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EntitlementUnionFragment, EntitlementFragment } from '@stigg/api-client-js/src/generated/sdk';
|
|
2
|
+
import { CacheMapper, CacheMapperResult } from './cache';
|
|
3
|
+
import { LoggerService } from './loggerService';
|
|
4
|
+
export type CacheableEntitlement = EntitlementUnionFragment | EntitlementFragment;
|
|
5
|
+
/**
|
|
6
|
+
* Maps GraphQL entitlement fragments to CachedEntitlement.
|
|
7
|
+
* Used internally by node-server-sdk for API responses.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ApiCacheMapper implements CacheMapper<CacheableEntitlement> {
|
|
10
|
+
private readonly loggerService;
|
|
11
|
+
constructor(loggerService: LoggerService);
|
|
12
|
+
mapEntitlement(input: CacheableEntitlement): CacheMapperResult | null;
|
|
13
|
+
private mapCreditEntitlement;
|
|
14
|
+
private mapFeatureEntitlement;
|
|
15
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiCacheMapper = void 0;
|
|
4
|
+
const cache_1 = require("./cache");
|
|
5
|
+
const dateUtils_1 = require("../utils/dateUtils");
|
|
6
|
+
/**
|
|
7
|
+
* Maps GraphQL entitlement fragments to CachedEntitlement.
|
|
8
|
+
* Used internally by node-server-sdk for API responses.
|
|
9
|
+
*/
|
|
10
|
+
class ApiCacheMapper {
|
|
11
|
+
constructor(loggerService) {
|
|
12
|
+
this.loggerService = loggerService;
|
|
13
|
+
}
|
|
14
|
+
mapEntitlement(input) {
|
|
15
|
+
const { __typename: type } = input;
|
|
16
|
+
switch (type) {
|
|
17
|
+
case 'CreditEntitlement': {
|
|
18
|
+
return this.mapCreditEntitlement(input);
|
|
19
|
+
}
|
|
20
|
+
case 'FeatureEntitlement':
|
|
21
|
+
case 'Entitlement': {
|
|
22
|
+
const { feature } = input;
|
|
23
|
+
if (!feature) {
|
|
24
|
+
this.loggerService.error('Skipping feature entitlement without feature data');
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return this.mapFeatureEntitlement(input, feature);
|
|
28
|
+
}
|
|
29
|
+
default: {
|
|
30
|
+
this.loggerService.error(`Skipping unknown entitlement type: ${type}`);
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
mapCreditEntitlement(input) {
|
|
36
|
+
var _a, _b, _c, _d, _e;
|
|
37
|
+
const usageUpdatedAt = (_b = (_a = (0, dateUtils_1.mapDate)(input.usageUpdatedAt)) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : null;
|
|
38
|
+
const entitlement = new cache_1.CachedEntitlement({
|
|
39
|
+
type: cache_1.EntitlementType.Credit,
|
|
40
|
+
currency: {
|
|
41
|
+
currencyId: input.currency.currencyId,
|
|
42
|
+
},
|
|
43
|
+
usageLimit: (_c = input.usageLimit) !== null && _c !== void 0 ? _c : 0,
|
|
44
|
+
accessDeniedReason: input.accessDeniedReason || null,
|
|
45
|
+
validUntil: ((_d = (0, dateUtils_1.mapDate)(input.validUntil)) === null || _d === void 0 ? void 0 : _d.getTime()) || null,
|
|
46
|
+
}, {
|
|
47
|
+
currentUsage: (_e = input.currentUsage) !== null && _e !== void 0 ? _e : 0,
|
|
48
|
+
// no usage periods for credit entitlements
|
|
49
|
+
usagePeriodStart: null,
|
|
50
|
+
usagePeriodEnd: null,
|
|
51
|
+
});
|
|
52
|
+
return { entitlement, usageUpdatedAt };
|
|
53
|
+
}
|
|
54
|
+
mapFeatureEntitlement(input, featureFragment) {
|
|
55
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
56
|
+
const feature = {
|
|
57
|
+
id: featureFragment.refId,
|
|
58
|
+
displayName: featureFragment.displayName,
|
|
59
|
+
description: featureFragment.description || undefined,
|
|
60
|
+
featureType: featureFragment.featureType,
|
|
61
|
+
meterType: featureFragment.meterType || undefined,
|
|
62
|
+
units: featureFragment.featureUnits || '',
|
|
63
|
+
unitsPlural: featureFragment.featureUnitsPlural || '',
|
|
64
|
+
unitTransformation: featureFragment.unitTransformation || undefined,
|
|
65
|
+
};
|
|
66
|
+
let creditRate = null;
|
|
67
|
+
if (input.creditRate) {
|
|
68
|
+
creditRate = {
|
|
69
|
+
amount: input.creditRate.amount,
|
|
70
|
+
currencyId: input.creditRate.currencyId,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
const usageUpdatedAt = (_b = (_a = (0, dateUtils_1.mapDate)(input.usageUpdatedAt)) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : null;
|
|
74
|
+
const entitlement = new cache_1.CachedEntitlement({
|
|
75
|
+
type: cache_1.EntitlementType.Feature,
|
|
76
|
+
feature,
|
|
77
|
+
usageLimit: (_c = input.usageLimit) !== null && _c !== void 0 ? _c : null,
|
|
78
|
+
hasUnlimitedUsage: input.hasUnlimitedUsage,
|
|
79
|
+
hasSoftLimit: !!input.hasSoftLimit,
|
|
80
|
+
accessDeniedReason: input.accessDeniedReason || null,
|
|
81
|
+
enumValues: input.enumValues || null,
|
|
82
|
+
validUntil: ((_d = (0, dateUtils_1.mapDate)(input.validUntil)) === null || _d === void 0 ? void 0 : _d.getTime()) || null,
|
|
83
|
+
usagePeriodAnchor: ((_e = (0, dateUtils_1.mapDate)(input.usagePeriodAnchor)) === null || _e === void 0 ? void 0 : _e.getTime()) || null,
|
|
84
|
+
creditRate,
|
|
85
|
+
resetPeriod: input.resetPeriod || null,
|
|
86
|
+
resetPeriodConfiguration: input.resetPeriodConfiguration || null,
|
|
87
|
+
}, {
|
|
88
|
+
currentUsage: input.currentUsage || 0,
|
|
89
|
+
usagePeriodStart: (_g = (_f = (0, dateUtils_1.mapDate)(input.usagePeriodStart)) === null || _f === void 0 ? void 0 : _f.getTime()) !== null && _g !== void 0 ? _g : null,
|
|
90
|
+
usagePeriodEnd: (_j = (_h = (0, dateUtils_1.mapDate)(input.usagePeriodEnd)) === null || _h === void 0 ? void 0 : _h.getTime()) !== null && _j !== void 0 ? _j : null,
|
|
91
|
+
});
|
|
92
|
+
return { entitlement, usageUpdatedAt };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.ApiCacheMapper = ApiCacheMapper;
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpQ2FjaGVNYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvQXBpQ2FjaGVNYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsbUNBQTZGO0FBQzdGLGtEQUE2QztBQU03Qzs7O0dBR0c7QUFDSCxNQUFhLGNBQWM7SUFDekIsWUFBNkIsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBRyxDQUFDO0lBRTdELGNBQWMsQ0FBQyxLQUEyQjtRQUN4QyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVuQyxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssbUJBQW1CLENBQUMsQ0FBQztnQkFDeEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDekM7WUFFRCxLQUFLLG9CQUFvQixDQUFDO1lBQzFCLEtBQUssYUFBYSxDQUFDLENBQUM7Z0JBQ2xCLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztvQkFDOUUsT0FBTyxJQUFJLENBQUM7aUJBQ2I7Z0JBQ0QsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ25EO1lBRUQsT0FBTyxDQUFDLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsc0NBQXNDLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ3ZFLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtJQUNILENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUFnQzs7UUFDM0QsTUFBTSxjQUFjLEdBQUcsTUFBQSxNQUFBLElBQUEsbUJBQU8sRUFBQyxLQUFLLENBQUMsY0FBYyxDQUFDLDBDQUFF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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EntitlementUsageUpdatedFragment, EntitlementsUpdatedPayloadFragment, OnEntitlementsUpdatedV2Subscription } from '@stigg/api-client-js/src/generated/sdk';
|
|
2
|
-
import { CachedEntitlement, EntitlementType } from './cache
|
|
2
|
+
import { CachedEntitlement, EntitlementType } from './cache';
|
|
3
3
|
import { Maybe } from '../types';
|
|
4
4
|
type EntitlementsUpdatedV2Payload = OnEntitlementsUpdatedV2Subscription['entitlementsUpdatedV2'];
|
|
5
5
|
/**
|
|
@@ -82,8 +82,6 @@ function buildUsageUpdatedV1Payload(customerId, resourceId, cachedEntitlement) {
|
|
|
82
82
|
requestedUsage: null,
|
|
83
83
|
requestedValues: null,
|
|
84
84
|
enumValues: (_k = calculatedEntitlement.enumValues) !== null && _k !== void 0 ? _k : null,
|
|
85
|
-
entitlementUpdatedAt: toIsoString(calculatedEntitlement.entitlementUpdatedAt),
|
|
86
|
-
usageUpdatedAt: toIsoString(usageData.updatedAt),
|
|
87
85
|
usagePeriodAnchor: toIsoString(calculatedEntitlement.usagePeriodAnchor),
|
|
88
86
|
usagePeriodStart: toIsoString(usageData.usagePeriodStart),
|
|
89
87
|
usagePeriodEnd: toIsoString(usageData.usagePeriodEnd),
|
|
@@ -101,4 +99,4 @@ function buildUsageUpdatedV1Payload(customerId, resourceId, cachedEntitlement) {
|
|
|
101
99
|
};
|
|
102
100
|
}
|
|
103
101
|
exports.buildUsageUpdatedV1Payload = buildUsageUpdatedV1Payload;
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnYWN5RXZlbnRQYXlsb2FkTWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL0xlZ2FjeUV2ZW50UGF5bG9hZE1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxtQ0FBcUM7QUFNckMsU0FBUyxTQUFTLENBQUMsSUFBK0M7SUFDaEUsSUFBSSxJQUFBLGNBQUssRUFBQyxJQUFJLENBQUMsRUFBRTtRQUNmLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBK0M7SUFDbEUsSUFBSSxJQUFBLGNBQUssRUFBQyxJQUFJLENBQUMsRUFBRTtRQUNmLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUN0QyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQzFDLFNBQXVDO0lBRXZDLGtFQUFrRTtJQUNsRSxNQUFNLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUN2RCxDQUFDLENBQUMsRUFBMEUsRUFBRSxDQUM1RSxDQUFDLENBQUMsVUFBVSxLQUFLLG9CQUFvQixDQUN4QyxDQUFDO0lBRUYsb0RBQW9EO0lBQ3BELE1BQU0sa0JBQWtCLEdBQStELG1CQUFtQixDQUFDLEdBQUcsQ0FDNUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLGlDQUNILElBQUEsYUFBSSxFQUFDLEVBQUUsRUFBRSxZQUFZLENB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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CachedEntitlement } from './entities';
|
|
2
|
+
export interface CacheMapperResult {
|
|
3
|
+
entitlement: CachedEntitlement;
|
|
4
|
+
usageUpdatedAt: number | null;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Interface for mapping consumer-specific input types to CachedEntitlement.
|
|
8
|
+
* Each consumer implements this for their specific input format.
|
|
9
|
+
*/
|
|
10
|
+
export interface CacheMapper<Input> {
|
|
11
|
+
/**
|
|
12
|
+
* Maps a single input to a CachedEntitlement and usageUpdatedAt.
|
|
13
|
+
* Returns null if the input is invalid or should be skipped.
|
|
14
|
+
*/
|
|
15
|
+
mapEntitlement(input: Input): CacheMapperResult | null;
|
|
16
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGVNYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvY2FjaGUvQ2FjaGVNYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Redis from 'ioredis';
|
|
2
|
-
import {
|
|
2
|
+
import { SlimLogger } from '../types/logger';
|
|
3
3
|
import { OperationContext, NotificationContext } from './RedisSingleExecution.utils';
|
|
4
|
-
import { CacheInstrumentation } from '
|
|
4
|
+
import { CacheInstrumentation } from '../types/cacheInstrumentation';
|
|
5
5
|
import { DistributedLocks } from '../redis/distributedLocks';
|
|
6
6
|
/**
|
|
7
7
|
* This class manages the execution of operations in a distributed environment (using Redis).
|
|
@@ -17,7 +17,7 @@ export declare class RedisSingleExecutionService {
|
|
|
17
17
|
private readonly cacheInstrumentation;
|
|
18
18
|
private readonly subscribeClient;
|
|
19
19
|
private readonly pendingNotifications;
|
|
20
|
-
constructor(operationName: string, environmentPrefix: string, notificationTimeoutMs: number, redisClient: Redis, distributedLocks: DistributedLocks, loggerService:
|
|
20
|
+
constructor(operationName: string, environmentPrefix: string, notificationTimeoutMs: number, redisClient: Redis, distributedLocks: DistributedLocks, loggerService: SlimLogger, cacheInstrumentation: CacheInstrumentation);
|
|
21
21
|
executeOnceAcrossMultipleProcesses<Response>(context: OperationContext<Response>): Promise<Response>;
|
|
22
22
|
waitForNotificationAndLoadFromCache<Response>({ customerId, resourceId, reloadFromApi, loadFromCache }: OperationContext<Response>, { cancelNotificationSubscription, notificationPromise }: NotificationContext): Promise<Response>;
|
|
23
23
|
private subscribeForNotification;
|
|
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.RedisSingleExecutionService = void 0;
|
|
10
|
-
const cacheKeysHelpers_1 = require("
|
|
10
|
+
const cacheKeysHelpers_1 = require("../cacheKeysHelpers");
|
|
11
11
|
const lodash_1 = require("lodash");
|
|
12
12
|
const ReuseOngoingExecution_1 = require("../../../utils/decorators/ReuseOngoingExecution");
|
|
13
13
|
const RedisSingleExecution_utils_1 = require("./RedisSingleExecution.utils");
|
|
@@ -30,8 +30,9 @@ class RedisSingleExecutionService {
|
|
|
30
30
|
this.pendingNotifications = new Map();
|
|
31
31
|
this.subscribeClient = redisClient.duplicate();
|
|
32
32
|
this.subscribeClient.on('error', (err) => {
|
|
33
|
+
var _a, _b;
|
|
33
34
|
this.loggerService.error('Redis subscribe client error: ', err);
|
|
34
|
-
this.cacheInstrumentation.trackRedisClientError({ error: err, clientName: 'subscribe' });
|
|
35
|
+
(_b = (_a = this.cacheInstrumentation).trackRedisClientError) === null || _b === void 0 ? void 0 : _b.call(_a, { error: err, clientName: 'subscribe' });
|
|
35
36
|
});
|
|
36
37
|
this.subscribeClient.on('connect', () => this.loggerService.log('Redis subscribe client connected!'));
|
|
37
38
|
this.subscribeClient.on('close', () => this.loggerService.log('Redis subscribe client disconnected!'));
|
|
@@ -180,4 +181,4 @@ __decorate([
|
|
|
180
181
|
(0, ReuseOngoingExecution_1.ReuseOngoingExecution)(({ customerId, resourceId }) => (0, lodash_1.compact)([customerId, resourceId]).join(':'))
|
|
181
182
|
], RedisSingleExecutionService.prototype, "executeOnceAcrossMultipleProcesses", null);
|
|
182
183
|
exports.RedisSingleExecutionService = RedisSingleExecutionService;
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkaXNTaW5nbGVFeGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvY2FjaGUvUmVkaXNTaW5nbGVFeGVjdXRpb25TZXJ2aWNlL1JlZGlzU2luZ2xlRXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLDBEQUFtRDtBQUNuRCxtQ0FBaUM7QUFDakMsMkZBQXdGO0FBQ3hGLDZFQU9zQztBQUl0Qzs7O0dBR0c7QUFDSCxNQUFhLDJCQUEyQjtJQUl0QyxZQUNtQixhQUFxQixFQUNyQixpQkFBeUI7SUFDMUMsaUVBQWlFO0lBQ2pFLHFFQUFxRTtJQUNwRCxxQkFBNkIsRUFDN0IsV0FBa0IsRUFDbEIsZ0JBQWtDLEVBQ2xDLGFBQXlCLEVBQ3pCLG9CQUEwQztRQVIxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7UUFHekIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFRO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFPO1FBQ2xCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQVk7UUFDekIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQVg1Qyx5QkFBb0IsR0FBRyxJQUFJLEdBQUcsRUFBNkIsQ0FBQztRQWEzRSxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTs7WUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDaEUsTUFBQSxNQUFBLElBQUksQ0FBQyxvQkFBb0IsRUFBQyxxQkFBcUIsbURBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFVBQVUs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
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AccessDeniedReason, EntitlementsStateAccessDeniedReason } from '@stigg/api-client-js/src/generated/sdk';
|
|
2
|
+
import { Maybe } from '../../types';
|
|
3
|
+
export declare function mapAccessDeniedReason(accessDeniedReason: Maybe<EntitlementsStateAccessDeniedReason>): AccessDeniedReason | null;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapAccessDeniedReason = void 0;
|
|
4
|
+
const sdk_1 = require("@stigg/api-client-js/src/generated/sdk");
|
|
5
|
+
// Maps EntitlementsStateAccessDeniedReason to AccessDeniedReason
|
|
6
|
+
// Both enums share the same string values for overlapping members
|
|
7
|
+
const accessDeniedReasonMap = {
|
|
8
|
+
[sdk_1.EntitlementsStateAccessDeniedReason.CustomerNotFound]: sdk_1.AccessDeniedReason.CustomerNotFound,
|
|
9
|
+
[sdk_1.EntitlementsStateAccessDeniedReason.NoActiveSubscription]: sdk_1.AccessDeniedReason.NoActiveSubscription,
|
|
10
|
+
[sdk_1.EntitlementsStateAccessDeniedReason.CustomerIsArchived]: sdk_1.AccessDeniedReason.CustomerIsArchived,
|
|
11
|
+
};
|
|
12
|
+
function mapAccessDeniedReason(accessDeniedReason) {
|
|
13
|
+
return accessDeniedReason ? accessDeniedReasonMap[accessDeniedReason] : null;
|
|
14
|
+
}
|
|
15
|
+
exports.mapAccessDeniedReason = mapAccessDeniedReason;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzRGVuaWVkUmVhc29uTWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2NhY2hlL2FjY2Vzc0RlbmllZFJlYXNvbk1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnRUFBaUg7QUFHakgsaUVBQWlFO0FBQ2pFLGtFQUFrRTtBQUNsRSxNQUFNLHFCQUFxQixHQUFvRTtJQUM3RixDQUFDLHlDQUFtQyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsd0JBQWtCLENBQUMsZ0JBQWdCO0lBQzNGLENBQUMseUNBQW1DLENBQUMsb0JBQW9CLENBQUMsRUFBRSx3QkFBa0IsQ0FBQyxvQkFBb0I7SUFDbkcsQ0FBQyx5Q0FBbUMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLHdCQUFrQixDQUFDLGtCQUFrQjtDQUNoRyxDQUFDO0FBRUYsU0FBZ0IscUJBQXFCLENBQ25DLGtCQUE4RDtJQUU5RCxPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDL0UsQ0FBQztBQUpELHNEQUlDIn0=
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EntitlementQuery, EntitlementType } from './entities';
|
|
2
|
+
import { Maybe } from '../../types';
|
|
2
3
|
export declare function buildLockKey(environmentPrefix: string, customerId: string, resourceId: Maybe<string>, operationName?: string): string;
|
|
3
4
|
export declare const buildCachedCustomerKey: (customerId: string, resourceId: Maybe<string>) => string;
|
|
4
5
|
export declare const buildRedisCustomerKey: (environmentPrefix: string, customerId: string, resourceId: Maybe<string>) => {
|
|
5
6
|
customerKey: string;
|
|
6
7
|
metadataKey: string;
|
|
7
8
|
};
|
|
8
|
-
export declare const buildRedisUsageKey: (environmentPrefix: string, customerId: string,
|
|
9
|
+
export declare const buildRedisUsageKey: <T extends EntitlementType>(environmentPrefix: string, customerId: string, entitlementReference: EntitlementQuery<T>, resourceId: Maybe<string>) => string;
|
|
@@ -0,0 +1,55 @@
|
|
|
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("./redisCacheService.constants");
|
|
5
|
+
const entities_1 = require("./entities");
|
|
6
|
+
const CUSTOMER_PREFIX = 'c_';
|
|
7
|
+
const RESOURCE_PREFIX = 'r_';
|
|
8
|
+
const FEATURE_PREFIX = 'f_';
|
|
9
|
+
const CREDIT_PREFIX = 'credit_';
|
|
10
|
+
function buildLockKey(environmentPrefix, customerId, resourceId, operationName) {
|
|
11
|
+
let lockKey = environmentPrefix;
|
|
12
|
+
if (operationName) {
|
|
13
|
+
lockKey = `${lockKey}:${operationName}`;
|
|
14
|
+
}
|
|
15
|
+
lockKey = `${lockKey}-${customerId}`; // using - instead of : for backward compatability
|
|
16
|
+
if (resourceId) {
|
|
17
|
+
lockKey = `${lockKey}:${resourceId}`;
|
|
18
|
+
}
|
|
19
|
+
return lockKey;
|
|
20
|
+
}
|
|
21
|
+
exports.buildLockKey = buildLockKey;
|
|
22
|
+
const buildCachedCustomerKey = (customerId, resourceId) => {
|
|
23
|
+
let key = `${CUSTOMER_PREFIX}${customerId}`;
|
|
24
|
+
if (resourceId) {
|
|
25
|
+
const resourceKey = `${RESOURCE_PREFIX}${resourceId}`;
|
|
26
|
+
key = `${key}:${resourceKey}`;
|
|
27
|
+
}
|
|
28
|
+
return key;
|
|
29
|
+
};
|
|
30
|
+
exports.buildCachedCustomerKey = buildCachedCustomerKey;
|
|
31
|
+
const buildRedisCustomerKey = (environmentPrefix, customerId, resourceId) => {
|
|
32
|
+
const customerKey = `${environmentPrefix}:${(0, exports.buildCachedCustomerKey)(customerId, resourceId)}`;
|
|
33
|
+
return {
|
|
34
|
+
customerKey,
|
|
35
|
+
metadataKey: `${customerKey}:${redisCacheService_constants_1.METADATA_SUFFIX}`,
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
exports.buildRedisCustomerKey = buildRedisCustomerKey;
|
|
39
|
+
const getEntitlementUsagePrefix = (type) => {
|
|
40
|
+
switch (type) {
|
|
41
|
+
case entities_1.EntitlementType.Feature:
|
|
42
|
+
return FEATURE_PREFIX;
|
|
43
|
+
case entities_1.EntitlementType.Credit:
|
|
44
|
+
return CREDIT_PREFIX;
|
|
45
|
+
default:
|
|
46
|
+
throw new Error(`Unknown entitlement type ${type}`);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const buildRedisUsageKey = (environmentPrefix, customerId, entitlementReference, resourceId) => {
|
|
50
|
+
const { customerKey } = (0, exports.buildRedisCustomerKey)(environmentPrefix, customerId, resourceId);
|
|
51
|
+
const prefix = getEntitlementUsagePrefix(entitlementReference.type);
|
|
52
|
+
return `${customerKey}:${prefix}${entitlementReference.id}`;
|
|
53
|
+
};
|
|
54
|
+
exports.buildRedisUsageKey = buildRedisUsageKey;
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVLZXlzSGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9jYWNoZS9jYWNoZUtleXNIZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtFQUFnRTtBQUNoRSx5Q0FBK0Q7QUFHL0QsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDO0FBQzdCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQztBQUM3QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUM7QUFDNUIsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBRWhDLFNBQWdCLFlBQVksQ0FDMUIsaUJBQXlCLEVBQ3pCLFVBQWtCLEVBQ2xCLFVBQXlCLEVBQ3pCLGFBQXNCO0lBRXRCLElBQUksT0FBTyxHQUFHLGlCQUFpQixDQUFDO0lBRWhDLElBQUksYUFBYSxFQUFFO1FBQ2pCLE9BQU8sR0FBRyxHQUFHLE9BQU8sSUFBSSxhQUFhLEVBQUUsQ0FBQztLQUN6QztJQUVELE9BQU8sR0FBRyxHQUFHLE9BQU8sSUFBSSxVQUFVLEVBQUUsQ0FBQyxDQUFDLGtEQUFrRDtJQUV4RixJQUFJLFVBQVUsRUFBRTtRQUNkLE9BQU8sR0FBRyxHQUFHLE9BQU8sSUFBSSxVQUFVLEVBQUUsQ0FBQztLQUN0QztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFuQkQsb0NBbUJDO0FBRU0sTUFBTSxzQkFBc0IsR0FBRyxDQUFDLFVBQWtCLEVBQUUsVUFBeUIsRUFBVSxFQUFFO0lBQzlGLElBQUksR0FBRyxHQUFHLEdBQUcsZUFBZSxHQUFHLFVBQVUsRUFBRSxDQUFDO0lBQzVDLElBQUksVUFBVSxFQUFFO1FBQ2QsTUFBTSxXQUFXLEdBQUcsR0FBRyxlQUFlLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDdEQsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0tBQy9CO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUFSVyxRQUFBLHNCQUFzQiwwQkFRakM7QUFFSyxNQUFNLHFCQUFxQixHQUFHLENBQ25DLGlCQUF5QixFQUN6QixVQUFrQixFQUNsQixVQUF5QixFQUNxQixFQUFFO0lBQ2hELE1BQU0sV0FBVyxHQUFHLEdBQUcsaUJBQWlCLElBQUksSUFBQSw4QkFBc0IsRUFBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUM3RixPQUFPO1FBQ0wsV0FBVztRQUNYLFdBQVcsRUFBRSxHQUFHLFdBQVcsSUFBSSw2Q0FBZSxFQUFFO0tBQ2pELENBQUM7QUFDSixDQUFDLENBQUM7QUFWVyxRQUFBLHFCQUFxQix5QkFVaEM7QUFFRixNQUFNLHlCQUF5QixHQUFHLENBQUMsSUFBcUIsRUFBVSxFQUFFO0lBQ2xFLFFBQVEsSUFBSSxFQUFFO1FBQ1osS0FBSywwQkFBZSxDQUFDLE9BQU87WUFDMUIsT0FBTyxjQUFjLENBQUM7UUFDeEIsS0FBSywwQkFBZSxDQUFDLE1BQU07WUFDekIsT0FBTyxhQUFhLENBQUM7UUFDdkI7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQ3ZEO0FBQ0gsQ0FBQyxDQUFDO0FBRUssTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxpQkFBeUIsRUFDekIsVUFBa0IsRUFDbEIsb0JBQXlDLEVBQ3pDLFVBQXlCLEVBQ3pCLEVBQUU7SUFDRixNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBQSw2QkFBcUIsRUFBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekYsTUFBTSxNQUFNLEdBQUcseUJBQXlCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEUsT0FBTyxHQUFHLFdBQVcsSUFBSSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDOUQsQ0FBQyxDQUFDO0FBVFcsUUFBQSxrQkFBa0Isc0JBUzdCIn0=
|
|
@@ -1,28 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
export
|
|
6
|
-
customerId: string;
|
|
7
|
-
resourceId: Maybe<string>;
|
|
8
|
-
entitlementReference: EntitlementQuery<T>;
|
|
9
|
-
usage: UsageData;
|
|
10
|
-
};
|
|
11
|
-
export type UpdateCreditBalancePayload = {
|
|
12
|
-
timestamp: Date;
|
|
13
|
-
customerId: string;
|
|
14
|
-
resourceId?: string;
|
|
15
|
-
currencyId: string;
|
|
16
|
-
totalGranted: number;
|
|
17
|
-
totalConsumed: number;
|
|
18
|
-
currentBalance: number;
|
|
19
|
-
validUntil?: number;
|
|
20
|
-
};
|
|
21
|
-
export interface CacheService {
|
|
1
|
+
import { EntitlementType, EntitlementsMap } from './entities';
|
|
2
|
+
import { OneOrMany, OptionalPromise } from '../../types';
|
|
3
|
+
import { EntitlementsResponse, EntitlementResponse } from './types/cacheResponse';
|
|
4
|
+
import { CustomerIdentity, SetCustomerParams, GetCustomerEntitlementParams, UpdateUsageParams } from './types/cacheServiceParams';
|
|
5
|
+
export interface CacheService<Input> {
|
|
22
6
|
waitForInitialization(): Promise<void>;
|
|
23
7
|
clearCache(): OptionalPromise<void>;
|
|
24
|
-
setCustomer(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
8
|
+
setCustomer(params: SetCustomerParams<Input>): OptionalPromise<EntitlementsMap>;
|
|
9
|
+
purge(customers: OneOrMany<CustomerIdentity>): OptionalPromise<void>;
|
|
10
|
+
updateUsage<T extends EntitlementType>(params: UpdateUsageParams<T>): OptionalPromise<void>;
|
|
11
|
+
getCustomerEntitlements(params: CustomerIdentity): OptionalPromise<EntitlementsResponse>;
|
|
12
|
+
getCustomerEntitlement<T extends EntitlementType>(params: GetCustomerEntitlementParams<T>): OptionalPromise<EntitlementResponse<T>>;
|
|
28
13
|
}
|