implemented connectedDispatch record for dispatcher

This commit is contained in:
PxlLoewe
2025-05-01 21:48:25 -07:00
parent 504ef3cdb8
commit 26e71bcaa8
16 changed files with 287 additions and 115 deletions

View File

@@ -1,19 +1,15 @@
import { prisma } from "@repo/db";
import { Router } from "express";
import { pubClient } from "modules/redis";
const router = Router();
router.get("/", async (req, res) => {
const keys = await pubClient.keys("Dispatcher:*");
const user = await Promise.all(
keys.map(async (key) => {
const data = await pubClient.json.get(key);
return {
...(typeof data === "object" && data !== null ? data : {}),
userId: key.split(":")[1],
};
}),
);
const user = await prisma.connectedDispatcher.findMany({
where: {
logoutTime: null,
},
});
res.json(user);
});

View File

@@ -2,11 +2,13 @@ import { Router } from "express";
import livekitRouter from "./livekit";
import dispatcherRotuer from "./dispatcher";
import missionRouter from "./mission";
import statusRouter from "./status";
const router = Router();
router.use("/livekit", livekitRouter);
router.use("/dispatcher", dispatcherRotuer);
router.use("/mission", missionRouter);
router.use("/status", statusRouter);
export default router;

View File

@@ -0,0 +1,22 @@
import { prisma } from "@repo/db";
import { Router } from "express";
const router = Router();
router.get("/connected-users", async (req, res) => {
const connectedDispatcher = await prisma.connectedDispatcher.findMany({
where: {
logoutTime: null,
},
});
const connectedAircraft = await prisma.connectedAircraft.findMany({
where: {
logoutTime: null,
},
});
res.json([...connectedDispatcher, ...connectedAircraft]);
});
export default router;