import { prisma } from "@repo/db"; import { Router } from "express"; import { io } from "../index"; const router = Router(); // Get all connectedAircrafts router.post("/", async (req, res) => { try { const filter = req.body?.filter || {}; const connectedAircrafts = await prisma.connectedAircraft.findMany({ where: filter, }); res.json(connectedAircrafts); } catch (error) { console.error(error); res.status(500).json({ error: "Failed to fetch connectedAircrafts" }); } }); // Get a single connectedAircraft by ID router.get("/:id", async (req, res) => { const { id } = req.params; try { const connectedAircraft = await prisma.connectedAircraft.findUnique({ where: { id: Number(id) }, }); if (connectedAircraft) { res.json(connectedAircraft); } else { res.status(404).json({ error: "ConnectedAircraft not found" }); } } catch (error) { console.error(error); res.status(500).json({ error: "Failed to fetch connectedAircraft" }); } }); // Update a connectedAircraft by ID router.patch("/:id", async (req, res) => { const { id } = req.params; try { const updatedConnectedAircraft = await prisma.connectedAircraft.update({ where: { id: Number(id) }, data: req.body, }); io.to("dispatchers").emit( "update-connectedAircraft", updatedConnectedAircraft, ); res.json(updatedConnectedAircraft); } catch (error) { console.error(error); res.status(500).json({ error: "Failed to update connectedAircraft" }); } }); // Delete a connectedAircraft by ID router.delete("/:id", async (req, res) => { const { id } = req.params; try { await prisma.connectedAircraft.delete({ where: { id: Number(id) }, }); io.to("dispatchers").emit("delete-connectedAircraft", id); res.status(204).send(); } catch (error) { console.error(error); res.status(500).json({ error: "Failed to delete connectedAircraft" }); } }); export default router;