support lora check

master^2
Bhaskar 5 months ago
parent 4be5b4ac16
commit 4ec133b3ff

@ -843,8 +843,6 @@ exports.getByHardwareAndTankId = async (req, reply) => {
exports.getByHardwareAndTankIdSupport = async (req, reply) => {
try {
const { hardwareId, tankhardwareId } = req.params;
@ -855,9 +853,7 @@ exports.getByHardwareAndTankIdSupport = async (req, reply) => {
console.log("Fetching tank data for:", { hardwareId, tankhardwareId });
const latestData = await IotData.findOne({ hardwareId })
.sort({ date: -1 })
.lean();
const latestData = await IotData.findOne({ hardwareId }).sort({ date: -1 }).lean();
if (!latestData || !Array.isArray(latestData.tanks)) {
return reply.code(404).send({ message: "No data found for given hardwareId and tankhardwareId" });
@ -882,16 +878,17 @@ exports.getByHardwareAndTankIdSupport = async (req, reply) => {
const month = String(matchedTankDateObj.getMonth() + 1).padStart(2, '0');
const year = matchedTankDateObj.getFullYear();
const formattedDate = `${day}-${month}-${year}`;
matchedTank.date = formattedDate;
const support_lora_last_check_time = moment.tz("Asia/Kolkata").format("DD-MM-YYYY HH:mm:ss");
const updateFields = {
connected_status: isLoraConnected ? "connected" : "disconnected"
connected_status: isLoraConnected ? "connected" : "disconnected",
support_lora_last_check_time
};
let connected_lora_date = null;
let connected_lora_time = null;
let support_lora_last_check_time = moment.tz("Asia/Kolkata").format("DD-MM-YYYY HH:mm:ss");
if (isLoraConnected) {
connected_lora_date = formattedDate;
@ -900,25 +897,24 @@ exports.getByHardwareAndTankIdSupport = async (req, reply) => {
updateFields.connected_lora_time = connected_lora_time;
}
updateFields.support_lora_last_check_time = support_lora_last_check_time;
// 🔍 Add debugging to check if the document exists
const sensorToUpdate = await Insensors.findOne({
connected_to: hardwareId,
hardwareId: tankhardwareId
});
// Support both slave and master structure
const updatedSensor = await Insensors.findOneAndUpdate(
{
$or: [
{ connected_to: hardwareId, tankhardwareId: tankhardwareId }, // slave
{ hardwareId: tankhardwareId } // master
]
},
{ $set: updateFields },
{ new: true }
);
if (!sensorToUpdate) {
if (!updatedSensor) {
console.warn("No matching Insensors document found for update");
} else {
await Insensors.findOneAndUpdate(
{ connected_to: hardwareId, hardwareId: tankhardwareId },
{ $set: { ...updateFields, support_lora_last_check_time } },
{ new: true }
);
console.log("Updated support_lora_last_check_time for:", updatedSensor.hardwareId);
}
const displayMessage = isLoraConnected ? "LoRa connected" : "LoRa not connected";
return reply.send({
@ -939,7 +935,6 @@ exports.getByHardwareAndTankIdSupport = async (req, reply) => {
exports.getAllocatedSensorsByTank = async (req, reply) => {
try {
let { customerId, tankName } = req.params;

Loading…
Cancel
Save