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) { return res.status(400).json({ success: false, message: 'Invalid body' }) } try { await fetch(req.body.url) } catch { return res.status(400).json({ success: false, message: 'Invalid URL' }) } try { await db.coll.insertOne({ _id: req.body.url, cluster: req.body.cluster }) } catch { return res.status(400).json({ success: false, message: 'Error Inserting to DB' }) } res.status(200).json({ url: req.body.url }) break case 'DELETE': if (!req.query.url) { return res.status(400).json({ success: false, message: 'Invalid body' }) } try { const { deletedCount } = await db.coll.deleteOne({ _id: req.query.url }) if (deletedCount == 0) { return res.status(400).json({ success: false, message: 'Not Found' }) } } catch { return res.status(400).json({ success: false, message: 'Error Deleting from DB' }) } res.status(200).json({ url: req.query.url }) break default: res.status(404).json({ success: false }) break } }