bug fix
This commit is contained in:
@@ -184,27 +184,20 @@ export default async function deleteUserById(
|
||||
|
||||
try {
|
||||
if (user.subscriptions?.id) {
|
||||
const listByEmail = await stripe.customers.list({
|
||||
email: user.email?.toLowerCase(),
|
||||
expand: ["data.subscriptions"],
|
||||
});
|
||||
const deleted = await stripe.subscriptions.cancel(
|
||||
user.subscriptions.stripeSubscriptionId,
|
||||
{
|
||||
cancellation_details: {
|
||||
comment: body.cancellation_details?.comment,
|
||||
feedback: body.cancellation_details?.feedback,
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
if (listByEmail.data[0].subscriptions?.data[0].id) {
|
||||
const deleted = await stripe.subscriptions.cancel(
|
||||
listByEmail.data[0].subscriptions?.data[0].id,
|
||||
{
|
||||
cancellation_details: {
|
||||
comment: body.cancellation_details?.comment,
|
||||
feedback: body.cancellation_details?.feedback,
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
return {
|
||||
response: deleted,
|
||||
status: 200,
|
||||
};
|
||||
}
|
||||
return {
|
||||
response: deleted,
|
||||
status: 200,
|
||||
};
|
||||
} else if (user.parentSubscription?.id && user && user.emailVerified) {
|
||||
await updateSeats(
|
||||
user.parentSubscription.stripeSubscriptionId,
|
||||
|
||||
@@ -7,6 +7,11 @@ type Data = {
|
||||
quantity: number;
|
||||
periodStart: number;
|
||||
periodEnd: number;
|
||||
action:
|
||||
| "customer.subscription.created"
|
||||
| "customer.subscription.updated"
|
||||
| "customer.subscription.deleted"
|
||||
| "customer.subscription.cancelled";
|
||||
};
|
||||
|
||||
export default async function handleSubscription({
|
||||
@@ -15,6 +20,7 @@ export default async function handleSubscription({
|
||||
quantity,
|
||||
periodStart,
|
||||
periodEnd,
|
||||
action,
|
||||
}: Data) {
|
||||
const subscription = await prisma.subscription.findUnique({
|
||||
where: {
|
||||
@@ -57,7 +63,13 @@ export default async function handleSubscription({
|
||||
},
|
||||
});
|
||||
|
||||
if (!user) throw new Error("User not found");
|
||||
if (!user) {
|
||||
if (action === "customer.subscription.deleted") {
|
||||
return "User not found or deleted";
|
||||
} else {
|
||||
throw new Error("User not found");
|
||||
}
|
||||
}
|
||||
|
||||
const userId = user.id;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user