refactor: only search once for wifiMessage

This commit is contained in:
Philipp Schweizer 2025-02-14 21:06:47 +01:00
parent 52d521a6ad
commit 39c07fcef0

View File

@ -59,20 +59,20 @@ router.post(
? new Date(longitudeData.timestamp) ? new Date(longitudeData.timestamp)
: undefined, : undefined,
}; };
const wifiTimestamp = (() => {
const messages = message.uplink_message.decoded_payload?.messages?.[0]; const wifiMessage =
const wifiScan = messages?.find((e: { type: string }) => e.type === "Wi-Fi Scan"); message.uplink_message.decoded_payload?.messages[0].find(
return wifiScan?.timestamp ? new Date(wifiScan.timestamp) : undefined; (e) => e.type === "Wi-Fi Scan"
})(); );
const wifiScans = const wifiScans =
message.uplink_message.decoded_payload?.messages[0] wifiMessage?.measurementValue?.map((w) => ({
.find((e) => e.type === "Wi-Fi Scan")
?.measurementValue?.map((w) => ({
lp_ttn_end_device_uplinks_id, lp_ttn_end_device_uplinks_id,
mac: w.mac, mac: w.mac,
rssi: w.rssi, rssi: w.rssi,
scanned_at_utc: wifiTimestamp, scanned_at_utc: wifiMessage?.timestamp
? new Date(wifiMessage.timestamp)
: undefined,
})) ?? []; })) ?? [];
const ttnGatewayReceptions = message.uplink_message.rx_metadata.map( const ttnGatewayReceptions = message.uplink_message.rx_metadata.map(