Added a list for codes, for users to delete unused ones

This commit is contained in:
Tiago Ribeiro
2024-04-04 23:05:12 +01:00
parent 11e2ea3249
commit fe2abaacae
4 changed files with 137 additions and 1 deletions

View File

@@ -10,6 +10,7 @@ const db = getFirestore(app);
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
if (req.method === "GET") return GET(req, res);
if (req.method === "DELETE") return DELETE(req, res);
res.status(404).json({ok: false});
}
@@ -21,3 +22,13 @@ async function GET(req: NextApiRequest, res: NextApiResponse) {
res.status(200).json({...snapshot.data(), id: snapshot.id});
}
async function DELETE(req: NextApiRequest, res: NextApiResponse) {
const {id} = req.query;
const snapshot = await getDoc(doc(db, "codes", id as string));
if (!snapshot.exists()) return res.status(404).json;
await deleteDoc(snapshot.ref);
res.status(200).json({...snapshot.data(), id: snapshot.id});
}

View File

@@ -27,7 +27,7 @@ async function get(req: NextApiRequest, res: NextApiResponse) {
}
const {creator} = req.query as {creator?: string};
const q = query(collection(db, "codes"), where("creator", "==", creator));
const q = query(collection(db, "codes"), where("creator", "==", creator || ""));
const snapshot = await getDocs(creator ? q : collection(db, "codes"));
res.status(200).json(snapshot.docs.map((doc) => doc.data()));