bug fixed

This commit is contained in:
daniel31x13 2024-03-16 20:09:58 -04:00
parent 5990d4ce2d
commit ffc037b854
3 changed files with 23 additions and 24 deletions

View File

@ -32,11 +32,12 @@ export default async function checkSubscriptionByEmail(email: string) {
customer.subscriptions?.data.some((subscription) => { customer.subscriptions?.data.some((subscription) => {
subscription.current_period_end; subscription.current_period_end;
active = subscription.items.data.some( active =
(e) => subscription.items.data.some(
(e.price.id === MONTHLY_PRICE_ID && e.price.active === true) || (e) =>
(e.price.id === YEARLY_PRICE_ID && e.price.active === true) (e.price.id === MONTHLY_PRICE_ID && e.price.active === true) ||
); (e.price.id === YEARLY_PRICE_ID && e.price.active === true)
) || false;
stripeSubscriptionId = subscription.id; stripeSubscriptionId = subscription.id;
currentPeriodStart = subscription.current_period_start * 1000; currentPeriodStart = subscription.current_period_start * 1000;
currentPeriodEnd = subscription.current_period_end * 1000; currentPeriodEnd = subscription.current_period_end * 1000;
@ -44,7 +45,7 @@ export default async function checkSubscriptionByEmail(email: string) {
}); });
return { return {
active, active: active || false,
stripeSubscriptionId, stripeSubscriptionId,
currentPeriodStart, currentPeriodStart,
currentPeriodEnd, currentPeriodEnd,

View File

@ -17,15 +17,7 @@ export default async function verifySubscription(
const currentDate = new Date(); const currentDate = new Date();
if ( if (!subscription?.active || currentDate > subscription.currentPeriodEnd) {
subscription &&
currentDate > subscription.currentPeriodEnd &&
!subscription.active
) {
return null;
}
if (!subscription || currentDate > subscription.currentPeriodEnd) {
const { const {
active, active,
stripeSubscriptionId, stripeSubscriptionId,
@ -59,15 +51,21 @@ export default async function verifySubscription(
}, },
}) })
.catch((err) => console.log(err)); .catch((err) => console.log(err));
} } else if (!active) {
const subscription = await prisma.subscription.findFirst({
where: {
userId: user.id,
},
});
if (!active) { if (subscription)
if (user.username) await prisma.subscription.delete({
// await prisma.user.update({ where: {
// where: { id: user.id }, userId: user.id,
// data: { username: null }, },
// }); });
return null;
return null;
} }
} }

View File

@ -52,7 +52,7 @@ export default async function verifyUser({
} }
if (STRIPE_SECRET_KEY) { if (STRIPE_SECRET_KEY) {
const subscribedUser = verifySubscription(user); const subscribedUser = await verifySubscription(user);
if (!subscribedUser) { if (!subscribedUser) {
res.status(401).json({ res.status(401).json({