Updated the state to be active on payment

This commit is contained in:
Tiago Ribeiro
2024-05-27 13:08:11 +01:00
parent 4166781f7e
commit bdd862c633

View File

@@ -45,7 +45,7 @@ async function post(req: NextApiRequest, res: NextApiResponse) {
const updatedSubscriptionExpirationDate = moment(initialDate).add(duration, duration_unit).endOf("day").subtract(2, "hours").toISOString();
await setDoc(userSnapshot.ref, {subscriptionExpirationDate: updatedSubscriptionExpirationDate}, {merge: true});
await setDoc(userSnapshot.ref, {subscriptionExpirationDate: updatedSubscriptionExpirationDate, status: "active"}, {merge: true});
await setDoc(doc(db, "paypalpayments", v4()), {
createdAt: new Date().toISOString(),
currency: transactionResult.transaction.currency,
@@ -65,10 +65,16 @@ async function post(req: NextApiRequest, res: NextApiResponse) {
const participants = (await Promise.all(
groups.flatMap((x) => x.participants).map(async (x) => ({...(await getDoc(doc(db, "users", x))).data(), id: x})),
)) as User[];
const sameExpiryDateParticipants = participants.filter((x) => x.subscriptionExpirationDate === subscriptionExpirationDate);
const sameExpiryDateParticipants = participants.filter(
(x) => x.subscriptionExpirationDate === subscriptionExpirationDate && x.status !== "disabled",
);
for (const participant of sameExpiryDateParticipants) {
await setDoc(doc(db, "users", participant.id), {subscriptionExpirationDate: updatedSubscriptionExpirationDate}, {merge: true});
await setDoc(
doc(db, "users", participant.id),
{subscriptionExpirationDate: updatedSubscriptionExpirationDate, status: "active"},
{merge: true},
);
}
}