( stripeSubscription: Stripe.Subscription )
| 128 | * Resolve plan information from a Stripe subscription object. |
| 129 | */ |
| 130 | export function resolvePlanFromStripeSubscription( |
| 131 | stripeSubscription: Stripe.Subscription |
| 132 | ): StripePlanResolution { |
| 133 | const priceId = stripeSubscription?.items?.data?.[0]?.price?.id |
| 134 | const interval = stripeSubscription?.items?.data?.[0]?.price?.recurring?.interval |
| 135 | const plan = priceId ? getPlanByPriceId(priceId) : undefined |
| 136 | |
| 137 | return { |
| 138 | priceId, |
| 139 | planFromStripe: plan?.name ?? null, |
| 140 | isTeamPlan: plan ? isTeam(plan.name) : false, |
| 141 | isAnnual: interval === 'year', |
| 142 | } |
| 143 | } |
no test coverage detected