better-auth/packages/auth/lib/organization.ts

35 lines
831 B
TypeScript
Raw Permalink Normal View History

2025-10-29 13:43:43 +05:00
import { getOrganizationWithPurchasesAndMembersCount } from "@repo/database";
import { logger } from "@repo/logs";
import { setSubscriptionSeats } from "@repo/payments";
export async function updateSeatsInOrganizationSubscription(
organizationId: string,
) {
const organization =
await getOrganizationWithPurchasesAndMembersCount(organizationId);
if (!organization?.purchases.length) {
return;
}
const activeSubscription = organization.purchases.find(
(purchase) => purchase.type === "SUBSCRIPTION",
);
if (!activeSubscription?.subscriptionId) {
return;
}
try {
await setSubscriptionSeats({
id: activeSubscription.subscriptionId,
seats: organization.membersCount,
});
} catch (error) {
logger.error("Could not update seats in organization subscription", {
organizationId,
error,
});
}
}