/api/groups and /api/invites refactored, fixed some inserts/updates in which I didn't include the id

This commit is contained in:
Carlos Mesquita
2024-09-07 17:54:10 +01:00
parent 56f374bbfe
commit 7fa4edf37d
12 changed files with 128 additions and 135 deletions

View File

@@ -1,16 +1,14 @@
// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
import type {NextApiRequest, NextApiResponse} from "next";
import {app} from "@/firebase";
import {getFirestore, collection, getDocs, setDoc, doc, query, where} from "firebase/firestore";
import client from "@/lib/mongodb";
import {withIronSessionApiRoute} from "iron-session/next";
import {sessionOptions} from "@/lib/session";
import {Group} from "@/interfaces/user";
import {v4} from "uuid";
import {updateExpiryDateOnGroup, getGroupsForUser} from "@/utils/groups.be";
import {uniq, uniqBy} from "lodash";
import {getUser} from "@/utils/users.be";
const db = getFirestore(app);
const db = client.db(process.env.MONGODB_DB);
export default withIronSessionApiRoute(handler, sessionOptions);
@@ -41,10 +39,11 @@ async function post(req: NextApiRequest, res: NextApiResponse) {
await Promise.all(body.participants.map(async (p) => await updateExpiryDateOnGroup(p, body.admin)));
await setDoc(doc(db, "groups", v4()), {
name: body.name,
admin: body.admin,
participants: body.participants,
});
await db.collection("groups").insertOne({
id: v4(),
name: body.name,
admin: body.admin,
participants: body.participants,
})
res.status(200).json({ok: true});
}