feat(gps): last_seen по времени приёма, фильтр джиттера (настройки), линейка, трек по скорости; fix: карта не перекрывает диалоги (isolation)
This commit is contained in:
@@ -167,6 +167,24 @@ export function registerGpsRoutes(app: Express) {
|
||||
res.json({ success: true, yandexMapsKey });
|
||||
});
|
||||
|
||||
// =====================
|
||||
// Настройки GPS организации (фильтр джиттера)
|
||||
// =====================
|
||||
|
||||
router.get("/settings", async (req: AuthenticatedRequest, res: Response) => {
|
||||
const settings = await gpsStorage.getSettings(req.user!.organizationId);
|
||||
res.json({ success: true, jitterMeters: settings.jitterMeters });
|
||||
});
|
||||
|
||||
router.put("/settings", async (req: AuthenticatedRequest, res: Response) => {
|
||||
const jitterMeters = Number(req.body?.jitterMeters);
|
||||
if (!Number.isInteger(jitterMeters) || jitterMeters < 0 || jitterMeters > 1000) {
|
||||
return badRequest(res, "jitterMeters: целое число от 0 до 1000");
|
||||
}
|
||||
const row = await gpsStorage.upsertSettings(req.user!.organizationId, jitterMeters);
|
||||
res.json({ success: true, jitterMeters: row.jitterMeters });
|
||||
});
|
||||
|
||||
// =====================
|
||||
// Объекты (assets)
|
||||
// =====================
|
||||
@@ -267,7 +285,9 @@ export function registerGpsRoutes(app: Express) {
|
||||
lng: a.lastLng,
|
||||
speed: a.lastSpeed,
|
||||
course: a.lastCourse,
|
||||
recordedAt: a.lastSeenAt,
|
||||
recordedAt: a.lastSeenAt, // время приёма последней точки сервером
|
||||
lastSeenAt: a.lastSeenAt,
|
||||
lastRecordedAt: a.lastRecordedAt, // время последней точки по устройству
|
||||
})),
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user