import { FeatureValue, Intervals, PaymentProviders, Plan } from '../../../models' import { CountryCode } from '../../../utils' export class TotemPlan { id: string name: string price: number available_features: FeatureValue[] free_days: number complete: boolean interval: Intervals static fromPlan( plan: Plan, { provider, countryCode }: { provider: PaymentProviders; countryCode: CountryCode }, ): TotemPlan { const totemPlan = new TotemPlan() Object.assign(totemPlan, { id: plan.id, name: plan.name, price: plan.getPaymentProvider(provider, countryCode)?.amount, available_features: plan.features?.map(feature => feature.feature), free_days: plan.trialInDays, complete: plan.complete || false, interval: plan.interval, }) return totemPlan } }