ashok 6 months ago
commit 3894a34cad

@ -991,6 +991,7 @@ exports.mastrerList = async (req, reply) => {
const moment = require('moment'); // For time calculations
exports.getMasterSlaveSummary = async (req, reply) => {
try {
const { customerId } = req.params;
@ -1023,6 +1024,20 @@ exports.getMasterSlaveSummary = async (req, reply) => {
const diff = now.diff(lastSeen, 'minutes');
if (diff <= 10) {
status = "connected";
const dateObj = new Date(latestData.date);
const date = dateObj.toISOString().split("T")[0];
const time = dateObj.toTimeString().split(" ")[0];
if (device.type === 'master') {
device.connected_gsm_date = date;
device.connected_gsm_time = time;
}
if (device.type === 'slave') {
device.connected_lora_date = date;
device.connected_lora_time = time;
}
}
}
@ -1031,22 +1046,35 @@ exports.getMasterSlaveSummary = async (req, reply) => {
{ $set: { connected_status: status } }
);
device.connected_status = status; // Also update in-memory object
console.log(" device.connected_status", device.connected_status)
device.connected_status = status;
});
await Promise.all(updateStatusPromises);
// Map masters to their connected slaves based on `connected_to` match
// Map masters to their connected slaves
const enrichedMasters = masters.map(master => {
const masterConnectionId = master.connected_to;
const connectedSlaves = slaves.filter(slave =>
slave.connected_to === masterConnectionId
);
// Remove lora fields for master
const masterObj = {
...master.toObject(),
connected_lora_date: undefined,
connected_lora_time: undefined
};
const connectedSlaves = slaves
.filter(slave => slave.connected_to === masterConnectionId)
.map(slave => {
const slaveObj = {
...slave.toObject(),
connected_gsm_date: undefined,
connected_gsm_time: undefined
};
return slaveObj;
});
return {
...master.toObject(),
...masterObj,
connected_slave_count: connectedSlaves.length,
connected_slaves: connectedSlaves
};
@ -1070,6 +1098,7 @@ exports.getMasterSlaveSummary = async (req, reply) => {
};
// exports.getIotDataByCustomer = async (req, reply) => {
// try {
// const { customerId } = req.params;

Loading…
Cancel
Save