diff --git a/server/src/lib/wifiDevices.js b/server/src/lib/wifiDevices.js
index 6ceb3c0..a85c61f 100644
--- a/server/src/lib/wifiDevices.js
+++ b/server/src/lib/wifiDevices.js
@@ -38,14 +38,14 @@ async function getOnlineDevices() {
}
async function updateDevicesStatus(onlineDevices) {
- const lastSeenThreshold = subMinutes(new Date(), RECENT_THRESHOLD_IN_MINUTES)
+ const now = new Date()
+ const lastSeenThreshold = subMinutes(now, RECENT_THRESHOLD_IN_MINUTES)
const onlineDevicesMacs = onlineDevices.map(device => device.mac)
const recent = prisma.wifiDevice.updateMany({
where: {
lastSeen: { gt: lastSeenThreshold },
- status: 'ONLINE',
mac: { notIn: onlineDevicesMacs }
},
data: { status: 'RECENT' }
@@ -54,7 +54,6 @@ async function updateDevicesStatus(onlineDevices) {
const offline = prisma.wifiDevice.updateMany({
where: {
lastSeen: { lte: lastSeenThreshold },
- status: { not: 'OFFLINE' },
mac: { notIn: onlineDevicesMacs }
},
data: { status: 'OFFLINE' }
diff --git a/server/src/resolvers/User.js b/server/src/resolvers/User.js
index 73665e8..ac0e1d7 100755
--- a/server/src/resolvers/User.js
+++ b/server/src/resolvers/User.js
@@ -47,19 +47,21 @@ const User = {
isWatcher: parent => parent.roles.includes('watcher'),
- wifiDevices: (parent, data, { auth }) => {
+ wifiDevices: async (parent, data, { auth }) => {
if (
parent.sAMAccountName !== auth.sAMAccountName &&
!auth.roles.includes('superAdmin')
)
return []
- return prisma.wifiDevice.findMany({
+ const wifiDevices = await prisma.wifiDevice.findMany({
where: {
accessPointId: { not: null },
user: { id: parent.id }
}
})
+
+ return wifiDevices
},
campus: parent => {
diff --git a/web/src/components/dataTables/UserWifiDevicesDataTable.vue b/web/src/components/dataTables/UserWifiDevicesDataTable.vue
index 9d50ce7..2556679 100644
--- a/web/src/components/dataTables/UserWifiDevicesDataTable.vue
+++ b/web/src/components/dataTables/UserWifiDevicesDataTable.vue
@@ -18,6 +18,9 @@
Online
+
+ Recente
+
Offline