Made sure it only happens for corporate students
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user