From 93f0c71a6c58513a1374c0be1df547f17ab554ce1df2d055539d8f0c861cab8a Mon Sep 17 00:00:00 2001 From: localhorst Date: Sat, 8 Feb 2025 20:54:06 +0100 Subject: [PATCH] set wifi timestamp --- server/src/controller/ttnController.ts | 16 +++++++++++----- server/src/services/wifiScanService.ts | 2 ++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/server/src/controller/ttnController.ts b/server/src/controller/ttnController.ts index b0570d4..df9e01e 100644 --- a/server/src/controller/ttnController.ts +++ b/server/src/controller/ttnController.ts @@ -56,9 +56,14 @@ router.post( timestamp: latitudeData?.timestamp ? new Date(latitudeData.timestamp) : longitudeData?.timestamp - ? new Date(longitudeData.timestamp) - : undefined, + ? new Date(longitudeData.timestamp) + : undefined, }; + const wifiTimestamp = (() => { + const messages = message.uplink_message.decoded_payload?.messages?.[0]; + const wifiScan = messages?.find((e: { type: string }) => e.type === "Wi-Fi Scan"); + return wifiScan?.timestamp ? new Date(wifiScan.timestamp) : undefined; + })(); const wifiScans = message.uplink_message.decoded_payload?.messages[0] @@ -67,6 +72,7 @@ router.post( lp_ttn_end_device_uplinks_id, mac: w.mac, rssi: w.rssi, + scanned_at_timestamp: wifiTimestamp, })) ?? []; const ttnGatewayReceptions = message.uplink_message.rx_metadata.map( @@ -103,9 +109,9 @@ router.post( gnss: gnnsLocation.latitude && gnnsLocation.longitude ? { - latitude: gnnsLocation.latitude, - longitude: gnnsLocation.longitude, - } + latitude: gnnsLocation.latitude, + longitude: gnnsLocation.longitude, + } : undefined, gnss_timestamp: gnssTimestamp.timestamp, }); diff --git a/server/src/services/wifiScanService.ts b/server/src/services/wifiScanService.ts index d707606..ede6cb1 100644 --- a/server/src/services/wifiScanService.ts +++ b/server/src/services/wifiScanService.ts @@ -5,12 +5,14 @@ interface CreateWifiScanParams { lp_ttn_end_device_uplinks_id: string; mac: string; rssi: number; + scanned_at_timestamp?: Date; } interface UpdateWifiScanParams { wifi_scan_id: string; mac?: string; rssi?: number; + scanned_at_timestamp?: Date; } @injectable()