From 3cf7c9479e9f197912e70335fc736a17b570f36d Mon Sep 17 00:00:00 2001 From: Anton Roslund Date: Mon, 29 Sep 2025 20:46:23 +0200 Subject: [PATCH] add ok_to_mqtt to text-messages --- .../migration.sql | 2 ++ prisma/schema.prisma | 1 + src/mqtt.js | 15 ++++++++------- 3 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 prisma/migrations/20250929184048_add_ok_to_mqtt_to_text_messages/migration.sql diff --git a/prisma/migrations/20250929184048_add_ok_to_mqtt_to_text_messages/migration.sql b/prisma/migrations/20250929184048_add_ok_to_mqtt_to_text_messages/migration.sql new file mode 100644 index 0000000..5a14c0c --- /dev/null +++ b/prisma/migrations/20250929184048_add_ok_to_mqtt_to_text_messages/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE `text_messages` ADD COLUMN `ok_to_mqtt` BOOLEAN NULL; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 723e4e4..ef96a9c 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -239,6 +239,7 @@ model TextMessage { rx_snr Decimal? rx_rssi Int? hop_limit Int? + ok_to_mqtt Boolean? created_at DateTime @default(now()) updated_at DateTime @default(now()) @updatedAt diff --git a/src/mqtt.js b/src/mqtt.js index ac85ce9..4852907 100644 --- a/src/mqtt.js +++ b/src/mqtt.js @@ -741,6 +741,13 @@ client.on("message", async (topic, message) => { } } + + // check if bitfield is available, then set ok-to-mqtt + // else leave undefined to let Prisma ignore it. + let isOkToMqtt + if(bitfield != null){ + isOkToMqtt = Boolean(bitfield & BITFIELD_OK_TO_MQTT_MASK); + } // create service envelope in db if(collectServiceEnvelopes){ @@ -818,6 +825,7 @@ client.on("message", async (topic, message) => { rx_snr: envelope.packet.rxSnr, rx_rssi: envelope.packet.rxRssi, hop_limit: envelope.packet.hopLimit, + ok_to_mqtt: isOkToMqtt, }, }); } catch (e) { @@ -926,13 +934,6 @@ client.on("message", async (topic, message) => { }); } - // check if bitfield is available, then set ok-to-mqtt - // else leave undefined to let Prisma ignore it. - let isOkToMqtt - if(bitfield != null){ - isOkToMqtt = Boolean(bitfield & BITFIELD_OK_TO_MQTT_MASK); - } - // create or update node in db try { await prisma.node.upsert({