connected slaves

master^2
Bhaskar 5 months ago
parent 41406d2090
commit 3498512d8d

@ -3969,13 +3969,13 @@ exports.getDisconnectedIssuesBySupportId = async (req, reply) => {
const allIssues = supportRecord.issues || [];
const hardwareSet = new Set();
// Collect hardwareId and masterHardwareId
for (const issue of allIssues) {
if (issue.hardwareId) hardwareSet.add(issue.hardwareId);
if (issue.masterHardwareId) hardwareSet.add(issue.masterHardwareId);
}
const hardwareIds = [...hardwareSet];
const sensors = await Insensors.find({
$or: [
{ hardwareId: { $in: hardwareIds } },
@ -4011,7 +4011,6 @@ exports.getDisconnectedIssuesBySupportId = async (req, reply) => {
const masterSensor = sensorMap[masterId];
if (!masterSensor || masterSensor.type !== "master") continue;
// If master not already added
if (!masterMap[masterSensor.hardwareId]) {
const enriched = orderMap[masterSensor.hardwareId] || {};
masterMap[masterSensor.hardwareId] = {
@ -4036,17 +4035,20 @@ exports.getDisconnectedIssuesBySupportId = async (req, reply) => {
}
const master = masterMap[masterSensor.hardwareId];
// ✅ Always fetch slaves using connected_to, even if currently connected
const connectedSlaves = await Insensors.find({
connected_to: masterSensor.hardwareId,
type: "slave"
}).lean();
const slaveSet = new Set(master.connected_slaves.map(s => s.hardwareId));
for (const slave of connectedSlaves) {
// ✅ Do not skip slaves based on current connection status
master.connected_slaves.push({
hardwareId: slave.tankhardwareId || slave.hardwareId,
const slaveHardwareId = slave.tankhardwareId || slave.hardwareId;
if (slaveSet.has(slaveHardwareId)) continue; // Skip duplicates
slaveSet.add(slaveHardwareId);
const slaveEnriched = {
hardwareId: slaveHardwareId,
tankName: slave.tankName || "",
location: slave.location || "",
connected_status: slave.connected_status,
@ -4061,8 +4063,9 @@ exports.getDisconnectedIssuesBySupportId = async (req, reply) => {
tankHeight: slave.tankHeight,
support_lora_last_check_time: slave.support_lora_last_check_time,
team_member_support_lora_last_check_time: slave.team_member_support_lora_last_check_time
});
};
master.connected_slaves.push(slaveEnriched);
master.connected_slave_count++;
}
}
@ -4080,6 +4083,8 @@ exports.getDisconnectedIssuesBySupportId = async (req, reply) => {
}
};
exports.getDisconnectedCustomerDetails = async (req, reply) => {
try {
const { supportId } = req.params;

Loading…
Cancel
Save