diff --git a/apps/dispatch-server/socket-events/connect-desktop.ts b/apps/dispatch-server/socket-events/connect-desktop.ts index 5c10e93a..24d30d96 100644 --- a/apps/dispatch-server/socket-events/connect-desktop.ts +++ b/apps/dispatch-server/socket-events/connect-desktop.ts @@ -4,31 +4,33 @@ import { Socket, Server } from "socket.io"; export const handleConnectDesktop = (socket: Socket, io: Server) => () => { const user = socket.data.user as User; - const connectedAircraft = prisma.connectedAircraft.findFirst({ - where: { - userId: user.id, - logoutTime: null, - }, - include: { - Station: true, - }, - }); - - const conenctedDispatchers = prisma.connectedDispatcher.findFirst({ - where: { - userId: user.id, - logoutTime: null, - }, - }) - socket.join(`user:${user.id}`); socket.join(`desktop:${user.id}`); - socket.on("ptt", (data) => { + socket.on("ptt", async (data) => { socket.to(`user:${user.id}`).emit("ptt", data); + const connectedAircraft = await prisma.connectedAircraft.findFirst({ + where: { + userId: user.id, + logoutTime: null, + }, + include: { + Station: true, + }, + }); + + const connectedDispatcher = await prisma.connectedDispatcher.findFirst({ + where: { + userId: user.id, + logoutTime: null, + }, + }); socket.to("pilots").emit("other-ptt", { publicUser: user.publicId, - source: - }) + source: + connectedAircraft?.Station.bosCallsignShort || connectedDispatcher + ? "Leitstelle" + : user.publicId, + }); }); }; diff --git a/apps/dispatch/app/_store/audioStore.ts b/apps/dispatch/app/_store/audioStore.ts index 43166e16..0a683d59 100644 --- a/apps/dispatch/app/_store/audioStore.ts +++ b/apps/dispatch/app/_store/audioStore.ts @@ -132,5 +132,14 @@ const handlePTT = (data: PTTData) => { } }; +const handleOtherPTT = (data: PTTData) => { + console.log("Other PTT", data); + useAudioStore.setState({ + source: data.source, + }); +}; + pilotSocket.on("ptt", handlePTT); +pilotSocket.on("other-ptt", handleOtherPTT); dispatchSocket.on("ptt", handlePTT); +dispatchSocket.on("other-ptt", handleOtherPTT); diff --git a/grafana/grafana.db b/grafana/grafana.db index 3ff46f51..5fdd0e7a 100644 Binary files a/grafana/grafana.db and b/grafana/grafana.db differ