Made sure it only happens for corporate students

This commit is contained in:
Tiago Ribeiro
2024-01-02 11:48:15 +00:00
parent d2276eba1d
commit c9cac3539c

View File

@@ -110,17 +110,22 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const credential = await signInWithEmailAndPassword(auth, req.session.user.email, updatedUser.password);
await updateEmail(credential.user, updatedUser.email);
const groups = ((await getDocs(collection(db, "groups"))).docs.map((x) => ({...x.data(), id: x.id})) as Group[]).filter((x) =>
x.participants.includes(req.session.user!.id),
);
groups.forEach(async (group) => {
await setDoc(
doc(db, "groups", group.id),
{participants: group.participants.filter((x) => x !== req.session.user!.id)},
{merge: true},
if (req.session.user.type === "student") {
const corporateAdmins = ((await getDocs(collection(db, "users"))).docs.map((x) => ({...x.data(), id: x.id})) as User[])
.filter((x) => x.type === "corporate")
.map((x) => x.id);
const groups = ((await getDocs(collection(db, "groups"))).docs.map((x) => ({...x.data(), id: x.id})) as Group[]).filter(
(x) => x.participants.includes(req.session.user!.id) && corporateAdmins.includes(x.admin),
);
});
groups.forEach(async (group) => {
await setDoc(
doc(db, "groups", group.id),
{participants: group.participants.filter((x) => x !== req.session.user!.id)},
{merge: true},
);
});
}
} catch {
res.status(400).json({error: "E002", message: errorMessages.E002});
return;