@stigg/node-server-sdk 0.33.1 → 0.36.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/configurationApi.d.ts +1 -2
- package/dist/api/configurationApi.js +14 -8
- package/dist/api/customerFragments.js +2 -1
- package/dist/api/entitlements/entitlementsApi.d.ts +3 -1
- package/dist/api/entitlements/entitlementsApi.js +6 -12
- package/dist/api/generated/types.d.ts +104 -1
- package/dist/api/generated/types.js +2 -2
- package/dist/api/managementApi.d.ts +3 -2
- package/dist/api/managementApi.js +65 -17
- package/dist/api/packagesFragments.d.ts +1 -0
- package/dist/api/packagesFragments.js +87 -0
- package/dist/client.d.ts +10 -14
- package/dist/client.js +51 -28
- package/dist/configuration.d.ts +1 -0
- package/dist/configuration.js +3 -6
- package/dist/models.d.ts +11 -1
- package/dist/models.js +9 -2
- package/dist/services/cache/cachedEntitlement.d.ts +2 -2
- package/dist/services/entitlementCheckReportingService.d.ts +1 -1
- package/dist/services/entitlementCheckReportingService.js +3 -3
- package/dist/services/entitlementsService.d.ts +6 -1
- package/dist/services/entitlementsService.js +75 -31
- package/dist/services/loggerService.d.ts +6 -6
- package/dist/services/loggerService.js +1 -1
- package/dist/utils/ModelMapper.d.ts +6 -2
- package/dist/utils/ModelMapper.js +51 -7
- package/dist/utils/apiErrorHandling.js +9 -8
- package/package.json +1 -1
package/dist/client.js
CHANGED
|
@@ -34,26 +34,16 @@ const entitlementsService_1 = require("./services/entitlementsService");
|
|
|
34
34
|
const loggerService_1 = require("./services/loggerService");
|
|
35
35
|
const generateRandomSlug_1 = require("./services/generateRandomSlug");
|
|
36
36
|
const apiErrorHandling_1 = require("./utils/apiErrorHandling");
|
|
37
|
+
let stiggInstance = null;
|
|
37
38
|
/**
|
|
38
39
|
* Stigg Node.js SDK client
|
|
39
40
|
*/
|
|
40
41
|
class Stigg {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
* @param graphClient
|
|
44
|
-
* @param batchedGraphClient
|
|
45
|
-
* @param entitlementsCacheService
|
|
46
|
-
* @param loggerService
|
|
47
|
-
* @param environmentId
|
|
48
|
-
*/
|
|
49
|
-
constructor(graphClient, batchedGraphClient, entitlementsCacheService, loggerService, environmentId) {
|
|
50
|
-
this.graphqlClient = graphClient;
|
|
51
|
-
this.batchedGraphqlClient = batchedGraphClient;
|
|
52
|
-
this.modelMapper = new ModelMapper_1.ModelMapper();
|
|
53
|
-
this.cacheService = entitlementsCacheService;
|
|
42
|
+
constructor(entitlementsService, loggerService, managementApi) {
|
|
43
|
+
this.entitlementsService = entitlementsService;
|
|
54
44
|
this.loggerService = loggerService;
|
|
55
|
-
this.
|
|
56
|
-
this.
|
|
45
|
+
this.managementApi = managementApi;
|
|
46
|
+
this.modelMapper = new ModelMapper_1.ModelMapper();
|
|
57
47
|
}
|
|
58
48
|
/**
|
|
59
49
|
* Initialize an instance of the Stigg SDK client.
|
|
@@ -63,20 +53,31 @@ class Stigg {
|
|
|
63
53
|
static async initialize(configuration) {
|
|
64
54
|
const sdkConfiguration = (0, configuration_1.getConfiguration)(configuration);
|
|
65
55
|
const loggerService = new loggerService_1.LoggerService(sdkConfiguration.logConfiguration.logger, sdkConfiguration.logConfiguration.logLevel);
|
|
56
|
+
if (stiggInstance) {
|
|
57
|
+
loggerService.error(`Stigg SDK is being initialized more than once, please reuse the same instance instead.`);
|
|
58
|
+
stiggInstance.entitlementsService.unsubscribeFromUpdates();
|
|
59
|
+
stiggInstance = null;
|
|
60
|
+
}
|
|
61
|
+
const isValid = (0, configuration_1.validateConfiguration)(configuration, loggerService);
|
|
62
|
+
if (!isValid) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
66
65
|
try {
|
|
67
|
-
const isValid = (0, configuration_1.validateConfiguration)(configuration, loggerService);
|
|
68
|
-
if (!isValid) {
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
66
|
const entitlementsCacheService = new inMemoryCacheService_1.InMemoryCacheService();
|
|
72
67
|
const graphqlClient = (0, initApolloClient_1.default)(Object.assign(Object.assign({}, sdkConfiguration), { onConnected: entitlementsCacheService.clearCache, loggerService }));
|
|
73
|
-
const batchedGraphClient = (0, initApolloClient_1.initBatchedApolloClient)(sdkConfiguration);
|
|
74
68
|
const configurationApi = new configurationApi_1.default(graphqlClient);
|
|
75
|
-
const environmentId =
|
|
76
|
-
|
|
69
|
+
const environmentId = await configurationApi.getCurrentEnvironmentId();
|
|
70
|
+
const batchedGraphClient = (0, initApolloClient_1.initBatchedApolloClient)(sdkConfiguration);
|
|
71
|
+
const entitlementsService = new entitlementsService_1.EntitlementsService(entitlementsCacheService, graphqlClient, batchedGraphClient, loggerService);
|
|
72
|
+
const managementApi = new managementApi_1.default(graphqlClient, environmentId);
|
|
73
|
+
stiggInstance = new Stigg(entitlementsService, loggerService, managementApi);
|
|
74
|
+
if (sdkConfiguration.realtimeUpdatesEnabled) {
|
|
75
|
+
stiggInstance.entitlementsService.subscribeToUpdates();
|
|
76
|
+
}
|
|
77
|
+
return stiggInstance;
|
|
77
78
|
}
|
|
78
79
|
catch (err) {
|
|
79
|
-
loggerService.error(`Failed to initialize
|
|
80
|
+
loggerService.error(`Failed to initialize Stigg SDK. Error: ${err === null || err === void 0 ? void 0 : err.message}`);
|
|
80
81
|
return null;
|
|
81
82
|
}
|
|
82
83
|
}
|
|
@@ -122,7 +123,12 @@ class Stigg {
|
|
|
122
123
|
* @param {string} customerId
|
|
123
124
|
*/
|
|
124
125
|
async getEntitlements(customerId) {
|
|
125
|
-
return (0, apiErrorHandling_1.withErrorHandling)(() =>
|
|
126
|
+
return (0, apiErrorHandling_1.withErrorHandling)(() => {
|
|
127
|
+
if (!customerId || typeof customerId !== 'string') {
|
|
128
|
+
throw new Error('Invalid argument: customerId');
|
|
129
|
+
}
|
|
130
|
+
return this.entitlementsService.getCustomerEntitlements(customerId);
|
|
131
|
+
}, this.loggerService, {
|
|
126
132
|
errorMessagePrefix: 'Failed to get customer entitlements',
|
|
127
133
|
rethrowError: false,
|
|
128
134
|
});
|
|
@@ -218,9 +224,15 @@ class Stigg {
|
|
|
218
224
|
*/
|
|
219
225
|
async getCustomer(customerId) {
|
|
220
226
|
return (0, apiErrorHandling_1.withErrorHandling)(async () => {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
227
|
+
if (!customerId || typeof customerId !== 'string') {
|
|
228
|
+
throw new Error('Invalid argument: customerId');
|
|
229
|
+
}
|
|
230
|
+
const resp = await this.managementApi.getCustomer(customerId);
|
|
231
|
+
const [edge] = resp.data.customers.edges;
|
|
232
|
+
if (!edge) {
|
|
233
|
+
throw new Error('Customer not found');
|
|
234
|
+
}
|
|
235
|
+
return this.modelMapper.mapFullCustomer(edge.node);
|
|
224
236
|
}, this.loggerService, { errorMessagePrefix: 'Failed to get customer', rethrowError: true });
|
|
225
237
|
}
|
|
226
238
|
/**
|
|
@@ -263,6 +275,17 @@ class Stigg {
|
|
|
263
275
|
return this.modelMapper.mapCheckout(data.initiateCheckout);
|
|
264
276
|
}, this.loggerService, { errorMessagePrefix: 'Failed to begin checkout', rethrowError: true });
|
|
265
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Get a list of plans for rendering the paywall
|
|
280
|
+
*
|
|
281
|
+
* @returns {Promise<Plan[]>}
|
|
282
|
+
*/
|
|
283
|
+
async getPaywall({ productId } = {}) {
|
|
284
|
+
return (0, apiErrorHandling_1.withErrorHandling)(async () => {
|
|
285
|
+
const graphResponse = await this.managementApi.getPlans(productId);
|
|
286
|
+
return this.modelMapper.mapPlans(graphResponse.data);
|
|
287
|
+
}, this.loggerService, { errorMessagePrefix: 'Failed to get paywall', rethrowError: true });
|
|
288
|
+
}
|
|
266
289
|
}
|
|
267
290
|
exports.Stigg = Stigg;
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBc0JrQjtBQUNsQiwyRUFBbUY7QUFDbkYscURBQWtEO0FBQ2xELHdFQUFnRDtBQUNoRCxtREFBK0Y7QUFDL0YsOEVBQXNEO0FBQ3RELGdGQUE2RTtBQUM3RSx3RUFBcUU7QUFFckUsNERBQXlEO0FBQ3pELHNFQUFtRTtBQUNuRSwrREFBNkQ7QUFrQjdEOztHQUVHO0FBQ0gsTUFBYSxLQUFLO0lBU2hCOzs7Ozs7O09BT0c7SUFDSCxZQUNFLFdBQWdELEVBQ2hELGtCQUF1RCxFQUN2RCx3QkFBc0MsRUFDdEMsYUFBNEIsRUFDNUIsYUFBcUI7UUFFckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUM7UUFDakMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSx5QkFBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyx3QkFBd0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSx5Q0FBbUIsQ0FDaEQsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLGFBQWEsRUFDbEIsSUFBSSxDQUFDLG9CQUFvQixFQUN6QixJQUFJLENBQUMsYUFBYSxDQUNuQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLHVCQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWtDO1FBQ3hELE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSxnQ0FBZ0IsRUFBQyxhQUFh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
|
|
291
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBd0JrQjtBQUNsQiwyRUFBbUY7QUFDbkYscURBQWtEO0FBQ2xELHdFQUFnRDtBQUNoRCxtREFBK0Y7QUFDL0YsOEVBQXNEO0FBQ3RELGdGQUE2RTtBQUM3RSx3RUFBcUU7QUFFckUsNERBQXlEO0FBQ3pELHNFQUFtRTtBQUNuRSwrREFBNkQ7QUFtQjdELElBQUksYUFBYSxHQUFpQixJQUFJLENBQUM7QUFFdkM7O0dBRUc7QUFDSCxNQUFhLEtBQUs7SUFHaEIsWUFDbUIsbUJBQXdDLEVBQ3hDLGFBQTRCLEVBQzVCLGFBQTRCO1FBRjVCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFN0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHlCQUFXLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWtDO1FBQ3hELE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSxnQ0FBZ0IsRUFBQyxhQUFhLENBQUMsQ0FBQztRQUN6RCxNQUFNLGFBQWEsR0FBRyxJQUFJLDZCQUFhLENBQ3JDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFDeEMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUMzQyxDQUFDO1FBRUYsSUFBSSxhQUFhLEVBQUU7WUFDakIsYUFBYSxDQUFDLEtBQUssQ0FBQyx3RkFBd0YsQ0FBQyxDQUFDO1lBQzlHLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzNELGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDdEI7UUFFRCxNQUFNLE9BQU8sR0FBRyxJ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
|
package/dist/configuration.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ declare type ClientConfiguration = {
|
|
|
4
4
|
baseUri?: string;
|
|
5
5
|
wsUrl?: string;
|
|
6
6
|
logConfiguration?: LogConfiguration;
|
|
7
|
+
realtimeUpdatesEnabled?: boolean;
|
|
7
8
|
};
|
|
8
9
|
declare function getConfiguration(configuration: Partial<ClientConfiguration>): Required<ClientConfiguration>;
|
|
9
10
|
declare function validateConfiguration(configuration: Partial<ClientConfiguration>, loggerService: LoggerService): boolean;
|
package/dist/configuration.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.validateConfiguration = exports.getConfiguration = void 0;
|
|
7
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
8
4
|
const loggerService_1 = require("./services/loggerService");
|
|
9
5
|
const defaults = () => {
|
|
10
6
|
const baseUri = 'https://api.stigg.io';
|
|
@@ -15,6 +11,7 @@ const defaults = () => {
|
|
|
15
11
|
logger: console,
|
|
16
12
|
logLevel: loggerService_1.LogLevel.ERROR,
|
|
17
13
|
},
|
|
14
|
+
realtimeUpdatesEnabled: true,
|
|
18
15
|
};
|
|
19
16
|
};
|
|
20
17
|
function getConfiguration(configuration) {
|
|
@@ -24,7 +21,7 @@ function getConfiguration(configuration) {
|
|
|
24
21
|
: configuration.baseUri
|
|
25
22
|
? getWsUrl(configuration.baseUri)
|
|
26
23
|
: defaultConfig.wsUrl;
|
|
27
|
-
return
|
|
24
|
+
return Object.assign(Object.assign(Object.assign({}, defaultConfig), configuration), { wsUrl });
|
|
28
25
|
}
|
|
29
26
|
exports.getConfiguration = getConfiguration;
|
|
30
27
|
function getWsUrl(apiUrl) {
|
|
@@ -47,4 +44,4 @@ function validateConfiguration(configuration, loggerService) {
|
|
|
47
44
|
return isValid;
|
|
48
45
|
}
|
|
49
46
|
exports.validateConfiguration = validateConfiguration;
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDREQUFxRjtBQVVyRixNQUFNLFFBQVEsR0FBRyxHQUFpQyxFQUFFO0lBQ2xELE1BQU0sT0FBTyxHQUFHLHNCQUFzQixDQUFDO0lBQ3ZDLE9BQU87UUFDTCxPQUFPO1FBQ1AsS0FBSyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDeEIsZ0JBQWdCLEVBQUU7WUFDaEIsTUFBTSxFQUFFLE9BQU87WUFDZixRQUFRLEVBQUUsd0JBQVEsQ0FBQyxLQUFLO1NBQ3pCO1FBQ0Qsc0JBQXNCLEVBQUUsSUFBSTtLQUM3QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsU0FBUyxnQkFBZ0IsQ0FBQyxhQUEyQztJQUNuRSxNQUFNLGFBQWEsR0FBRyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSztRQUMvQixDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUs7UUFDckIsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPO1lBQ3ZCLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztZQUNqQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUV4QixPQUFPLDhDQUFLLGFBQWEsR0FBSyxhQUFhLEtBQUUsS0FBSyxHQUFtQyxDQUFDO0FBQ3hGLENBQUM7QUF5QlEsNENBQWdCO0FBdkJ6QixTQUFTLFFBQVEsQ0FBQyxNQUFjO0lBQzlCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTVCLElBQUksR0FBRyxDQUFDLFFBQVEsS0FBSyxPQUFPLEVBQUU7UUFDNUIsR0FBRyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7S0FDdEI7U0FBTSxJQUFJLEdBQUcsQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO1FBQ3BDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO0tBQ3ZCO0lBRUQsbUVBQW1FO0lBQ25FLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxhQUEyQyxFQUFFLGFBQTRCO0lBQ3RHLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztJQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRTtRQUN6QixhQUFhLENBQUMsS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDckUsT0FBTyxHQUFHLEtBQUssQ0FBQztLQUNqQjtJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFK0Msc0RBQXFCIn0=
|
package/dist/models.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import { BillingPeriod, SubscriptionCancellationTime, PromotionalEntitlementStatus, SubscriptionStatus, TrialPeriodUnits,
|
|
1
|
+
import { BillingPeriod, SubscriptionCancellationTime, PromotionalEntitlementStatus, SubscriptionStatus, TrialPeriodUnits, BillingModel, PricingType } from './api/generated/types';
|
|
2
2
|
export { PricingType, ErrorCode, BillingPeriod, SubscriptionCancellationTime } from './api/generated/types';
|
|
3
|
+
export declare enum EntitlementResetPeriod {
|
|
4
|
+
Daily = "Daily",
|
|
5
|
+
Hourly = "Hourly",
|
|
6
|
+
Monthly = "Monthly",
|
|
7
|
+
Weekly = "Weekly"
|
|
8
|
+
}
|
|
3
9
|
export declare enum AccessDeniedReason {
|
|
4
10
|
InvalidFeatureType = "InvalidFeatureType",
|
|
5
11
|
CustomerNotFound = "CustomerNotFound",
|
|
@@ -300,11 +306,15 @@ export declare type Plan = {
|
|
|
300
306
|
export declare type Product = {
|
|
301
307
|
id: string;
|
|
302
308
|
displayName?: string | null;
|
|
309
|
+
description?: string | null;
|
|
303
310
|
};
|
|
304
311
|
export declare type DefaultTrialConfig = {
|
|
305
312
|
duration: number;
|
|
306
313
|
units: TrialPeriodUnits;
|
|
307
314
|
};
|
|
315
|
+
export declare type GetPaywall = {
|
|
316
|
+
productId?: string;
|
|
317
|
+
};
|
|
308
318
|
/** @hidden */
|
|
309
319
|
export declare class CustomerModel implements FullCustomer {
|
|
310
320
|
id: string;
|
package/dist/models.js
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CustomerModel = exports.Currency = exports.METERED_DEFAULT_FALLBACK_ENTITLEMENT = exports.NUMERIC_DEFAULT_FALLBACK_ENTITLEMENT = exports.BOOLEAN_DEFAULT_FALLBACK_ENTITLEMENT = exports.MeterType = exports.FeatureType = exports.AccessDeniedReason = exports.SubscriptionCancellationTime = exports.BillingPeriod = exports.ErrorCode = exports.PricingType = void 0;
|
|
3
|
+
exports.CustomerModel = exports.Currency = exports.METERED_DEFAULT_FALLBACK_ENTITLEMENT = exports.NUMERIC_DEFAULT_FALLBACK_ENTITLEMENT = exports.BOOLEAN_DEFAULT_FALLBACK_ENTITLEMENT = exports.MeterType = exports.FeatureType = exports.AccessDeniedReason = exports.EntitlementResetPeriod = exports.SubscriptionCancellationTime = exports.BillingPeriod = exports.ErrorCode = exports.PricingType = void 0;
|
|
4
4
|
const types_1 = require("./api/generated/types");
|
|
5
5
|
var types_2 = require("./api/generated/types");
|
|
6
6
|
Object.defineProperty(exports, "PricingType", { enumerable: true, get: function () { return types_2.PricingType; } });
|
|
7
7
|
Object.defineProperty(exports, "ErrorCode", { enumerable: true, get: function () { return types_2.ErrorCode; } });
|
|
8
8
|
Object.defineProperty(exports, "BillingPeriod", { enumerable: true, get: function () { return types_2.BillingPeriod; } });
|
|
9
9
|
Object.defineProperty(exports, "SubscriptionCancellationTime", { enumerable: true, get: function () { return types_2.SubscriptionCancellationTime; } });
|
|
10
|
+
var EntitlementResetPeriod;
|
|
11
|
+
(function (EntitlementResetPeriod) {
|
|
12
|
+
EntitlementResetPeriod["Daily"] = "Daily";
|
|
13
|
+
EntitlementResetPeriod["Hourly"] = "Hourly";
|
|
14
|
+
EntitlementResetPeriod["Monthly"] = "Monthly";
|
|
15
|
+
EntitlementResetPeriod["Weekly"] = "Weekly";
|
|
16
|
+
})(EntitlementResetPeriod = exports.EntitlementResetPeriod || (exports.EntitlementResetPeriod = {}));
|
|
10
17
|
var AccessDeniedReason;
|
|
11
18
|
(function (AccessDeniedReason) {
|
|
12
19
|
AccessDeniedReason["InvalidFeatureType"] = "InvalidFeatureType";
|
|
@@ -70,4 +77,4 @@ class CustomerModel {
|
|
|
70
77
|
}
|
|
71
78
|
}
|
|
72
79
|
exports.CustomerModel = CustomerModel;
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFRK0I7QUFFL0IsK0NBQTRHO0FBQW5HLG9HQUFBLFdBQVcsT0FBQTtBQUFFLGtHQUFBLFNBQVMsT0FBQTtBQUFFLHNHQUFBLGFBQWEsT0FBQTtBQUFFLHFIQUFBLDRCQUE0QixPQUFBO0FBRTVFLElBQVksc0JBS1g7QUFMRCxXQUFZLHNCQUFzQjtJQUNoQyx5Q0FBZSxDQUFBO0lBQ2YsMkNBQWlCLENBQUE7SUFDakIsNkNBQW1CLENBQUE7SUFDbkIsMkNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUxXLHNCQUFzQixHQUF0Qiw4QkFBc0IsS0FBdEIsOEJBQXNCLFFBS2pDO0FBRUQsSUFBWSxrQkFRWDtBQVJELFdBQVksa0JBQWtCO0lBQzVCLCtEQUF5QyxDQUFBO0lBQ3pDLDJEQUFxQyxDQUFBO0lBQ3JDLHlEQUFtQyxDQUFBO0lBQ25DLHFFQUErQyxDQUFBO0lBQy9DLHFGQUErRCxDQUFBO0lBQy9ELCtFQUF5RCxDQUFBO0lBQ3pELHlDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFSVyxrQkFBa0IsR0FBbEIsMEJBQWtCLEtBQWxCLDBCQUFrQixRQVE3QjtBQUVELElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFHdEI7QUFFRCxJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIsd0NBQTJCLENBQUE7SUFDM0Isd0NBQTJCLENBQUE7SUFDM0IsMEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFKVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUlwQjtBQThDRCxnQkFBZ0I7QUFDSCxRQUFBLG9DQUFvQyxHQUF1QjtJQUN0RSxVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsS0FBSztJQUNoQixrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO0NBQy9DLENBQUM7QUFFRixnQkFBZ0I7QUFDSCxRQUFBLG9DQUFvQyxHQUF1QjtJQUN0RSxVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsS0FBSztJQUNoQixXQUFXLEVBQUUsS0FBSztJQUNsQixrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO0NBQy9DLENBQUM7QUFFRixnQkFBZ0I7QUFDSCxRQUFBLG9DQUFvQyxHQUF1QjtJQUN0RSxVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsS0FBSztJQUNoQixXQUFXLEVBQUUsS0FBSztJQUNsQixZQUFZLEVBQUUsQ0FBQztJQUNmLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLE9BQU87Q0FDL0MsQ0FBQztBQXVIRixJQUFZLFFBRVg7QUFGRCxXQUFZLFFBQVE7SUFDbEIsdUJBQVcsQ0FBQTtBQUNiLENBQUMsRUFGVyxRQUFRLEdBQVIsZ0JBQVEsS0FBUixnQkFBUSxRQUVuQjtBQThLRCxjQUFjO0FBQ2QsTUFBYSxhQUFhO0lBUXhCLFlBQVksS0FBb0I7UUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLDBCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSywwQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsZ0NBQWdDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxvQ0FBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RyxDQUFDO0NBQ0Y7QUF2QkQsc0NBdUJDIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EntitlementFeature } from '../../models';
|
|
2
|
-
import {
|
|
1
|
+
import { EntitlementFeature, EntitlementResetPeriod } from '../../models';
|
|
2
|
+
import { ResetPeriodConfigurationFragment } from '../../api/generated/types';
|
|
3
3
|
export interface CalculatedEntitlement {
|
|
4
4
|
feature?: EntitlementFeature;
|
|
5
5
|
usageLimit?: number | null;
|
|
@@ -5,5 +5,5 @@ export declare class EntitlementCheckReportingService {
|
|
|
5
5
|
private readonly entitlementsApi;
|
|
6
6
|
private readonly loggerService;
|
|
7
7
|
constructor(entitlementsApi: EntitlementsApi, loggerService: LoggerService);
|
|
8
|
-
reportEntitlementCheckRequested(featureId: string, customerId: string, entitlement: EntitlementCheckResult, requestedUsage?: number):
|
|
8
|
+
reportEntitlementCheckRequested(featureId: string, customerId: string, entitlement: EntitlementCheckResult, requestedUsage?: number): void;
|
|
9
9
|
}
|
|
@@ -6,13 +6,13 @@ class EntitlementCheckReportingService {
|
|
|
6
6
|
this.entitlementsApi = entitlementsApi;
|
|
7
7
|
this.loggerService = loggerService;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
reportEntitlementCheckRequested(featureId, customerId, entitlement, requestedUsage) {
|
|
10
10
|
this.entitlementsApi.reportEntitlementRequested(featureId, customerId, entitlement, requestedUsage).then(() => {
|
|
11
11
|
this.loggerService.debug('Successfully reported entitlement check requested');
|
|
12
12
|
}, (error) => {
|
|
13
|
-
this.loggerService.error(
|
|
13
|
+
this.loggerService.error(`Failed to report entitlement check requested. Error: ${error.message}`, error);
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.EntitlementCheckReportingService = EntitlementCheckReportingService;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRDaGVja1JlcG9ydGluZ1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvZW50aXRsZW1lbnRDaGVja1JlcG9ydGluZ1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsTUFBYSxnQ0FBZ0M7SUFDM0MsWUFBNkIsZUFBZ0MsRUFBbUIsYUFBNEI7UUFBL0Usb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQW1CLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUVoSCwrQkFBK0IsQ0FDN0IsU0FBaUIsRUFDakIsVUFBa0IsRUFDbEIsV0FBbUMsRUFDbkMsY0FBdUI7UUFFdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQ3RHLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7UUFDaEYsQ0FBQyxFQUNELENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyx3REFBd0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNHLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBbEJELDRFQWtCQyJ9
|
|
@@ -10,8 +10,11 @@ export declare class EntitlementsService {
|
|
|
10
10
|
private readonly entitlementsApi;
|
|
11
11
|
private readonly entitlementCheckReportingService;
|
|
12
12
|
private readonly modelMapper;
|
|
13
|
+
private entitlementsSubscription;
|
|
14
|
+
private usageSubscription;
|
|
13
15
|
constructor(cacheService: CacheService, client: ApolloClient<NormalizedCacheObject>, batchedGraphqlClient: ApolloClient<NormalizedCacheObject>, loggerService: LoggerService);
|
|
14
|
-
|
|
16
|
+
subscribeToUpdates(): void;
|
|
17
|
+
unsubscribeFromUpdates(): void;
|
|
15
18
|
refetchEntitlements(customerRefId: string): Promise<{
|
|
16
19
|
entitlements: Map<string, CachedEntitlement> | null;
|
|
17
20
|
customerExists: boolean;
|
|
@@ -20,9 +23,11 @@ export declare class EntitlementsService {
|
|
|
20
23
|
getNumericEntitlement(customerRefId: string, featureRefId: string, fallbackEntitlement: NumericEntitlement, options?: NumericEntitlementOptions): Promise<NumericEntitlement>;
|
|
21
24
|
getMeteredEntitlement(customerRefId: string, featureRefId: string, fallbackEntitlement: MeteredEntitlement, options?: MeteredEntitlementOptions): Promise<MeteredEntitlement>;
|
|
22
25
|
getCustomerEntitlements(customerRefId: string): Promise<import("../models").Entitlement[]>;
|
|
26
|
+
private onEntitlementsUpdated;
|
|
23
27
|
private onUsageUpdated;
|
|
24
28
|
private tryGetCacheCustomerAndEntitlement;
|
|
25
29
|
createUsageMeasurement(input: CreateUsageMeasurement): Promise<FetchResult<import("../api/generated/types").CreateUsageMeasurementMutation, Record<string, any>, Record<string, any>>>;
|
|
30
|
+
private tryTrackEntitlementCheck;
|
|
26
31
|
}
|
|
27
32
|
export declare type GetEntitlementResult = {
|
|
28
33
|
entitlement: CachedEntitlement | null;
|
|
@@ -14,31 +14,66 @@ class EntitlementsService {
|
|
|
14
14
|
constructor(cacheService, client, batchedGraphqlClient, loggerService) {
|
|
15
15
|
this.cacheService = cacheService;
|
|
16
16
|
this.loggerService = loggerService;
|
|
17
|
-
this.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
this.entitlementsSubscription = null;
|
|
18
|
+
this.usageSubscription = null;
|
|
19
|
+
this.onEntitlementsUpdated = (result) => {
|
|
20
|
+
if (result.errors || !result.data) {
|
|
21
|
+
this.loggerService.error(`Failed to handle entitlements updated event. Errors: ${result.errors}`, {
|
|
22
|
+
errors: JSON.stringify(result.errors),
|
|
21
23
|
});
|
|
22
24
|
return;
|
|
23
25
|
}
|
|
24
|
-
const entitlementsUpdated =
|
|
26
|
+
const entitlementsUpdated = result.data.entitlementsUpdated;
|
|
27
|
+
this.loggerService.debug(`Entitlements updated event arrived.`, {
|
|
28
|
+
customerId: entitlementsUpdated.customerId,
|
|
29
|
+
entitlements: entitlementsUpdated.entitlements,
|
|
30
|
+
});
|
|
25
31
|
const entitlements = this.modelMapper.mapCachedEntitlements(entitlementsUpdated.entitlements);
|
|
26
32
|
this.cacheService.setCustomer(entitlementsUpdated.customerId, entitlements);
|
|
27
33
|
};
|
|
28
|
-
this.onUsageUpdated = (
|
|
29
|
-
if (
|
|
30
|
-
this.loggerService.error(`Failed to handle usage updated
|
|
31
|
-
|
|
34
|
+
this.onUsageUpdated = (result) => {
|
|
35
|
+
if (result.errors || !result.data) {
|
|
36
|
+
this.loggerService.error(`Failed to handle usage updated event. Errors: ${result.errors}`, {
|
|
37
|
+
errors: JSON.stringify(result.errors),
|
|
32
38
|
});
|
|
33
39
|
return;
|
|
34
40
|
}
|
|
35
|
-
const { usage: { customerId, featureId, currentUsage, nextResetDate }, entitlement, } =
|
|
41
|
+
const { usage: { customerId, featureId, currentUsage, nextResetDate }, entitlement, } = result.data.usageUpdated;
|
|
42
|
+
this.loggerService.debug(`Usage updated event arrived.`, {
|
|
43
|
+
customerId: customerId,
|
|
44
|
+
featureId: featureId,
|
|
45
|
+
currentUsage: currentUsage,
|
|
46
|
+
nextResetDate: nextResetDate,
|
|
47
|
+
});
|
|
36
48
|
this.cacheService.setEntitlement(customerId, featureId, this.modelMapper.mapCachedEntitlement(entitlement, currentUsage, nextResetDate));
|
|
37
49
|
};
|
|
38
50
|
this.entitlementsApi = new entitlementsApi_1.default(client);
|
|
39
51
|
this.entitlementCheckReportingService = new entitlementCheckReportingService_1.EntitlementCheckReportingService(new entitlementsApi_1.default(batchedGraphqlClient), this.loggerService);
|
|
40
52
|
this.modelMapper = new ModelMapper_1.ModelMapper();
|
|
41
|
-
|
|
53
|
+
}
|
|
54
|
+
subscribeToUpdates() {
|
|
55
|
+
this.loggerService.log('Subscribing to real-time updates');
|
|
56
|
+
this.unsubscribeFromUpdates();
|
|
57
|
+
this.entitlementsSubscription = this.entitlementsApi.subscribeEntitlementsUpdated().subscribe((value) => this.onEntitlementsUpdated(value), (err) => {
|
|
58
|
+
this.loggerService.error(`Error while handling entitlements updated event. Error: ${err.message}`, {
|
|
59
|
+
stack: err.stack || '',
|
|
60
|
+
});
|
|
61
|
+
this.subscribeToUpdates();
|
|
62
|
+
});
|
|
63
|
+
this.usageSubscription = this.entitlementsApi.subscribeUsageUpdated().subscribe((value) => this.onUsageUpdated(value), (err) => {
|
|
64
|
+
this.loggerService.error(`Error while handling usage updated event. Error: ${err.message}`, {
|
|
65
|
+
stack: err.stack || '',
|
|
66
|
+
});
|
|
67
|
+
this.subscribeToUpdates();
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
unsubscribeFromUpdates() {
|
|
71
|
+
var _a, _b;
|
|
72
|
+
(_a = this.entitlementsSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
73
|
+
this.entitlementsSubscription = null;
|
|
74
|
+
(_b = this.usageSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
75
|
+
this.usageSubscription = null;
|
|
76
|
+
this.cacheService.clearCache();
|
|
42
77
|
}
|
|
43
78
|
async refetchEntitlements(customerRefId) {
|
|
44
79
|
let cachedEntitlements = null;
|
|
@@ -56,6 +91,7 @@ class EntitlementsService {
|
|
|
56
91
|
}
|
|
57
92
|
async getBooleanEntitlement(customerRefId, featureRefId, fallbackEntitlement, options) {
|
|
58
93
|
var _a, _b;
|
|
94
|
+
const shouldTrack = (options === null || options === void 0 ? void 0 : options.shouldTrack) || false;
|
|
59
95
|
let { entitlement, customerExists } = this.tryGetCacheCustomerAndEntitlement(featureRefId, customerRefId);
|
|
60
96
|
if (!entitlement) {
|
|
61
97
|
const refetchResult = await this.refetchEntitlements(customerRefId);
|
|
@@ -65,21 +101,23 @@ class EntitlementsService {
|
|
|
65
101
|
const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy(customerExists, entitlement);
|
|
66
102
|
if ((entitlement === null || entitlement === void 0 ? void 0 : entitlement.calculatedEntitlement.feature) &&
|
|
67
103
|
((_b = entitlement.calculatedEntitlement.feature) === null || _b === void 0 ? void 0 : _b.featureType) !== models_1.FeatureType.Boolean) {
|
|
68
|
-
|
|
104
|
+
const fallbackEntitlementResult = this.modelMapper.mapFallbackBooleanEntitlementResult(fallbackEntitlement, decision);
|
|
105
|
+
this.tryTrackEntitlementCheck(shouldTrack, featureRefId, customerRefId, fallbackEntitlementResult);
|
|
69
106
|
return fallbackEntitlement;
|
|
70
107
|
}
|
|
71
108
|
if (!entitlement) {
|
|
72
109
|
this.loggerService.log(`Customer with id: ${customerRefId} not found in api`, { customerRefId });
|
|
73
110
|
const entitlementResult = this.modelMapper.mapEntitlementResult(decision);
|
|
74
|
-
this.
|
|
111
|
+
this.tryTrackEntitlementCheck(shouldTrack, featureRefId, customerRefId, entitlementResult);
|
|
75
112
|
return Object.assign(Object.assign({}, decision), { isFallback: false });
|
|
76
113
|
}
|
|
77
114
|
const entitlementResult = this.modelMapper.mapEntitlementResult(decision, entitlement);
|
|
78
|
-
this.
|
|
115
|
+
this.tryTrackEntitlementCheck(shouldTrack, featureRefId, customerRefId, entitlementResult);
|
|
79
116
|
return this.modelMapper.mapBooleanEntitlement(entitlement, decision);
|
|
80
117
|
}
|
|
81
118
|
async getNumericEntitlement(customerRefId, featureRefId, fallbackEntitlement, options) {
|
|
82
119
|
var _a, _b;
|
|
120
|
+
const shouldTrack = (options === null || options === void 0 ? void 0 : options.shouldTrack) || false;
|
|
83
121
|
let { entitlement, customerExists } = this.tryGetCacheCustomerAndEntitlement(featureRefId, customerRefId);
|
|
84
122
|
if (!entitlement) {
|
|
85
123
|
const refetchResult = await this.refetchEntitlements(customerRefId);
|
|
@@ -90,52 +128,52 @@ class EntitlementsService {
|
|
|
90
128
|
if ((entitlement === null || entitlement === void 0 ? void 0 : entitlement.calculatedEntitlement.feature) &&
|
|
91
129
|
((_b = entitlement.calculatedEntitlement.feature) === null || _b === void 0 ? void 0 : _b.featureType) !== models_1.FeatureType.Numeric) {
|
|
92
130
|
const entitlementResult = this.modelMapper.mapFallbackNumericEntitlementResult(fallbackEntitlement, decision);
|
|
93
|
-
this.
|
|
131
|
+
this.tryTrackEntitlementCheck(shouldTrack, featureRefId, customerRefId, entitlementResult);
|
|
94
132
|
return fallbackEntitlement;
|
|
95
133
|
}
|
|
96
134
|
if (!entitlement) {
|
|
97
135
|
this.loggerService.log(`Customer with id: ${customerRefId} not found in api`, { customerRefId });
|
|
98
136
|
const entitlementResult = this.modelMapper.mapEntitlementResult(decision);
|
|
99
|
-
this.
|
|
137
|
+
this.tryTrackEntitlementCheck(shouldTrack, featureRefId, customerRefId, entitlementResult);
|
|
100
138
|
return Object.assign(Object.assign({}, decision), { isFallback: false, isUnlimited: false });
|
|
101
139
|
}
|
|
102
140
|
const entitlementResult = this.modelMapper.mapEntitlementResult(decision, entitlement);
|
|
103
|
-
this.
|
|
141
|
+
this.tryTrackEntitlementCheck(shouldTrack, featureRefId, customerRefId, entitlementResult);
|
|
104
142
|
return this.modelMapper.mapNumericEntitlement(entitlement, decision);
|
|
105
143
|
}
|
|
106
144
|
async getMeteredEntitlement(customerRefId, featureRefId, fallbackEntitlement, options) {
|
|
107
145
|
var _a, _b, _c;
|
|
146
|
+
const shouldTrack = (options === null || options === void 0 ? void 0 : options.shouldTrack) || false;
|
|
147
|
+
const requestUsage = options === null || options === void 0 ? void 0 : options.requestedUsage;
|
|
108
148
|
let { entitlement, customerExists } = this.tryGetCacheCustomerAndEntitlement(featureRefId, customerRefId);
|
|
109
149
|
if (!entitlement) {
|
|
110
150
|
const refetchResult = await this.refetchEntitlements(customerRefId);
|
|
111
151
|
entitlement = ((_a = refetchResult.entitlements) === null || _a === void 0 ? void 0 : _a.get(featureRefId)) || null;
|
|
112
152
|
customerExists = refetchResult.customerExists;
|
|
113
153
|
}
|
|
114
|
-
const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy(customerExists, entitlement,
|
|
154
|
+
const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy(customerExists, entitlement, requestUsage);
|
|
115
155
|
if ((entitlement === null || entitlement === void 0 ? void 0 : entitlement.calculatedEntitlement.feature) &&
|
|
116
156
|
((_b = entitlement.calculatedEntitlement.feature) === null || _b === void 0 ? void 0 : _b.meterType) !== models_1.MeterType.Fluctuating &&
|
|
117
157
|
((_c = entitlement.calculatedEntitlement.feature) === null || _c === void 0 ? void 0 : _c.meterType) !== models_1.MeterType.Incremental) {
|
|
118
|
-
const entitlementResult = this.modelMapper.mapFallbackMeteredEntitlementResult(fallbackEntitlement, decision,
|
|
119
|
-
this.
|
|
158
|
+
const entitlementResult = this.modelMapper.mapFallbackMeteredEntitlementResult(fallbackEntitlement, decision, requestUsage);
|
|
159
|
+
this.tryTrackEntitlementCheck(shouldTrack, featureRefId, customerRefId, entitlementResult, requestUsage);
|
|
120
160
|
return fallbackEntitlement;
|
|
121
161
|
}
|
|
122
162
|
if (!entitlement) {
|
|
123
163
|
this.loggerService.log(`Customer with id: ${customerRefId} not found in api`, { customerRefId });
|
|
124
|
-
const entitlementResult = this.modelMapper.mapEntitlementResult(decision, undefined,
|
|
125
|
-
this.
|
|
126
|
-
return Object.assign(Object.assign({}, decision), { currentUsage: 0, isFallback: false, isUnlimited: false, requestedUsage:
|
|
164
|
+
const entitlementResult = this.modelMapper.mapEntitlementResult(decision, undefined, requestUsage);
|
|
165
|
+
this.tryTrackEntitlementCheck(shouldTrack, featureRefId, customerRefId, entitlementResult);
|
|
166
|
+
return Object.assign(Object.assign({}, decision), { currentUsage: 0, isFallback: false, isUnlimited: false, requestedUsage: requestUsage || 0 });
|
|
127
167
|
}
|
|
128
|
-
const entitlementResult = this.modelMapper.mapEntitlementResult(decision, entitlement,
|
|
129
|
-
this.
|
|
130
|
-
return this.modelMapper.mapMeteredEntitlement(entitlement, decision,
|
|
168
|
+
const entitlementResult = this.modelMapper.mapEntitlementResult(decision, entitlement, requestUsage);
|
|
169
|
+
this.tryTrackEntitlementCheck(shouldTrack, featureRefId, customerRefId, entitlementResult, requestUsage);
|
|
170
|
+
return this.modelMapper.mapMeteredEntitlement(entitlement, decision, requestUsage);
|
|
131
171
|
}
|
|
132
172
|
async getCustomerEntitlements(customerRefId) {
|
|
133
173
|
const entitlements = this.cacheService.getCustomerEntitlements(customerRefId);
|
|
134
174
|
if (!entitlements) {
|
|
135
|
-
|
|
136
|
-
if
|
|
137
|
-
throw new Error(`Customer with id: ${customerRefId} doesn't exist or doesn't have an active subscription`);
|
|
138
|
-
}
|
|
175
|
+
await this.refetchEntitlements(customerRefId);
|
|
176
|
+
// todo currently there is no good way to find out if the customer exists or not
|
|
139
177
|
}
|
|
140
178
|
const cachedEntitlements = this.cacheService.getCustomerEntitlements(customerRefId) || [];
|
|
141
179
|
return Array.from(cachedEntitlements.values()).map((entitlement) => {
|
|
@@ -154,6 +192,12 @@ class EntitlementsService {
|
|
|
154
192
|
async createUsageMeasurement(input) {
|
|
155
193
|
return this.entitlementsApi.createUsageMeasurement(input);
|
|
156
194
|
}
|
|
195
|
+
tryTrackEntitlementCheck(shouldTrack, featureRefId, customerRefId, result, requestedUsage) {
|
|
196
|
+
if (!shouldTrack) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
this.entitlementCheckReportingService.reportEntitlementCheckRequested(featureRefId, customerRefId, result, requestedUsage);
|
|
200
|
+
}
|
|
157
201
|
}
|
|
158
202
|
exports.EntitlementsService = EntitlementsService;
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbnRpdGxlbWVudHNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLDBGQUFrRTtBQUNsRSxzREFBbUQ7QUFDbkQsc0NBVW1CO0FBQ25CLDZFQUFvRjtBQUlwRix5RkFBc0Y7QUFDdEYsbUNBQWlDO0FBRWpDLE1BQWEsbUJBQW1CO0lBSzlCLFlBQ21CLFlBQTBCLEVBQzNDLE1BQTJDLEVBQzNDLG9CQUF5RCxFQUN4QyxhQUE0QjtRQUg1QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUcxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVl2QywwQkFBcUIsR0FBRyxDQUFDLEtBQW1ELEVBQUUsRUFBRTtZQUN0RixJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO2dCQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxvREFBb0QsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUMzRixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2lCQUNwQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTzthQUNSO1lBRUQsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQzNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFOUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQztRQXdNTSxtQkFBYyxHQUFHLENBQUMsSUFBMkMsRUFBRSxFQUFFO1lBQ3ZFLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFD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
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbnRpdGxlbWVudHNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLDBGQUFrRTtBQUNsRSxzREFBbUQ7QUFDbkQsc0NBVW1CO0FBQ25CLDZFQUFvRjtBQVFwRix5RkFBc0Y7QUFDdEYsbUNBQWlDO0FBRWpDLE1BQWEsbUJBQW1CO0lBUTlCLFlBQ21CLFlBQTBCLEVBQzNDLE1BQTJDLEVBQzNDLG9CQUF5RCxFQUN4QyxhQUE0QjtRQUg1QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUcxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVB2Qyw2QkFBd0IsR0FBc0MsSUFBSSxDQUFDO1FBQ25FLHNCQUFpQixHQUFzQyxJQUFJLENBQUM7UUFzTjVELDBCQUFxQixHQUFHLENBQUMsTUFBb0QsRUFBRSxFQUFFO1lBQ3ZGLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLHdEQUF3RCxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ2hHLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7aUJBQ3RDLENBQUMsQ0FBQztnQkFDSCxPQUFPO2FBQ1I7WUFFRCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFFNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMscUNBQXFDLEVBQUU7Z0JBQzlELFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxVQUFVO2dCQUMxQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsWUFBWTthQUMvQyxDQUFDLENBQUM7WUFFSCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFD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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export interface Logger {
|
|
2
|
-
log: (message: string, object?: Record<string,
|
|
3
|
-
debug: (message: string, object?: Record<string,
|
|
4
|
-
error: (message: string, error?: Record<string,
|
|
2
|
+
log: (message: string, object?: Record<string, any>) => void;
|
|
3
|
+
debug: (message: string, object?: Record<string, any>) => void;
|
|
4
|
+
error: (message: string, error?: Record<string, any>) => void;
|
|
5
5
|
}
|
|
6
6
|
export interface LogConfiguration {
|
|
7
7
|
logger: Logger;
|
|
@@ -17,7 +17,7 @@ export declare class LoggerService implements Logger {
|
|
|
17
17
|
private readonly logger;
|
|
18
18
|
private readonly logLevel;
|
|
19
19
|
constructor(logger: Logger, logLevel: LogLevel);
|
|
20
|
-
error(message: string, error?: Record<string,
|
|
21
|
-
log(message: string, object?: Record<string,
|
|
22
|
-
debug(message: string, object?: Record<string,
|
|
20
|
+
error(message: string, error?: Record<string, any>): void;
|
|
21
|
+
log(message: string, object?: Record<string, any>): void;
|
|
22
|
+
debug(message: string, object?: Record<string, any> | undefined): void;
|
|
23
23
|
}
|