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); const credential = await signInWithEmailAndPassword(auth, req.session.user.email, updatedUser.password);
await updateEmail(credential.user, updatedUser.email); 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) => if (req.session.user.type === "student") {
x.participants.includes(req.session.user!.id), 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);
groups.forEach(async (group) => { const groups = ((await getDocs(collection(db, "groups"))).docs.map((x) => ({...x.data(), id: x.id})) as Group[]).filter(
await setDoc( (x) => x.participants.includes(req.session.user!.id) && corporateAdmins.includes(x.admin),
doc(db, "groups", group.id),
{participants: group.participants.filter((x) => x !== req.session.user!.id)},
{merge: true},
); );
});
groups.forEach(async (group) => {
await setDoc(
doc(db, "groups", group.id),
{participants: group.participants.filter((x) => x !== req.session.user!.id)},
{merge: true},
);
});
}
} catch { } catch {
res.status(400).json({error: "E002", message: errorMessages.E002}); res.status(400).json({error: "E002", message: errorMessages.E002});
return; return;