From 56dd500027e83818b8090f09e6d62641dcaf992c Mon Sep 17 00:00:00 2001 From: Douglas Barone Date: Tue, 19 Apr 2022 11:55:44 -0400 Subject: [PATCH] Detect offline APs --- server/src/lib/accessPoints.js | 18 +++++++++++++++++- server/src/lib/unifiController.js | 2 +- web/src/views/AccessPoints/index.vue | 7 ++++--- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/server/src/lib/accessPoints.js b/server/src/lib/accessPoints.js index d187335..9ce31fb 100644 --- a/server/src/lib/accessPoints.js +++ b/server/src/lib/accessPoints.js @@ -39,7 +39,23 @@ export async function updateAccessPoints() { const accessPoints = await getAccessPoints() - const dbAccessPoints = await updateDB(accessPoints) + const updatedAccessPoints = await updateDB(accessPoints) + + const dbAccessPoints = await prisma.accessPoint.findMany() + + const offLineAps = dbAccessPoints.filter(dbAccessPoint => !updatedAccessPoints.find(updatedAccessPoint => updatedAccessPoint.mac === dbAccessPoint.mac)) + + await prisma.accessPoint.updateMany({ + where: { + mac: { + in: offLineAps.map(offLineAccessPoint => offLineAccessPoint.mac) + } + }, + data: { + uptime: "-1" + } + }) + pubsub.publish(ACCESS_POINTS_UPDATED, { accessPointsUpdated: dbAccessPoints }) } diff --git a/server/src/lib/unifiController.js b/server/src/lib/unifiController.js index c75d2bd..927ebb9 100644 --- a/server/src/lib/unifiController.js +++ b/server/src/lib/unifiController.js @@ -206,7 +206,7 @@ export async function getAccessPoints() { ({ mac, model, ip, uptime, name, num_sta }) => ({ mac, hostname: name, - uptime: uptime?.toString(), + uptime: uptime ? uptime.toString() : "-1", controller: 'UniFi', model, ip, diff --git a/web/src/views/AccessPoints/index.vue b/web/src/views/AccessPoints/index.vue index 2ac3863..09b26aa 100644 --- a/web/src/views/AccessPoints/index.vue +++ b/web/src/views/AccessPoints/index.vue @@ -137,6 +137,7 @@