Files
documenso/packages/ee/server-only/stripe/update-subscription-item-quantity.ts
David Nguyen 9d626473c8 feat: wip
2023-12-27 13:04:24 +11:00

29 lines
677 B
TypeScript

import { stripe } from '@documenso/lib/server-only/stripe';
export type UpdateSubscriptionItemQuantityOptions = {
subscriptionId: string;
quantity?: number;
priceId: string;
};
export const updateSubscriptionItemQuantity = async ({
subscriptionId,
quantity,
priceId,
}: UpdateSubscriptionItemQuantityOptions) => {
const subscription = await stripe.subscriptions.retrieve(subscriptionId);
const items = subscription.items.data.filter((item) => item.price.id === priceId);
if (items.length === 0) {
return;
}
await stripe.subscriptions.update(subscriptionId, {
items: items.map((item) => ({
id: item.id,
quantity,
})),
});
};