@stigg/node-server-sdk 4.37.0 → 4.38.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/api/entitlements/entitlementsApi.d.ts +1 -1
  2. package/dist/api/managementApi.d.ts +1 -1
  3. package/dist/client.d.ts +1 -2
  4. package/dist/client.js +19 -23
  5. package/dist/clientInitialization.js +5 -4
  6. package/dist/configuration.d.ts +1 -1
  7. package/dist/models/index.d.ts +10 -0
  8. package/dist/models/index.js +33 -0
  9. package/dist/services/LegacyEventPayloadMapper.js +3 -3
  10. package/dist/services/entitlementsService.d.ts +6 -3
  11. package/dist/services/entitlementsService.js +26 -91
  12. package/dist/services/identifiers.d.ts +0 -1
  13. package/dist/services/identifiers.js +1 -6
  14. package/dist/services/inMemoryEntitlementsService.d.ts +2 -1
  15. package/dist/services/inMemoryEntitlementsService.js +1 -1
  16. package/dist/services/inMemoryLruCacheService.d.ts +6 -0
  17. package/dist/services/inMemoryLruCacheService.js +20 -0
  18. package/dist/services/redisEntitlementsService.d.ts +1 -1
  19. package/dist/services/redisEntitlementsService.js +1 -1
  20. package/package.json +5 -4
  21. package/dist/models.d.ts +0 -946
  22. package/dist/models.js +0 -80
  23. package/dist/services/entitlementDecisionService.d.ts +0 -20
  24. package/dist/services/entitlementDecisionService.js +0 -80
  25. package/dist/utils/ModelMapper.d.ts +0 -61
  26. package/dist/utils/ModelMapper.js +0 -623
  27. package/dist/utils/entitlementFallbackUtils.d.ts +0 -23
  28. package/dist/utils/entitlementFallbackUtils.js +0 -66
  29. package/dist/utils/entitlementTypeGuards.d.ts +0 -6
  30. package/dist/utils/entitlementTypeGuards.js +0 -11
  31. package/dist/utils/mapGetEntitlementsFallback.d.ts +0 -2
  32. package/dist/utils/mapGetEntitlementsFallback.js +0 -14
@@ -1,23 +0,0 @@
1
- import { AccessDeniedReason, CreditEntitlement, CreditEntitlementFallback, Entitlement, EntitlementV2 } from '../models';
2
- import type { EntitlementOptionsV2, EnumEntitlementOptions, MeteredEntitlementOptions, NumericEntitlementOptions } from '../models';
3
- import { EntitlementQuery } from '@stigg/cache-core';
4
- export declare function isMeteredEntitlementOptions(options: EntitlementOptionsV2 | undefined): options is MeteredEntitlementOptions;
5
- export declare function isEnumEntitlementOptions(options: EntitlementOptionsV2 | undefined): options is EnumEntitlementOptions;
6
- /**
7
- * True when options indicate a numeric (limit-based) feature fallback.
8
- */
9
- export declare function isNumericEntitlementOptions(options: EntitlementOptionsV2 | undefined): options is NumericEntitlementOptions;
10
- /** Builds a credit fallback entitlement; remaining = max(usageLimit - currentUsage, 0) when both are set in fallback. */
11
- export declare function buildCreditFallbackEntitlement(params: {
12
- currencyId: string;
13
- accessDeniedReason?: AccessDeniedReason;
14
- fallback?: CreditEntitlementFallback;
15
- }): CreditEntitlement;
16
- /**
17
- * Returns the appropriate default fallback entitlement for a feature (regular/getEntitlement path).
18
- */
19
- export declare function getFeatureFallbackFromOptions(options?: EntitlementOptionsV2): Entitlement;
20
- /**
21
- * Returns the appropriate fallback for getEntitlementV2: feature or credit, based on entitlementReference.type.
22
- */
23
- export declare function getEntitlementV2FallbackFromOptions(entitlementReference: EntitlementQuery, options?: EntitlementOptionsV2, accessDeniedReason?: AccessDeniedReason): EntitlementV2;
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isMeteredEntitlementOptions = isMeteredEntitlementOptions;
4
- exports.isEnumEntitlementOptions = isEnumEntitlementOptions;
5
- exports.isNumericEntitlementOptions = isNumericEntitlementOptions;
6
- exports.buildCreditFallbackEntitlement = buildCreditFallbackEntitlement;
7
- exports.getFeatureFallbackFromOptions = getFeatureFallbackFromOptions;
8
- exports.getEntitlementV2FallbackFromOptions = getEntitlementV2FallbackFromOptions;
9
- const models_1 = require("../models");
10
- const cache_core_1 = require("@stigg/cache-core");
11
- function isMeteredEntitlementOptions(options) {
12
- return options != null && 'requestedUsage' in options;
13
- }
14
- function isEnumEntitlementOptions(options) {
15
- return options != null && 'requestedValues' in options;
16
- }
17
- /**
18
- * True when options indicate a numeric (limit-based) feature fallback.
19
- */
20
- function isNumericEntitlementOptions(options) {
21
- const fallback = options === null || options === void 0 ? void 0 : options.fallback;
22
- return options != null && fallback != null && 'value' in fallback;
23
- }
24
- /** Builds a credit fallback entitlement; remaining = max(usageLimit - currentUsage, 0) when both are set in fallback. */
25
- function buildCreditFallbackEntitlement(params) {
26
- const { currencyId, accessDeniedReason, fallback = {} } = params;
27
- const base = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, models_1.CREDIT_DEFAULT_FALLBACK_ENTITLEMENT), { currency: { currencyId } }), (accessDeniedReason !== undefined && { accessDeniedReason })), fallback), { isFallback: true });
28
- const { usageLimit, currentUsage, remaining } = base;
29
- const normalizedAccessDeniedReason = base.hasAccess ? undefined : base.accessDeniedReason;
30
- return Object.assign(Object.assign({}, base), { accessDeniedReason: normalizedAccessDeniedReason, remaining: typeof usageLimit === 'number' && typeof currentUsage === 'number'
31
- ? Math.max(usageLimit - currentUsage, 0)
32
- : remaining });
33
- }
34
- /**
35
- * Returns the appropriate default fallback entitlement for a feature (regular/getEntitlement path).
36
- */
37
- function getFeatureFallbackFromOptions(options) {
38
- var _a;
39
- const fallbackOverrides = (_a = options === null || options === void 0 ? void 0 : options.fallback) !== null && _a !== void 0 ? _a : {};
40
- if (isMeteredEntitlementOptions(options)) {
41
- return Object.assign(Object.assign({}, models_1.METERED_DEFAULT_FALLBACK_ENTITLEMENT), fallbackOverrides);
42
- }
43
- if (isEnumEntitlementOptions(options)) {
44
- return Object.assign(Object.assign({}, models_1.ENUM_DEFAULT_FALLBACK_ENTITLEMENT), fallbackOverrides);
45
- }
46
- if (isNumericEntitlementOptions(options)) {
47
- return Object.assign(Object.assign({}, models_1.NUMERIC_DEFAULT_FALLBACK_ENTITLEMENT), fallbackOverrides);
48
- }
49
- return Object.assign(Object.assign({}, models_1.BOOLEAN_DEFAULT_FALLBACK_ENTITLEMENT), fallbackOverrides);
50
- }
51
- /**
52
- * Returns the appropriate fallback for getEntitlementV2: feature or credit, based on entitlementReference.type.
53
- */
54
- function getEntitlementV2FallbackFromOptions(entitlementReference, options, accessDeniedReason) {
55
- if (entitlementReference.type === cache_core_1.EntitlementType.Credit) {
56
- return buildCreditFallbackEntitlement({
57
- currencyId: entitlementReference.id,
58
- accessDeniedReason,
59
- fallback: options === null || options === void 0 ? void 0 : options.fallback,
60
- });
61
- }
62
- const base = getFeatureFallbackFromOptions(options);
63
- const featureAccessDeniedReason = base.hasAccess ? undefined : (accessDeniedReason !== null && accessDeniedReason !== void 0 ? accessDeniedReason : base.accessDeniedReason);
64
- return Object.assign(Object.assign({}, base), { accessDeniedReason: featureAccessDeniedReason, isFallback: true });
65
- }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRGYWxsYmFja1V0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2VudGl0bGVtZW50RmFsbGJhY2tVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW9CQSxrRUFJQztBQUVELDREQUVDO0FBS0Qsa0VBS0M7QUFHRCx3RUF1QkM7QUFLRCxzRUFZQztBQUtELGtGQWVDO0FBckdELHNDQVdtQjtBQU9uQixrREFBc0U7QUFFdEUsU0FBZ0IsMkJBQTJCLENBQ3pDLE9BQXlDO0lBRXpDLE9BQU8sT0FBTyxJQUFJLElBQUksSUFBSSxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7QUFDeEQsQ0FBQztBQUVELFNBQWdCLHdCQUF3QixDQUFDLE9BQXlDO0lBQ2hGLE9BQU8sT0FBTyxJQUFJLElBQUksSUFBSSxpQkFBaUIsSUFBSSxPQUFPLENBQUM7QUFDekQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsMkJBQTJCLENBQ3pDLE9BQXlDO0lBRXpDLE1BQU0sUUFBUSxHQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxRQUFRLENBQUM7SUFDbkMsT0FBTyxPQUFPLElBQUksSUFBSSxJQUFJLFFBQVEsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLFFBQVEsQ0FBQztBQUNwRSxDQUFDO0FBRUQseUhBQXlIO0FBQ3pILFNBQWdCLDhCQUE4QixDQUFDLE1BSTlDO0lBQ0MsTUFBTSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEdBQUcsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ2pFLE1BQU0sSUFBSSw2RUFDTCw0Q0FBbUMsS0FDdEMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQ3JCLENBQUMsa0JBQWtCLEtBQUssU0FBUyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxHQUM1RCxRQUFRLEtBQ1gsVUFBVSxFQUFFLElBQUksR0FDakIsQ0FBQztJQUNGLE1BQU0sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNyRCxNQUFNLDRCQUE0QixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQzFGLHVDQUNLLElBQUksS0FDUCxrQkFBa0IsRUFBRSw0QkFBNEIsRUFDaEQsU0FBUyxFQUNQLE9BQU8sVUFBVSxLQUFLLFFBQVEsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRO1lBQ2hFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxTQUFTLElBQ2Y7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiw2QkFBNkIsQ0FBQyxPQUE4Qjs7SUFDMUUsTUFBTSxpQkFBaUIsR0FBRyxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxRQUFRLG1DQUFJLEVBQUUsQ0FBQztJQUNsRCxJQUFJLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDekMsdUNBQVksNkNBQW9DLEdBQUssaUJBQWlCLEVBQUc7SUFDM0UsQ0FBQztJQUNELElBQUksd0JBQXdCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN0Qyx1Q0FBWSwwQ0FBaUMsR0FBSyxpQkFBaUIsRUFBRztJQUN4RSxDQUFDO0lBQ0QsSUFBSSwyQkFBMkIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3pDLHVDQUFZLDZDQUFvQyxHQUFLLGlCQUFpQixFQUFHO0lBQzNFLENBQUM7SUFDRCx1Q0FBWSw2Q0FBb0MsR0FBSyxpQkFBaUIsRUFBRztBQUMzRSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixtQ0FBbUMsQ0FDakQsb0JBQXNDLEVBQ3RDLE9BQThCLEVBQzlCLGtCQUF1QztJQUV2QyxJQUFJLG9CQUFvQixDQUFDLElBQUksS0FBSyw0QkFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pELE9BQU8sOEJBQThCLENBQUM7WUFDcEMsVUFBVSxFQUFFLG9CQUFvQixDQUFDLEVBQUU7WUFDbkMsa0JBQWtCO1lBQ2xCLFFBQVEsRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsUUFBUTtTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEQsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLGFBQWxCLGtCQUFrQixjQUFsQixrQkFBa0IsR0FBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMvRyx1Q0FBWSxJQUFJLEtBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsVUFBVSxFQUFFLElBQUksSUFBRztBQUN0RixDQUFDIn0=
@@ -1,6 +0,0 @@
1
- import { EntitlementUnionFragment, FeatureEntitlementFragment } from '@stigg/api-client-js';
2
- /**
3
- * Type guard to check if an entitlement is a FeatureEntitlement.
4
- * Uses __typename which is a standard GraphQL field for union type discrimination.
5
- */
6
- export declare function isFeatureEntitlementFragment(entitlement: EntitlementUnionFragment): entitlement is FeatureEntitlementFragment;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isFeatureEntitlementFragment = isFeatureEntitlementFragment;
4
- /**
5
- * Type guard to check if an entitlement is a FeatureEntitlement.
6
- * Uses __typename which is a standard GraphQL field for union type discrimination.
7
- */
8
- function isFeatureEntitlementFragment(entitlement) {
9
- return entitlement.__typename === 'FeatureEntitlement';
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRUeXBlR3VhcmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2VudGl0bGVtZW50VHlwZUd1YXJkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU1BLG9FQUlDO0FBUkQ7OztHQUdHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQzFDLFdBQXFDO0lBRXJDLE9BQU8sV0FBVyxDQUFDLFVBQVUsS0FBSyxvQkFBb0IsQ0FBQztBQUN6RCxDQUFDIn0=
@@ -1,2 +0,0 @@
1
- import { Entitlement, EntitlementsFallback } from '../models';
2
- export declare function mapGetEntitlementsFallback(entitlementsFallback?: EntitlementsFallback): Entitlement[];
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapGetEntitlementsFallback = mapGetEntitlementsFallback;
4
- const models_1 = require("../models");
5
- function mapGetEntitlementsFallback(entitlementsFallback) {
6
- if (!entitlementsFallback) {
7
- return [];
8
- }
9
- const featureIds = Object.keys(entitlementsFallback);
10
- return featureIds.map((featureId) => (Object.assign({ isFallback: true, accessDeniedReason: models_1.AccessDeniedReason.Unknown, feature: {
11
- id: featureId,
12
- } }, entitlementsFallback[featureId])));
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwR2V0RW50aXRsZW1lbnRzRmFsbGJhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvbWFwR2V0RW50aXRsZW1lbnRzRmFsbGJhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxnRUFlQztBQWpCRCxzQ0FBa0Y7QUFFbEYsU0FBZ0IsMEJBQTBCLENBQUMsb0JBQTJDO0lBQ3BGLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzFCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUVyRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLGlCQUNuQyxVQUFVLEVBQUUsSUFBSSxFQUNoQixrQkFBa0IsRUFBRSwyQkFBa0IsQ0FBQyxPQUFPLEVBQzlDLE9BQU8sRUFBRTtZQUNQLEVBQUUsRUFBRSxTQUFTO1NBQ2QsSUFDRSxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsRUFDbEMsQ0FBa0IsQ0FBQztBQUN2QixDQUFDIn0=