@stigg/node-server-sdk 0.33.0 → 0.35.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 +103 -0
- 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 +52 -8
- package/dist/utils/apiErrorHandling.js +9 -8
- package/package.json +1 -1
|
@@ -34,4 +34,4 @@ class LoggerService {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
exports.LoggerService = LoggerService;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9sb2dnZXJTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLCtEQUF1QztBQWF2QyxJQUFZLFFBS1g7QUFMRCxXQUFZLFFBQVE7SUFDbEIsdUJBQVcsQ0FBQTtJQUNYLHlCQUFhLENBQUE7SUFDYix1QkFBVyxDQUFBO0lBQ1gsMkJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFLbkI7QUFFRCxNQUFhLGFBQWE7SUFDeEIsWUFBNkIsTUFBYyxFQUFtQixRQUFrQjtRQUFuRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQW1CLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBQ3BGLEtBQUssQ0FBQyxPQUFlLEVBQUUsS0FBMkI7UUFDaEQsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCxHQUFHLENBQUMsT0FBZSxFQUFFLE1BQTRCO1FBQy9DLElBQUksQ0FBQyxJQUFBLGtCQUFRLEVBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBZSxFQUFFLE1BQXdDO1FBQzdELElBQUksSUFBQSxrQkFBUSxFQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDO0NBQ0Y7QUFuQkQsc0NBbUJDIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CancelSubscriptionMutation, CreateCustomerMutation, CreateSubscriptionMutation, EntitlementFragment, InitiateCheckoutMutation, FeatureType as ApiFeatureType, EntitlementCheckResult, UpdateOneCustomerMutation, CustomerFragment, ImportCustomerMutation, CreateUsageMeasurementMutation } from '../api/generated/types';
|
|
2
|
-
import { BooleanEntitlement, BooleanEntitlementFallback, Checkout, Customer, FeatureType, FullCustomer, MeteredEntitlement, MeteredEntitlementFallback, NumericEntitlement, NumericEntitlementFallback, Subscription, Entitlement, ReportUsageAck } from '../models';
|
|
1
|
+
import { CancelSubscriptionMutation, CreateCustomerMutation, CreateSubscriptionMutation, EntitlementFragment, InitiateCheckoutMutation, FeatureType as ApiFeatureType, EntitlementCheckResult, UpdateOneCustomerMutation, CustomerFragment, ImportCustomerMutation, CreateUsageMeasurementMutation, GetPlansQuery } from '../api/generated/types';
|
|
2
|
+
import { BooleanEntitlement, BooleanEntitlementFallback, Checkout, Customer, FeatureType, FullCustomer, MeteredEntitlement, MeteredEntitlementFallback, NumericEntitlement, NumericEntitlementFallback, Subscription, Plan, Entitlement, ReportUsageAck } from '../models';
|
|
3
3
|
import { Decision } from '../services/entitlementDecisionService';
|
|
4
4
|
import CachedEntitlement from '../services/cache/cachedEntitlement';
|
|
5
5
|
declare class ModelMapper {
|
|
@@ -31,5 +31,9 @@ declare class ModelMapper {
|
|
|
31
31
|
private mapAddon;
|
|
32
32
|
private mapPromotionalEntitlement;
|
|
33
33
|
mapReportUsageAck(data: CreateUsageMeasurementMutation): ReportUsageAck;
|
|
34
|
+
mapPlans(resultData: GetPlansQuery): Plan[];
|
|
35
|
+
private sortPlans;
|
|
36
|
+
private mapApiEntitlementResetPeriod;
|
|
37
|
+
private mapEntitlementResetPeriod;
|
|
34
38
|
}
|
|
35
39
|
export { ModelMapper };
|
|
@@ -8,14 +8,14 @@ class ModelMapper {
|
|
|
8
8
|
constructor() {
|
|
9
9
|
this.getResetPeriodData = (resetPeriod, resetPeriodConfiguration) => {
|
|
10
10
|
switch (resetPeriod) {
|
|
11
|
-
case
|
|
11
|
+
case models_1.EntitlementResetPeriod.Monthly:
|
|
12
12
|
const monthlyConfig = resetPeriodConfiguration;
|
|
13
13
|
return {
|
|
14
14
|
monthlyResetPeriodConfiguration: {
|
|
15
15
|
accordingTo: monthlyConfig.monthlyAccordingTo || types_1.MonthlyAccordingTo.SubscriptionStart,
|
|
16
16
|
},
|
|
17
17
|
};
|
|
18
|
-
case
|
|
18
|
+
case models_1.EntitlementResetPeriod.Weekly:
|
|
19
19
|
const weeklyConfig = resetPeriodConfiguration;
|
|
20
20
|
return {
|
|
21
21
|
weeklyResetPeriodConfiguration: {
|
|
@@ -53,7 +53,7 @@ class ModelMapper {
|
|
|
53
53
|
hasUnlimitedUsage: entitlement.hasUnlimitedUsage,
|
|
54
54
|
},
|
|
55
55
|
featureUsage: {
|
|
56
|
-
resetPeriod: entitlement.resetPeriod,
|
|
56
|
+
resetPeriod: entitlement.resetPeriod ? this.mapEntitlementResetPeriod(entitlement.resetPeriod) : undefined,
|
|
57
57
|
resetPeriodConfiguration: entitlement.resetPeriodConfiguration,
|
|
58
58
|
currentUsage: currentUsage || entitlement.currentUsage || 0,
|
|
59
59
|
nextResetDate: nextResetDate || entitlement.nextResetDate,
|
|
@@ -213,7 +213,9 @@ class ModelMapper {
|
|
|
213
213
|
mapEntitlementResult(decision, entitlement, requestedUsage) {
|
|
214
214
|
return Object.assign({ hasAccess: decision.hasAccess, accessDeniedReason: decision.accessDeniedReason
|
|
215
215
|
? this.mapAccessDeniedReason(decision.accessDeniedReason)
|
|
216
|
-
: undefined, hasUnlimitedUsage: entitlement === null || entitlement === void 0 ? void 0 : entitlement.calculatedEntitlement.hasUnlimitedUsage, usageLimit: entitlement === null || entitlement === void 0 ? void 0 : entitlement.calculatedEntitlement.usageLimit, currentUsage: entitlement === null || entitlement === void 0 ? void 0 : entitlement.featureUsage.currentUsage, requestedUsage, nextResetDate: entitlement === null || entitlement === void 0 ? void 0 : entitlement.featureUsage.nextResetDate, resetPeriod:
|
|
216
|
+
: undefined, hasUnlimitedUsage: entitlement === null || entitlement === void 0 ? void 0 : entitlement.calculatedEntitlement.hasUnlimitedUsage, usageLimit: entitlement === null || entitlement === void 0 ? void 0 : entitlement.calculatedEntitlement.usageLimit, currentUsage: entitlement === null || entitlement === void 0 ? void 0 : entitlement.featureUsage.currentUsage, requestedUsage, nextResetDate: entitlement === null || entitlement === void 0 ? void 0 : entitlement.featureUsage.nextResetDate, resetPeriod: (entitlement === null || entitlement === void 0 ? void 0 : entitlement.featureUsage.resetPeriod)
|
|
217
|
+
? this.mapApiEntitlementResetPeriod(entitlement.featureUsage.resetPeriod)
|
|
218
|
+
: undefined }, this.getResetPeriodData(entitlement === null || entitlement === void 0 ? void 0 : entitlement.featureUsage.resetPeriod, entitlement === null || entitlement === void 0 ? void 0 : entitlement.featureUsage.resetPeriodConfiguration));
|
|
217
219
|
}
|
|
218
220
|
mapFallbackMeteredEntitlementResult(entitlement, decision, requestedUsage) {
|
|
219
221
|
return {
|
|
@@ -255,7 +257,7 @@ class ModelMapper {
|
|
|
255
257
|
pricePoints: (0, lodash_1.map)(plan.prices, (price) => this.mapPrice(price)),
|
|
256
258
|
defaultTrialConfig: plan.defaultTrialConfig,
|
|
257
259
|
compatibleAddons: this.mapCompatibleAddons(plan),
|
|
258
|
-
product: { id: plan.product.refId, displayName: plan.product.displayName },
|
|
260
|
+
product: { id: plan.product.refId, displayName: plan.product.displayName, description: plan.product.description },
|
|
259
261
|
};
|
|
260
262
|
}
|
|
261
263
|
mapCompatibleAddons(plan) {
|
|
@@ -266,7 +268,7 @@ class ModelMapper {
|
|
|
266
268
|
const filteredCompatibleAddons = plan.pricingType === types_1.PricingType.Paid
|
|
267
269
|
? compatibleAddons.filter((addon) => addon.pricingType === types_1.PricingType.Paid)
|
|
268
270
|
: compatibleAddons;
|
|
269
|
-
return filteredCompatibleAddons.map(this.mapAddon);
|
|
271
|
+
return filteredCompatibleAddons.map((addon) => this.mapAddon(addon));
|
|
270
272
|
}
|
|
271
273
|
mapPackageEntitlement(entitlement) {
|
|
272
274
|
const { feature } = entitlement;
|
|
@@ -283,7 +285,7 @@ class ModelMapper {
|
|
|
283
285
|
isMetered: feature.meterType === models_1.MeterType.Fluctuating || feature.meterType === models_1.MeterType.Incremental,
|
|
284
286
|
},
|
|
285
287
|
hasUnlimitedUsage: entitlement.hasUnlimitedUsage,
|
|
286
|
-
resetPeriod: entitlement.resetPeriod,
|
|
288
|
+
resetPeriod: entitlement.resetPeriod ? this.mapEntitlementResetPeriod(entitlement.resetPeriod) : undefined,
|
|
287
289
|
};
|
|
288
290
|
}
|
|
289
291
|
mapFullSubscription(subscription) {
|
|
@@ -339,6 +341,48 @@ class ModelMapper {
|
|
|
339
341
|
measurementId: data.createUsageMeasurement.id,
|
|
340
342
|
};
|
|
341
343
|
}
|
|
344
|
+
mapPlans(resultData) {
|
|
345
|
+
const plans = resultData.plans.edges.map((x) => x.node);
|
|
346
|
+
const sortedPlans = this.sortPlans(plans);
|
|
347
|
+
return sortedPlans.map((plan, index) => this.mapPlan(plan, index));
|
|
348
|
+
}
|
|
349
|
+
sortPlans(plans) {
|
|
350
|
+
const rootPlans = (0, lodash_1.sortBy)(plans.filter((x) => !x.basePlan), (plan) => plan.refId);
|
|
351
|
+
const result = [...rootPlans];
|
|
352
|
+
function addAncestor(basePlanId, plans, result) {
|
|
353
|
+
const subPlans = (0, lodash_1.sortBy)(plans.filter((x) => { var _a; return ((_a = x.basePlan) === null || _a === void 0 ? void 0 : _a.refId) === basePlanId; }), (plan) => plan.refId);
|
|
354
|
+
result.push(...subPlans);
|
|
355
|
+
if (result.length !== plans.length) {
|
|
356
|
+
subPlans.forEach((x) => addAncestor(x.refId, plans, result));
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
rootPlans.forEach((x) => addAncestor(x.refId, plans, result));
|
|
360
|
+
return result;
|
|
361
|
+
}
|
|
362
|
+
mapApiEntitlementResetPeriod(resetPeriod) {
|
|
363
|
+
switch (resetPeriod) {
|
|
364
|
+
case models_1.EntitlementResetPeriod.Daily:
|
|
365
|
+
return types_1.EntitlementResetPeriod.Day;
|
|
366
|
+
case models_1.EntitlementResetPeriod.Hourly:
|
|
367
|
+
return types_1.EntitlementResetPeriod.Hour;
|
|
368
|
+
case models_1.EntitlementResetPeriod.Weekly:
|
|
369
|
+
return types_1.EntitlementResetPeriod.Week;
|
|
370
|
+
case models_1.EntitlementResetPeriod.Monthly:
|
|
371
|
+
return types_1.EntitlementResetPeriod.Month;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
mapEntitlementResetPeriod(resetPeriod) {
|
|
375
|
+
switch (resetPeriod) {
|
|
376
|
+
case types_1.EntitlementResetPeriod.Day:
|
|
377
|
+
return models_1.EntitlementResetPeriod.Daily;
|
|
378
|
+
case types_1.EntitlementResetPeriod.Hour:
|
|
379
|
+
return models_1.EntitlementResetPeriod.Hourly;
|
|
380
|
+
case types_1.EntitlementResetPeriod.Week:
|
|
381
|
+
return models_1.EntitlementResetPeriod.Weekly;
|
|
382
|
+
case types_1.EntitlementResetPeriod.Month:
|
|
383
|
+
return models_1.EntitlementResetPeriod.Monthly;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
342
386
|
}
|
|
343
387
|
exports.ModelMapper = ModelMapper;
|
|
344
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvTW9kZWxNYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBNEJnQztBQUNoQyxzQ0F1Qm1CO0FBR25CLG1DQUFxQztBQUVyQyxNQUFNLFdBQVc7SUFBakI7UUFtSlUsdUJBQWtCLEdBQUcsQ0FDM0IsV0FBMkMsRUFDM0Msd0JBQWtFLEVBSWxFLEVBQUU7WUFDRixRQUFRLFdBQVcsRUFBRTtnQkFDbkIsS0FBSyw4QkFBc0IsQ0FBQyxLQUFLO29CQUMvQixNQUFNLGFBQWEsR0FBRyx3QkFBNEQsQ0FBQztvQkFDbkYsT0FBTzt3QkFDTCwrQkFBK0IsRUFBRTs0QkFDL0IsV0FBVyxFQUFFLGFBQWEsQ0FBQyxrQkFBa0IsSUFBSSwwQkFBa0IsQ0FBQyxpQkFBaUI7eUJBQ3RGO3FCQUNGLENBQUM7Z0JBQ0osS0FBSyw4QkFBc0IsQ0FBQyxJQUFJO29CQUM5QixNQUFNLFlBQVksR0FBRyx3QkFBMkQsQ0FBQztvQkFDakYsT0FBTzt3QkFDTCw4QkFBOEIsRUFBRTs0QkFDOUIsV0FBVyxFQUFFLFlBQVksQ0FBQyxpQkFBaUIsSUFBSSx5QkFBaUIsQ0FBQyxXQUFXO3lCQUM3RTtxQkFDRixDQUFDO2dCQUNKO29CQUNFLE9BQU8sRUFBRSxDQUFDO2FBQ2I7UUFDSCxDQUFDLENBQUM7UUFrQkYsbUJBQWMsR0FBRyxDQUFDLFdBQTJCLEVBQWUsRUFBRTtZQUM1RCxRQUFRLFdBQVcsRUFBRTtnQkFDbkIsS0FBSyxtQkFBYyxDQUFDLE9BQU87b0JBQ3pCLE9BQU8sb0JBQVcsQ0FBQyxPQUFPLENBQUM7Z0JBQzdCLEtBQUssbUJBQWMsQ0FBQyxNQUFNO29CQUN4QixPQUFPLG9CQUFXLENBQUMsT0FBTyxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxDQUFDO1FBRUYseUJBQW9CLEdBQUcsQ0FDckIsV0FBZ0MsRUFDaEMsWUFBcUIsRUFDckIsYUFBNkIsRUFD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
|
|
388
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvTW9kZWxNYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBNkJnQztBQUNoQyxzQ0F3Qm1CO0FBR25CLG1DQUFxQztBQUVyQyxNQUFNLFdBQVc7SUFBakI7UUFxSlUsdUJBQWtCLEdBQUcsQ0FDM0IsV0FBMkMsRUFDM0Msd0JBQWtFLEVBSWxFLEVBQUU7WUFDRixRQUFRLFdBQVcsRUFBRTtnQkFDbkIsS0FBSywrQkFBc0IsQ0FBQyxPQUFPO29CQUNqQyxNQUFNLGFBQWEsR0FBRyx3QkFBNEQsQ0FBQztvQkFDbkYsT0FBTzt3QkFDTCwrQkFBK0IsRUFBRTs0QkFDL0IsV0FBVyxFQUFFLGFBQWEsQ0FBQyxrQkFBa0IsSUFBSSwwQkFBa0IsQ0FBQyxpQkFBaUI7eUJBQ3RGO3FCQUNGLENBQUM7Z0JBQ0osS0FBSywrQkFBc0IsQ0FBQyxNQUFNO29CQUNoQyxNQUFNLFlBQVksR0FBRyx3QkFBMkQsQ0FBQztvQkFDakYsT0FBTzt3QkFDTCw4QkFBOEIsRUFBRTs0QkFDOUIsV0FBVyxFQUFFLFlBQVksQ0FBQyxpQkFBaUIsSUFBSSx5QkFBaUIsQ0FBQyxXQUFXO3lCQUM3RTtxQkFDRixDQUFDO2dCQUNKO29CQUNFLE9BQU8sRUFBRSxDQUFDO2FBQ2I7UUFDSCxDQUFDLENBQUM7UUFrQkYsbUJBQWMsR0FBRyxDQUFDLFdBQTJCLEVBQWUsRUFBRTtZQUM1RCxRQUFRLFdBQVcsRUFBRTtnQkFDbkIsS0FBSyxtQkFBYyxDQUFDLE9BQU87b0JBQ3pCLE9BQU8sb0JBQVcsQ0FBQyxPQUFPLENBQUM7Z0JBQzdCLEtBQUssbUJBQWMsQ0FBQyxNQUFNO29CQUN4QixPQUFPLG9CQUFXLENBQUMsT0FBTyxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxDQUFDO1FBRUYseUJBQW9CLEdBQUcsQ0FDckIsV0FBZ0MsRUFDaEMsWUFBcUIsRUFDckIsYUFBNkIsRUFD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
|
|
@@ -4,14 +4,15 @@ exports.withErrorHandling = void 0;
|
|
|
4
4
|
const lodash_1 = require("lodash");
|
|
5
5
|
function extractErrorMessage(err) {
|
|
6
6
|
var _a, _b, _c, _d, _e, _f;
|
|
7
|
-
let errorMessage = 'unknown error';
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
let errorMessage = err.message || 'unknown error';
|
|
8
|
+
const apolloError = err;
|
|
9
|
+
if (!(0, lodash_1.isEmpty)(apolloError.graphQLErrors)) {
|
|
10
|
+
errorMessage = apolloError.graphQLErrors[0].message;
|
|
10
11
|
}
|
|
11
|
-
else if (!(0, lodash_1.isEmpty)(
|
|
12
|
+
else if (!(0, lodash_1.isEmpty)(apolloError.networkError)) {
|
|
12
13
|
// @ts-expect-error the original error message is on the result object
|
|
13
|
-
const message = ((_b = (_a =
|
|
14
|
-
errorMessage = message || ((_f =
|
|
14
|
+
const message = ((_b = (_a = apolloError.networkError) === null || _a === void 0 ? void 0 : _a.result) === null || _b === void 0 ? void 0 : _b.errors) && ((_e = (_d = (_c = apolloError.networkError) === null || _c === void 0 ? void 0 : _c.result) === null || _d === void 0 ? void 0 : _d.errors[0]) === null || _e === void 0 ? void 0 : _e.message);
|
|
15
|
+
errorMessage = message || ((_f = apolloError.networkError) === null || _f === void 0 ? void 0 : _f.message) || 'Network error';
|
|
15
16
|
}
|
|
16
17
|
return errorMessage;
|
|
17
18
|
}
|
|
@@ -26,10 +27,10 @@ async function withErrorHandling(func, loggerService, { errorMessagePrefix, reth
|
|
|
26
27
|
throw new Error(`${errorMessagePrefix}: ${errorMessage}`);
|
|
27
28
|
}
|
|
28
29
|
else {
|
|
29
|
-
loggerService.error(`${errorMessagePrefix}: ${
|
|
30
|
+
loggerService.error(`${errorMessagePrefix}: ${err.stack || err.message}`);
|
|
30
31
|
return undefined;
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
exports.withErrorHandling = withErrorHandling;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpRXJyb3JIYW5kbGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hcGlFcnJvckhhbmRsaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1DQUFpQztBQUdqQyxTQUFTLG1CQUFtQixDQUFDLEdBQXdCOztJQUNuRCxJQUFJLFlBQVksR0FBRyxHQUFHLENBQUMsT0FBTyxJQUFJLGVBQWUsQ0FBQztJQUVsRCxNQUFNLFdBQVcsR0FBRyxHQUFrQixDQUFDO0lBQ3ZDLElBQUksQ0FBQyxJQUFBLGdCQUFPLEVBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1FBQ3ZDLFlBQVksR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztLQUNyRDtTQUFNLElBQUksQ0FBQyxJQUFBLGdCQUFPLEVBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFO1FBQzdDLHNFQUFzRTtRQUN0RSxNQUFNLE9BQU8sR0FBRyxDQUFBLE1BQUEsTUFBQSxXQUFXLENBQUMsWUFBWSwwQ0FBRSxNQUFNLDBDQUFFLE1BQU0sTUFBSSxNQUFBLE1BQUEsTUFBQSxXQUFXLENBQUMsWUFBWSwwQ0FBRSxNQUFNLDBDQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsMENBQUUsT0FBTyxDQUFBLENBQUM7UUFDakgsWUFBWSxHQUFHLE9BQU8sS0FBSSxNQUFBLFdBQVcsQ0FBQyxZQUFZLDBDQUFFLE9BQU8sQ0FBQSxJQUFJLGVBQWUsQ0FBQztLQUNoRjtJQUVELE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUM7QUFvQkQsS0FBSyxVQUFVLGlCQUFpQixDQUM5QixJQUFzQixFQUN0QixhQUE0QixFQUM1QixFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBeUQ7SUFFM0YsSUFBSTtRQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDNUIsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUFDLE9BQU8sR0FBUSxFQUFFO1FBQ2pCLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLElBQUksWUFBWSxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxrQkFBa0IsS0FBSyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1NBQzNEO2FBQU07WUFDTCxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsa0JBQWtCLEtBQUssR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUMxRSxPQUFPLFNBQVMsQ0FBQztTQUNsQjtLQUNGO0FBQ0gsQ0FBQztBQUVRLDhDQUFpQiJ9
|