import fetch from "node-fetch" import connectToDatabase from "./lib/dbConnect" export default async (req, res) => { const { method } = req const db = await connectToDatabase() switch (method) { case "POST": if (!req.body || !req.body.url || !req.body.cluster) { res.status(400).json({ success: false, message: "Invalid body" }) return } try { await fetch(req.body.url) } catch { res.status(400).json({ success: false, message: "Invalid URL" }) return } try { await db.coll.insertOne({ _id: req.body.url, cluster: req.body.cluster }) } catch { res.status(400).json({ success: false, message: "Error Inserting to DB" }) return } res.status(200).json({ url: req.body.url }) break case "DELETE": if (!req.query.url) { res.status(400).json({ success: false, message: "Invalid body" }) return } try { const { deletedCount } = await db.coll.deleteOne({ _id: req.query.url }) if (deletedCount == 0) { res.status(400).json({ success: false, message: "Not Found" }) return } } catch { res.status(400).json({ success: false, message: "Error Deleting from DB" }) return } res.status(200).json({ url: req.query.url }) break default: res.status(404).json({ success: false }) break } }