added more restrictions to mission cleanup

This commit is contained in:
PxlLoewe
2025-06-02 15:43:12 -07:00
parent 41931fd276
commit 00b04089bf

View File

@@ -13,30 +13,43 @@ const removeClosedMissions = async () => {
}); });
const lastAlertTime = lastAlert ? new Date(lastAlert.timeStamp) : null; const lastAlertTime = lastAlert ? new Date(lastAlert.timeStamp) : null;
const aircraftsInMission = await prisma.connectedAircraft.findMany({
where: {
stationId: {
in: mission.missionStationIds,
},
},
});
if (
!aircraftsInMission ||
!aircraftsInMission.some((a) => ["1", "2", "6"].includes(a.fmsStatus))
)
return;
const now = new Date(); const now = new Date();
if (!lastAlertTime) return; if (!lastAlertTime) return;
// change State to closed if last alert was more than 180 minutes ago // change State to closed if last alert was more than 180 minutes ago
if (lastAlertTime && now.getTime() - lastAlertTime.getTime() > 180 * 60 * 1000) { if (now.getTime() - lastAlertTime.getTime() < 30 * 60 * 1000) return;
const log: MissionLog = { const log: MissionLog = {
type: "completed-log", type: "completed-log",
auto: true, auto: true,
timeStamp: new Date().toISOString(), timeStamp: new Date().toISOString(),
data: {}, data: {},
}; };
await prisma.mission.update({ await prisma.mission.update({
where: { where: {
id: mission.id, id: mission.id,
},
data: {
state: "finished",
missionLog: {
push: log as any,
}, },
data: { },
state: "finished", });
missionLog: { console.log(`Mission ${mission.id} closed due to inactivity.`);
push: log as any,
},
},
});
console.log(`Mission ${mission.id} closed due to inactivity.`);
}
}); });
}; };