@stigg/node-server-sdk 4.36.0 → 4.38.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 -1
- package/dist/api/managementApi.d.ts +1 -1
- package/dist/client.d.ts +1 -2
- package/dist/client.js +19 -23
- package/dist/clientInitialization.js +5 -4
- package/dist/configuration.d.ts +1 -1
- package/dist/models/index.d.ts +10 -0
- package/dist/models/index.js +33 -0
- package/dist/services/LegacyEventPayloadMapper.js +3 -3
- package/dist/services/entitlementsService.d.ts +6 -3
- package/dist/services/entitlementsService.js +26 -91
- package/dist/services/identifiers.d.ts +0 -1
- package/dist/services/identifiers.js +1 -6
- package/dist/services/inMemoryEntitlementsService.d.ts +2 -1
- package/dist/services/inMemoryEntitlementsService.js +1 -1
- package/dist/services/inMemoryLruCacheService.d.ts +6 -0
- package/dist/services/inMemoryLruCacheService.js +20 -0
- package/dist/services/redisEntitlementsService.d.ts +1 -1
- package/dist/services/redisEntitlementsService.js +1 -1
- package/package.json +5 -4
- package/dist/models.d.ts +0 -946
- package/dist/models.js +0 -80
- package/dist/services/entitlementDecisionService.d.ts +0 -20
- package/dist/services/entitlementDecisionService.js +0 -80
- package/dist/utils/ModelMapper.d.ts +0 -61
- package/dist/utils/ModelMapper.js +0 -623
- package/dist/utils/entitlementFallbackUtils.d.ts +0 -23
- package/dist/utils/entitlementFallbackUtils.js +0 -66
- package/dist/utils/entitlementTypeGuards.d.ts +0 -6
- package/dist/utils/entitlementTypeGuards.js +0 -11
- package/dist/utils/mapGetEntitlementsFallback.d.ts +0 -2
- package/dist/utils/mapGetEntitlementsFallback.js +0 -14
package/dist/models.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.CustomerModel = exports.CREDIT_DEFAULT_FALLBACK_ENTITLEMENT = exports.ENUM_DEFAULT_FALLBACK_ENTITLEMENT = exports.METERED_DEFAULT_FALLBACK_ENTITLEMENT = exports.NUMERIC_DEFAULT_FALLBACK_ENTITLEMENT = exports.BOOLEAN_DEFAULT_FALLBACK_ENTITLEMENT = void 0;
|
|
18
|
-
const api_client_js_1 = require("@stigg/api-client-js");
|
|
19
|
-
__exportStar(require("@stigg/api-client-js"), exports);
|
|
20
|
-
/** @internal */
|
|
21
|
-
exports.BOOLEAN_DEFAULT_FALLBACK_ENTITLEMENT = {
|
|
22
|
-
type: 'BOOLEAN',
|
|
23
|
-
isFallback: true,
|
|
24
|
-
hasAccess: false,
|
|
25
|
-
accessDeniedReason: api_client_js_1.AccessDeniedReason.Unknown,
|
|
26
|
-
};
|
|
27
|
-
/** @internal */
|
|
28
|
-
exports.NUMERIC_DEFAULT_FALLBACK_ENTITLEMENT = {
|
|
29
|
-
type: 'NUMERIC',
|
|
30
|
-
isFallback: true,
|
|
31
|
-
hasAccess: false,
|
|
32
|
-
isUnlimited: false,
|
|
33
|
-
accessDeniedReason: api_client_js_1.AccessDeniedReason.Unknown,
|
|
34
|
-
};
|
|
35
|
-
/** @internal */
|
|
36
|
-
exports.METERED_DEFAULT_FALLBACK_ENTITLEMENT = {
|
|
37
|
-
type: 'METERED',
|
|
38
|
-
isFallback: true,
|
|
39
|
-
hasAccess: false,
|
|
40
|
-
isUnlimited: false,
|
|
41
|
-
hasSoftLimit: false,
|
|
42
|
-
currentUsage: 0,
|
|
43
|
-
requestedUsage: 1,
|
|
44
|
-
accessDeniedReason: api_client_js_1.AccessDeniedReason.Unknown,
|
|
45
|
-
};
|
|
46
|
-
/** @internal */
|
|
47
|
-
exports.ENUM_DEFAULT_FALLBACK_ENTITLEMENT = {
|
|
48
|
-
type: 'ENUM',
|
|
49
|
-
isFallback: true,
|
|
50
|
-
hasAccess: false,
|
|
51
|
-
enumValues: [],
|
|
52
|
-
accessDeniedReason: api_client_js_1.AccessDeniedReason.Unknown,
|
|
53
|
-
};
|
|
54
|
-
/** @internal */
|
|
55
|
-
exports.CREDIT_DEFAULT_FALLBACK_ENTITLEMENT = {
|
|
56
|
-
isFallback: true,
|
|
57
|
-
hasAccess: false,
|
|
58
|
-
accessDeniedReason: api_client_js_1.AccessDeniedReason.Unknown,
|
|
59
|
-
currency: { currencyId: '' },
|
|
60
|
-
usageLimit: 0,
|
|
61
|
-
currentUsage: 0,
|
|
62
|
-
remaining: 0,
|
|
63
|
-
};
|
|
64
|
-
/** @hidden */
|
|
65
|
-
class CustomerModel {
|
|
66
|
-
constructor(state) {
|
|
67
|
-
Object.assign(this, state);
|
|
68
|
-
}
|
|
69
|
-
getActiveSubscriptions() {
|
|
70
|
-
return this.subscriptions.filter((x) => x.status === api_client_js_1.SubscriptionStatus.Active);
|
|
71
|
-
}
|
|
72
|
-
getActiveTrials() {
|
|
73
|
-
return this.subscriptions.filter((x) => x.status === api_client_js_1.SubscriptionStatus.InTrial);
|
|
74
|
-
}
|
|
75
|
-
getActivePromotionalEntitlements() {
|
|
76
|
-
return this.promotionalEntitlements.filter((x) => x.status === api_client_js_1.PromotionalEntitlementStatus.Active);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
exports.CustomerModel = CustomerModel;
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdEQW9EOEI7QUFFOUIsdURBQXFDO0FBc0dyQyxnQkFBZ0I7QUFDSCxRQUFBLG9DQUFvQyxHQUF1QjtJQUN0RSxJQUFJLEVBQUUsU0FBUztJQUNmLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLGtCQUFrQixFQUFFLGtDQUFrQixDQUFDLE9BQU87Q0FDL0MsQ0FBQztBQUVGLGdCQUFnQjtBQUNILFFBQUEsb0NBQW9DLEdBQXVCO0lBQ3RFLElBQUksRUFBRSxTQUFTO0lBQ2YsVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsV0FBVyxFQUFFLEtBQUs7SUFDbEIsa0JBQWtCLEVBQUUsa0NBQWtCLENBQUMsT0FBTztDQUMvQyxDQUFDO0FBRUYsZ0JBQWdCO0FBQ0gsUUFBQSxvQ0FBb0MsR0FBdUI7SUFDdEUsSUFBSSxFQUFFLFNBQVM7SUFDZixVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsS0FBSztJQUNoQixXQUFXLEVBQUUsS0FBSztJQUNsQixZQUFZLEVBQUUsS0FBSztJQUNuQixZQUFZLEVBQUUsQ0FBQztJQUNmLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLGtCQUFrQixFQUFFLGtDQUFrQixDQUFDLE9BQU87Q0FDL0MsQ0FBQztBQUVGLGdCQUFnQjtBQUNILFFBQUEsaUNBQWlDLEdBQW9CO0lBQ2hFLElBQUksRUFBRSxNQUFNO0lBQ1osVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsVUFBVSxFQUFFLEVBQUU7SUFDZCxrQkFBa0IsRUFBRSxrQ0FBa0IsQ0FBQyxPQUFPO0NBQy9DLENBQUM7QUFFRixnQkFBZ0I7QUFDSCxRQUFBLG1DQUFtQyxHQUFzQjtJQUNwRSxVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsS0FBSztJQUNoQixrQkFBa0IsRUFBRSxrQ0FBa0IsQ0FBQyxPQUFPO0lBQzlDLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7SUFDNUIsVUFBVSxFQUFFLENBQUM7SUFDYixZQUFZLEVBQUUsQ0FBQztJQUNmLFNBQVMsRUFBRSxDQUFDO0NBQ2IsQ0FBQztBQXU4QkYsY0FBYztBQUNkLE1BQWEsYUFBYTtJQVN4QixZQUFZLEtBQW9CO1FBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxrQ0FBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssa0NBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELGdDQUFnQztRQUM5QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssNENBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEcsQ0FBQztDQUNGO0FBeEJELHNDQXdCQyJ9
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { CachedEntitlement, EntitlementType, Maybe } from '@stigg/cache-core';
|
|
2
|
-
import { AccessDeniedReason } from '../models';
|
|
3
|
-
export interface DecideEntitlementPolicyParams {
|
|
4
|
-
entitlementType: EntitlementType;
|
|
5
|
-
accessDeniedReason: Maybe<AccessDeniedReason>;
|
|
6
|
-
entitlement: Maybe<CachedEntitlement>;
|
|
7
|
-
requestedUsage?: number;
|
|
8
|
-
requestedValues?: string[];
|
|
9
|
-
}
|
|
10
|
-
export declare class EntitlementDecisionService {
|
|
11
|
-
static decideEntitlementPolicy({ entitlementType, accessDeniedReason, entitlement, requestedUsage, requestedValues, }: DecideEntitlementPolicyParams): Decision;
|
|
12
|
-
private static getNotFoundReason;
|
|
13
|
-
private static decideFeatureAccess;
|
|
14
|
-
private static decideCreditAccess;
|
|
15
|
-
private static decideUsageBasedAccess;
|
|
16
|
-
}
|
|
17
|
-
export interface Decision {
|
|
18
|
-
readonly hasAccess: boolean;
|
|
19
|
-
readonly accessDeniedReason?: AccessDeniedReason;
|
|
20
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EntitlementDecisionService = void 0;
|
|
4
|
-
const cache_core_1 = require("@stigg/cache-core");
|
|
5
|
-
const models_1 = require("../models");
|
|
6
|
-
const lodash_1 = require("lodash");
|
|
7
|
-
// TODO: Extract to a common lib for other sdks
|
|
8
|
-
class EntitlementDecisionService {
|
|
9
|
-
static decideEntitlementPolicy({ entitlementType, accessDeniedReason, entitlement, requestedUsage = 0, requestedValues = [], }) {
|
|
10
|
-
if (accessDeniedReason) {
|
|
11
|
-
return { accessDeniedReason: accessDeniedReason, hasAccess: false };
|
|
12
|
-
}
|
|
13
|
-
if (!entitlement) {
|
|
14
|
-
return { hasAccess: false, accessDeniedReason: this.getNotFoundReason(entitlementType) };
|
|
15
|
-
}
|
|
16
|
-
if (entitlement.calculatedEntitlement.accessDeniedReason) {
|
|
17
|
-
return { hasAccess: false, accessDeniedReason: entitlement.calculatedEntitlement.accessDeniedReason };
|
|
18
|
-
}
|
|
19
|
-
if ((0, cache_core_1.isCreditEntitlement)(entitlement)) {
|
|
20
|
-
return this.decideCreditAccess(entitlement);
|
|
21
|
-
}
|
|
22
|
-
if ((0, cache_core_1.isFeatureEntitlement)(entitlement)) {
|
|
23
|
-
return this.decideFeatureAccess(entitlement, requestedUsage, requestedValues);
|
|
24
|
-
}
|
|
25
|
-
return { hasAccess: false, accessDeniedReason: models_1.AccessDeniedReason.NoFeatureEntitlementInSubscription };
|
|
26
|
-
}
|
|
27
|
-
static getNotFoundReason(entitlementType) {
|
|
28
|
-
if (entitlementType === cache_core_1.EntitlementType.Feature) {
|
|
29
|
-
// for backward compatability
|
|
30
|
-
return models_1.AccessDeniedReason.NoFeatureEntitlementInSubscription;
|
|
31
|
-
}
|
|
32
|
-
return models_1.AccessDeniedReason.EntitlementNotFound;
|
|
33
|
-
}
|
|
34
|
-
static decideFeatureAccess(entitlement, requestUsage, requestedValues) {
|
|
35
|
-
const { feature } = entitlement.calculatedEntitlement;
|
|
36
|
-
const { featureType, meterType } = feature;
|
|
37
|
-
switch (featureType) {
|
|
38
|
-
case models_1.FeatureType.Boolean:
|
|
39
|
-
return { hasAccess: true };
|
|
40
|
-
case models_1.FeatureType.Enum: {
|
|
41
|
-
const missingValues = (0, lodash_1.difference)(requestedValues, entitlement.calculatedEntitlement.enumValues || []);
|
|
42
|
-
if (!(0, lodash_1.isEmpty)(missingValues)) {
|
|
43
|
-
return {
|
|
44
|
-
hasAccess: false,
|
|
45
|
-
accessDeniedReason: models_1.AccessDeniedReason.RequestedValuesMismatch,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
return { hasAccess: true };
|
|
49
|
-
}
|
|
50
|
-
case models_1.FeatureType.Number: {
|
|
51
|
-
if (meterType === models_1.MeterType.None) {
|
|
52
|
-
return { hasAccess: true };
|
|
53
|
-
}
|
|
54
|
-
if (entitlement.calculatedEntitlement.hasUnlimitedUsage || entitlement.calculatedEntitlement.hasSoftLimit) {
|
|
55
|
-
return { hasAccess: true };
|
|
56
|
-
}
|
|
57
|
-
const usageLimit = entitlement.calculatedEntitlement.usageLimit || 0;
|
|
58
|
-
const currentUsage = entitlement.usageData.currentUsage;
|
|
59
|
-
return this.decideUsageBasedAccess(usageLimit, currentUsage, requestUsage);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
static decideCreditAccess(entitlement) {
|
|
64
|
-
const { usageLimit } = entitlement.calculatedEntitlement;
|
|
65
|
-
const { currentUsage } = entitlement.usageData;
|
|
66
|
-
// checking at least 1 credit to deny access when none remaining
|
|
67
|
-
const requestUsage = 1;
|
|
68
|
-
return this.decideUsageBasedAccess(usageLimit, currentUsage, requestUsage);
|
|
69
|
-
}
|
|
70
|
-
static decideUsageBasedAccess(usageLimit, currentUsage, requestUsage) {
|
|
71
|
-
if (currentUsage + requestUsage <= usageLimit) {
|
|
72
|
-
return { hasAccess: true };
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
return { hasAccess: false, accessDeniedReason: models_1.AccessDeniedReason.RequestedUsageExceedingLimit };
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
exports.EntitlementDecisionService = EntitlementDecisionService;
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnREZWNpc2lvblNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvZW50aXRsZW1lbnREZWNpc2lvblNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBTTJCO0FBQzNCLHNDQUF1RTtBQUN2RSxtQ0FBNkM7QUFVN0MsK0NBQStDO0FBQy9DLE1BQWEsMEJBQTBCO0lBQzlCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxFQUNwQyxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxjQUFjLEdBQUcsQ0FBQyxFQUNsQixlQUFlLEdBQUcsRUFBRSxHQUNVO1FBQzlCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3RFLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDM0YsQ0FBQztRQUVELElBQUksV0FBVyxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDeEcsQ0FBQztRQUVELElBQUksSUFBQSxnQ0FBbUIsRUFBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLElBQUEsaUNBQW9CLEVBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FB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
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { ApplySubscriptionMutation, CustomerResourceFragment, CustomerStatisticsFragment, CustomerWithSubscriptionsFragment, GetCouponsQuery, GetPaywallQuery, GetProductsQuery, ImmediateSubscriptionPreviewInvoiceFragment, ProvisionCustomerMutation, ProvisionSubscriptionMutation, ReportUsageFragment, SlimCustomerFragment, SlimSubscriptionFragment, SubscriptionFragment, SubscriptionPreviewFragment, SubscriptionPreviewInvoiceFragment, SubscriptionPreviewV2Fragment, UsageHistoryFragment } from '@stigg/api-client-js';
|
|
2
|
-
import { ApplySubscriptionResults, BooleanEntitlement, Coupon, CreditEntitlement, CustomerResource, CustomerStatisticsModel, Entitlement, EntitlementV2, EnumEntitlement, FullCustomer, FullSubscription, MeteredEntitlement, Money, NumericEntitlement, Paywall, Plan, Price, Product, ProvisionedCustomer, ProvisionSubscriptionResult, ReportUsageAck, SlimCustomer, Subscription, SubscriptionPreview, SubscriptionPreviewCredits, SubscriptionPreviewDiscount, SubscriptionPreviewInvoice, SubscriptionPreviewV2, UsageHistoryPoint } from '../models';
|
|
3
|
-
import { Decision } from '../services/entitlementDecisionService';
|
|
4
|
-
import { CachedEntitlement, EntitlementType } from '@stigg/cache-core';
|
|
5
|
-
declare class ModelMapper {
|
|
6
|
-
mapEntitlement(entitlement: CachedEntitlement, decision: Decision, requestedUsage?: number, requestedValues?: string[]): EntitlementV2;
|
|
7
|
-
mapFeatureEntitlement(entitlement: CachedEntitlement<EntitlementType.Feature>, decision: Decision, requestedUsage?: number, requestedValues?: string[]): Entitlement;
|
|
8
|
-
mapBooleanEntitlement(entitlement: CachedEntitlement<EntitlementType.Feature>, decision: Decision): BooleanEntitlement;
|
|
9
|
-
mapEnumEntitlement(entitlement: CachedEntitlement<EntitlementType.Feature>, decision: Decision, requestedValues?: string[]): EnumEntitlement;
|
|
10
|
-
mapNumericEntitlement(entitlement: CachedEntitlement<EntitlementType.Feature>, decision: Decision): NumericEntitlement;
|
|
11
|
-
mapMeteredEntitlement(entitlement: CachedEntitlement<EntitlementType.Feature>, decision: Decision, requestedUsage?: number): MeteredEntitlement;
|
|
12
|
-
mapCreditEntitlement(entitlement: CachedEntitlement<EntitlementType.Credit>, decision: Decision): CreditEntitlement;
|
|
13
|
-
mapSlimCustomer: (customer: SlimCustomerFragment) => SlimCustomer;
|
|
14
|
-
mapProvisionedCustomer: (graphProvisionedCustomer: ProvisionCustomerMutation) => ProvisionedCustomer;
|
|
15
|
-
mapProvisionedSubscriptionResult: (graphProvisionedSubscriptionResult: ProvisionSubscriptionMutation) => ProvisionSubscriptionResult;
|
|
16
|
-
getSubscriptionPrices(subscription: SubscriptionFragment | SlimSubscriptionFragment): Price[];
|
|
17
|
-
mapSlimSubscription: (slimSubscription: SlimSubscriptionFragment) => Subscription;
|
|
18
|
-
mapApplySubscriptionResults: (graphApplySubscriptionResults: ApplySubscriptionMutation, customerId: string) => ApplySubscriptionResults;
|
|
19
|
-
mapFullCustomer: (customer: CustomerWithSubscriptionsFragment) => FullCustomer;
|
|
20
|
-
mapCoupons(resultData: GetCouponsQuery): Coupon[];
|
|
21
|
-
private mapPaymentDetails;
|
|
22
|
-
private mapCoupon;
|
|
23
|
-
/**
|
|
24
|
-
* Maps a PriceFragment from the API into the SDK's Price model.
|
|
25
|
-
* Handles flat-fee, per-unit, tiered, and credit-based pricing models,
|
|
26
|
-
* including custom currency top-ups for credit charges.
|
|
27
|
-
*/
|
|
28
|
-
private mapPrice;
|
|
29
|
-
private mapPlan;
|
|
30
|
-
private mapProduct;
|
|
31
|
-
mapProducts(resultData: GetProductsQuery): Product[];
|
|
32
|
-
private mapDefaultTrialConfig;
|
|
33
|
-
private mapCompatibleAddons;
|
|
34
|
-
private mapPackageEntitlement;
|
|
35
|
-
mapFullSubscriptions(subscriptions: SubscriptionFragment[]): FullSubscription[];
|
|
36
|
-
mapFullSubscription(subscription: SubscriptionFragment): FullSubscription;
|
|
37
|
-
private mapLatestInvoice;
|
|
38
|
-
private mapTotalPrice;
|
|
39
|
-
private mapDependencyAddon;
|
|
40
|
-
private mapAddon;
|
|
41
|
-
private mapPromotionalEntitlement;
|
|
42
|
-
mapReportUsageAck(data: ReportUsageFragment): ReportUsageAck;
|
|
43
|
-
mapResource(resource: CustomerResourceFragment): CustomerResource;
|
|
44
|
-
mapPaywall(resultData: GetPaywallQuery): Paywall;
|
|
45
|
-
mapPlans(resultData: GetPaywallQuery): Plan[];
|
|
46
|
-
mapTaxFields(fragment: SubscriptionPreviewFragment | SubscriptionPreviewInvoiceFragment | ImmediateSubscriptionPreviewInvoiceFragment): Pick<SubscriptionPreview, 'tax' | 'taxDetails'>;
|
|
47
|
-
mapSubscriptionPreview(fragment: SubscriptionPreviewFragment): SubscriptionPreview;
|
|
48
|
-
mapCredits(fragment: NonNullable<SubscriptionPreviewFragment['credits']>): SubscriptionPreviewCredits;
|
|
49
|
-
mapSubscriptionPreviewV2(fragment: SubscriptionPreviewV2Fragment): SubscriptionPreviewV2;
|
|
50
|
-
mapSubscriptionPreviewInvoice(fragment: SubscriptionPreviewInvoiceFragment | ImmediateSubscriptionPreviewInvoiceFragment): SubscriptionPreviewInvoice;
|
|
51
|
-
mapDiscount(discount: NonNullable<SubscriptionPreviewFragment['discount']>): SubscriptionPreviewDiscount;
|
|
52
|
-
mapMoney(fragment: {
|
|
53
|
-
amount: number;
|
|
54
|
-
currency: string;
|
|
55
|
-
}): Money;
|
|
56
|
-
mapUsageHistory(usageHistory: UsageHistoryFragment): UsageHistoryPoint[];
|
|
57
|
-
mapCustomerStatistics(customer: CustomerStatisticsFragment): CustomerStatisticsModel;
|
|
58
|
-
private getPriceCurrency;
|
|
59
|
-
private mapCompatiblePackageGroups;
|
|
60
|
-
}
|
|
61
|
-
export { ModelMapper };
|