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({