UNPKG

@speckle/shared

Version:

Shared code between various Speckle JS packages

116 lines 4.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isWorkspacePlanStatusReadOnly = exports.WorkspacePlanStatuses = exports.PaidWorkspacePlanStatuses = exports.UnpaidWorkspacePlanStatuses = exports.WorkspacePlanBillingIntervals = exports.isPaidPlan = exports.isSelfServeAvailablePlan = exports.doesPlanIncludeUnlimitedProjectsAddon = exports.WorkspacePlans = exports.UnpaidWorkspacePlans = exports.PaidWorkspacePlans = void 0; const error_js_1 = require("../../core/helpers/error.js"); exports.PaidWorkspacePlans = { Team: 'team', // actually 'Starter' TeamUnlimited: 'teamUnlimited', Pro: 'pro', // actually 'Business' ProUnlimited: 'proUnlimited' }; exports.UnpaidWorkspacePlans = { TeamUnlimitedInvoiced: 'teamUnlimitedInvoiced', ProUnlimitedInvoiced: 'proUnlimitedInvoiced', Enterprise: 'enterprise', Unlimited: 'unlimited', Academia: 'academia', Free: 'free' }; exports.WorkspacePlans = { ...exports.PaidWorkspacePlans, ...exports.UnpaidWorkspacePlans }; const doesPlanIncludeUnlimitedProjectsAddon = (plan) => { switch (plan) { case exports.WorkspacePlans.TeamUnlimited: case exports.WorkspacePlans.ProUnlimited: return true; case exports.WorkspacePlans.Free: case exports.WorkspacePlans.Team: case exports.WorkspacePlans.Pro: case exports.WorkspacePlans.TeamUnlimitedInvoiced: case exports.WorkspacePlans.ProUnlimitedInvoiced: case exports.WorkspacePlans.Unlimited: case exports.WorkspacePlans.Academia: case exports.WorkspacePlans.Enterprise: return false; default: (0, error_js_1.throwUncoveredError)(plan); } }; exports.doesPlanIncludeUnlimitedProjectsAddon = doesPlanIncludeUnlimitedProjectsAddon; const isSelfServeAvailablePlan = (plan) => { switch (plan) { case exports.WorkspacePlans.Free: case exports.WorkspacePlans.Team: case exports.WorkspacePlans.TeamUnlimited: case exports.WorkspacePlans.Pro: case exports.WorkspacePlans.ProUnlimited: return true; case exports.WorkspacePlans.TeamUnlimitedInvoiced: case exports.WorkspacePlans.ProUnlimitedInvoiced: case exports.WorkspacePlans.Unlimited: case exports.WorkspacePlans.Academia: case exports.WorkspacePlans.Enterprise: return false; default: (0, error_js_1.throwUncoveredError)(plan); } }; exports.isSelfServeAvailablePlan = isSelfServeAvailablePlan; const isPaidPlan = (plan) => { switch (plan) { case exports.WorkspacePlans.Team: case exports.WorkspacePlans.TeamUnlimited: case exports.WorkspacePlans.Pro: case exports.WorkspacePlans.ProUnlimited: return true; case exports.WorkspacePlans.Free: case exports.WorkspacePlans.TeamUnlimitedInvoiced: case exports.WorkspacePlans.ProUnlimitedInvoiced: case exports.WorkspacePlans.Unlimited: case exports.WorkspacePlans.Academia: case exports.WorkspacePlans.Enterprise: return false; default: (0, error_js_1.throwUncoveredError)(plan); } }; exports.isPaidPlan = isPaidPlan; /** * BILLING INTERVALS */ exports.WorkspacePlanBillingIntervals = { Monthly: 'monthly', Yearly: 'yearly' }; /** * PLAN STATUSES */ exports.UnpaidWorkspacePlanStatuses = { Valid: 'valid' }; exports.PaidWorkspacePlanStatuses = { ...exports.UnpaidWorkspacePlanStatuses, PaymentFailed: 'paymentFailed', CancelationScheduled: 'cancelationScheduled', Canceled: 'canceled' }; exports.WorkspacePlanStatuses = { ...exports.PaidWorkspacePlanStatuses, ...exports.UnpaidWorkspacePlanStatuses }; const isWorkspacePlanStatusReadOnly = (status) => { switch (status) { case 'cancelationScheduled': case 'valid': case 'paymentFailed': return false; case 'canceled': return true; default: (0, error_js_1.throwUncoveredError)(status); } }; exports.isWorkspacePlanStatusReadOnly = isWorkspacePlanStatusReadOnly; //# sourceMappingURL=plans.js.map