From cfde8ac9f09c08e5750b8ab29da2f4eb0be4d0be Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Sun, 21 Jan 2024 20:35:35 +0000 Subject: [PATCH] Updated it so the Corporate is updated into Active when its payment is accepted --- src/pages/api/payments/[id].ts | 4 ++++ src/pages/api/payments/files/[type]/[paymentId].ts | 2 ++ src/pages/payment-record.tsx | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/api/payments/[id].ts b/src/pages/api/payments/[id].ts index e645fe91..9d5d1c9b 100644 --- a/src/pages/api/payments/[id].ts +++ b/src/pages/api/payments/[id].ts @@ -74,6 +74,10 @@ async function patch(req: NextApiRequest, res: NextApiResponse) { if (user.type === "admin" || user.type === "developer") { await setDoc(snapshot.ref, req.body, {merge: true}); + if (req.body.isPaid) { + const corporateID = req.body.corporate; + await setDoc(doc(db, "users", corporateID), {status: "active"}, {merge: true}); + } return res.status(200).json({ok: true}); } diff --git a/src/pages/api/payments/files/[type]/[paymentId].ts b/src/pages/api/payments/files/[type]/[paymentId].ts index 5da7720b..88f3d5d6 100644 --- a/src/pages/api/payments/files/[type]/[paymentId].ts +++ b/src/pages/api/payments/files/[type]/[paymentId].ts @@ -119,6 +119,8 @@ async function post(req: NextApiRequest, res: NextApiResponse) { const updatedDoc = (await getDoc(doc(db, "payments", paymentId))).data() as Payment; if (updatedDoc.commissionTransfer && updatedDoc.corporateTransfer) { await setDoc(doc(db, "payments", paymentId), {isPaid: true}, {merge: true}); + + await setDoc(doc(db, "users", updatedDoc.corporate), {status: "active"}, {merge: true}); } res.status(200).json({ref}); } catch (error) { diff --git a/src/pages/payment-record.tsx b/src/pages/payment-record.tsx index 8ccc28c3..f352d781 100644 --- a/src/pages/payment-record.tsx +++ b/src/pages/payment-record.tsx @@ -111,7 +111,7 @@ const PaymentCreator = ({onClose, reload, showComission = false}: {onClose: () = options={(users.filter((u) => u.type === "corporate") as CorporateUser[]).map((user) => ({ value: user.id, meta: user, - label: `${user.corporateInformation.companyInformation.name || user.name} - ${user.email}`, + label: `${user.corporateInformation?.companyInformation?.name || user.name} - ${user.email}`, }))} defaultValue={{value: "undefined", label: "Select an account"}} onChange={(value) => setCorporate((value as any)?.meta ?? undefined)}