Made Aircrafts fetch from Server. Added OSM Objects to mission

This commit is contained in:
PxlLoewe
2025-05-07 22:31:49 -07:00
parent 99531e9abf
commit 1948d34963
23 changed files with 477 additions and 318 deletions

View File

@@ -0,0 +1,73 @@
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;

View File

@@ -42,7 +42,7 @@ router.put("/", async (req, res) => {
const newMission = await prisma.mission.create({
data: req.body,
});
io.to("missions").emit("new-mission", newMission);
io.to("dispatchers").emit("new-mission", newMission);
res.status(201).json(newMission);
} catch (error) {
res.status(500).json({ error: "Failed to create mission" });
@@ -57,7 +57,7 @@ router.patch("/:id", async (req, res) => {
where: { id: Number(id) },
data: req.body,
});
io.to("missions").emit("update-mission", updatedMission);
io.to("dispatchers").emit("update-mission", updatedMission);
res.json(updatedMission);
} catch (error) {
console.error(error);
@@ -72,7 +72,7 @@ router.delete("/:id", async (req, res) => {
await prisma.mission.delete({
where: { id: Number(id) },
});
io.to("missions").emit("delete-mission", id);
io.to("dispatchers").emit("delete-mission", id);
res.status(204).send();
} catch (error) {
console.error(error);

View File

@@ -3,6 +3,7 @@ import livekitRouter from "./livekit";
import dispatcherRotuer from "./dispatcher";
import missionRouter from "./mission";
import statusRouter from "./status";
import aircraftsRouter from "./aircraft";
const router = Router();
@@ -10,5 +11,6 @@ router.use("/livekit", livekitRouter);
router.use("/dispatcher", dispatcherRotuer);
router.use("/mission", missionRouter);
router.use("/status", statusRouter);
router.use("/aircrafts", aircraftsRouter);
export default router;

View File

@@ -79,7 +79,6 @@ export const handleConnectDispatch =
socket.join("dispatchers"); // Dem Dispatcher-Raum beitreten
socket.join(`user:${user.id}`); // Dem User-Raum beitreten
socket.join("missions");
io.to("dispatchers").emit("dispatchers-update");
io.to("pilots").emit("dispatchers-update");