Files
alrahma_sunday_school_api/apps/api/dist/modules/subscriptions/subscription.policy.js
T
2026-06-11 03:22:12 -04:00

52 lines
1.4 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ACCESS_MAP = exports.SUBSCRIPTION_POLICY = void 0;
exports.getAccessLevel = getAccessLevel;
exports.hasFullAccess = hasFullAccess;
exports.hasAnyAccess = hasAnyAccess;
exports.SUBSCRIPTION_POLICY = {
trial: {
durationDays: 14,
requiresPaymentMethod: false, // set true when payment capture is mandatory
oneTrialPerCompany: true,
},
payment: {
paymentPendingTimeoutDays: 7,
retryScheduleDays: [0, 3, 6, 10, 14],
maxRetryAttempts: 5,
},
pastDue: {
timeoutDays: 7,
},
suspension: {
cancelAfterDays: 16,
},
notifications: {
trialEndingDaysBefore: [7, 3, 1],
paymentFailureDaysAfter: [0, 3, 6],
pastDueDaysAfter: [7],
suspensionDaysAfter: [14],
cancellationDaysAfter: [30],
},
};
exports.ACCESS_MAP = {
TRIALING: 'full',
ACTIVE: 'full',
PAYMENT_PENDING: 'full',
UNPAID: 'full',
PAST_DUE: 'limited',
SUSPENDED: 'read_only',
CANCELLED: 'none',
EXPIRED: 'none',
PAUSED: 'read_only',
};
function getAccessLevel(status) {
return exports.ACCESS_MAP[status] ?? 'none';
}
function hasFullAccess(status) {
return getAccessLevel(status) === 'full';
}
function hasAnyAccess(status) {
return getAccessLevel(status) !== 'none';
}
//# sourceMappingURL=subscription.policy.js.map