feat: Implement connected user API and integrate chat and report components

- Added API routes for fetching connected users, keywords, missions, and stations.
- Created a new QueryProvider component for managing query states and socket events.
- Introduced connection stores for dispatch and pilot, managing socket connections and states.
- Updated Prisma schema for connected aircraft model.
- Enhanced UI with toast notifications for status updates and chat interactions.
- Implemented query functions for fetching connected users and keywords with error handling.
This commit is contained in:
PxlLoewe
2025-05-07 00:43:45 -07:00
parent 152b3d4689
commit 50f42e99d3
49 changed files with 1040 additions and 701 deletions

View File

@@ -1,5 +1,4 @@
import { getPublicUser, prisma, User } from "@repo/db";
import { pubClient } from "modules/redis";
import { Server, Socket } from "socket.io";
export const handleConnectDispatch =
@@ -80,9 +79,10 @@ 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("dispatcher-update");
io.to("pilots").emit("dispatcher-update");
io.to("dispatchers").emit("dispatchers-update");
io.to("pilots").emit("dispatchers-update");
socket.on("disconnect", async () => {
console.log("Disconnected from dispatch server");
@@ -94,6 +94,8 @@ export const handleConnectDispatch =
logoutTime: new Date().toISOString(),
},
});
io.to("dispatchers").emit("dispatchers-update");
io.to("pilots").emit("dispatchers-update");
});
socket.on("reconnect", async () => {
console.log("Reconnected to dispatch server");