From f43d5624050606a491820dba8e4ac6cbca4cd53f Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Mon, 2 Sep 2024 18:12:02 +0100 Subject: [PATCH 1/3] Solved a problem with the corporate when making user --- src/pages/api/make_user.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/api/make_user.ts b/src/pages/api/make_user.ts index ddc483a3..02efef10 100644 --- a/src/pages/api/make_user.ts +++ b/src/pages/api/make_user.ts @@ -126,7 +126,7 @@ async function post(req: NextApiRequest, res: NextApiResponse) { const corporateSnapshot = await getDocs(corporateQ); if (!corporateSnapshot.empty) { - const corporateUser = corporateSnapshot.docs[0].data() as CorporateUser; + const corporateUser = {...corporateSnapshot.docs[0].data(), id: corporateSnapshot.docs[0].id} as CorporateUser; await setDoc(doc(db, "codes", code), {creator: corporateUser.id}, {merge: true}); const q = query( From 640b6f0e4dd4064d093fca7e1445947c668e66e6 Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Mon, 2 Sep 2024 19:56:12 +0100 Subject: [PATCH 2/3] Updated the user card to allow master corporate to edit without setting a price --- src/components/UserCard.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/UserCard.tsx b/src/components/UserCard.tsx index fa145db3..977af621 100644 --- a/src/components/UserCard.tsx +++ b/src/components/UserCard.tsx @@ -143,7 +143,11 @@ const UserCard = ({ }, [users, referralAgent]); const updateUser = () => { - if ((user.type === "corporate" || user.type === "mastercorporate") && (!paymentValue || paymentValue < 0)) + if ( + (user.type === "corporate" || user.type === "mastercorporate") && + (!paymentValue || paymentValue < 0) && + ["admin", "developer"].includes(loggedInUser.type) + ) return toast.error("Please set a price for the user's package before updating!"); if (!confirm(`Are you sure you want to update ${user.name}'s account?`)) return; From 0f38e01283d6c7f62b0e230b40aa52011704bdcf Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Mon, 2 Sep 2024 21:31:26 +0100 Subject: [PATCH 3/3] let the users wait --- src/pages/api/user.ts | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/pages/api/user.ts b/src/pages/api/user.ts index 6240aa18..a6dc627a 100644 --- a/src/pages/api/user.ts +++ b/src/pages/api/user.ts @@ -45,8 +45,6 @@ async function del(req: NextApiRequest, res: NextApiResponse) { const targetUser = {...docTargetUser.data(), id: docTargetUser.id} as User; if (user.type === "corporate" && (targetUser.type === "student" || targetUser.type === "teacher")) { - res.json({ok: true}); - const userParticipantGroup = await getDocs(query(collection(db, "groups"), where("participants", "array-contains", id))); await Promise.all([ ...userParticipantGroup.docs @@ -66,14 +64,6 @@ async function del(req: NextApiRequest, res: NextApiResponse) { return; } - const permission = PERMISSIONS.deleteUser[targetUser.type]; - if (!permission.list.includes(user.type)) { - res.status(403).json({ok: false}); - return; - } - - res.json({ok: true}); - await auth.deleteUser(id); await deleteDoc(doc(db, "users", id)); const userCodeDocs = await getDocs(query(collection(db, "codes"), where("userId", "==", id))); @@ -96,6 +86,8 @@ async function del(req: NextApiRequest, res: NextApiResponse) { ), ), ]); + + res.json({ok: true}); } async function get(req: NextApiRequest, res: NextApiResponse) {