diff --git a/apps/dispatch-server/modules/chron.ts b/apps/dispatch-server/modules/chron.ts index 1dbbbb8a..3ad776fe 100644 --- a/apps/dispatch-server/modules/chron.ts +++ b/apps/dispatch-server/modules/chron.ts @@ -1,5 +1,5 @@ import { MissionLog, prisma } from "@repo/db"; -import chron from "cron"; +import cron from "node-cron"; const removeClosedMissions = async () => { const oldMissions = await prisma.mission.findMany({ @@ -40,12 +40,10 @@ const removeClosedMissions = async () => { }); }; -const removeClosedMissionsJob = new chron.CronJob( - "*/5 * * * *", // Every 5 minutes - removeClosedMissions, - null, - true, - "Europe/Berlin", -); - -removeClosedMissionsJob.start(); +cron.schedule("*/5 * * * *", async () => { + try { + await removeClosedMissions(); + } catch (error) { + console.error("Error removing closed missions:", error); + } +}); diff --git a/apps/dispatch-server/package.json b/apps/dispatch-server/package.json index 789d3210..1e30c78d 100644 --- a/apps/dispatch-server/package.json +++ b/apps/dispatch-server/package.json @@ -32,6 +32,7 @@ "express": "^5.1.0", "jsonwebtoken": "^9.0.2", "livekit-server-sdk": "^2.13.0", + "node-cron": "^4.1.0", "nodemailer": "^7.0.3", "nodemon": "^3.1.10", "react": "^19.1.0", diff --git a/apps/dispatch-server/socket-events/connect-pilot.ts b/apps/dispatch-server/socket-events/connect-pilot.ts index ba430460..44e98d77 100644 --- a/apps/dispatch-server/socket-events/connect-pilot.ts +++ b/apps/dispatch-server/socket-events/connect-pilot.ts @@ -68,7 +68,6 @@ export const handleConnectPilot = posH145active: true, }, }); - socket.join("dispatchers"); // Join the dispatchers room socket.join(`user:${userId}`); // Join the user-specific room socket.join(`station:${stationId}`); // Join the station-specific room diff --git a/apps/dispatch/app/_components/map/_components/AircraftMarkerTabs.tsx b/apps/dispatch/app/_components/map/_components/AircraftMarkerTabs.tsx index 9e305161..5ea062eb 100644 --- a/apps/dispatch/app/_components/map/_components/AircraftMarkerTabs.tsx +++ b/apps/dispatch/app/_components/map/_components/AircraftMarkerTabs.tsx @@ -9,6 +9,7 @@ import { MissionSdsLog, MissionStationLog, Prisma, + PublicUser, Station, } from "@repo/db"; import { toast } from "react-hot-toast"; @@ -46,20 +47,32 @@ const FMSStatusHistory = ({ aircraft: ConnectedAircraft & { Station: Station }; mission?: Mission; }) => { - console.log("FMSStatusHistory", mission?.missionLog); const log = ((mission?.missionLog as unknown as MissionLog[]) || []) .filter((entry) => entry.type === "station-log" && entry.data.stationId === aircraft.Station.id) .reverse() .splice(0, 6) as MissionStationLog[]; - const aircraftUser = + const aircraftUser: PublicUser = typeof aircraft.publicUser === "string" ? JSON.parse(aircraft.publicUser) : aircraft.publicUser; return (
+
+ {aircraft.esimatedLogoutTime + ? `Geplante Abmeldung: ${new Date(aircraft.esimatedLogoutTime).toLocaleTimeString( + [], + { + hour: "2-digit", + minute: "2-digit", + }, + )}` + : "Keine geplante Abmeldung"} +