From 54d6596c8157fc1c4daea58cd1e1c48b461d10c8 Mon Sep 17 00:00:00 2001 From: Douglas Barone Date: Mon, 11 Apr 2022 15:26:51 -0400 Subject: [PATCH] Refactor --- server/src/resolvers/Query/wifiUsers.js | 6 +++++- server/src/resolvers/WifiDevice.js | 23 ++++++++++++++++------- server/src/typeDefs.js | 2 +- web/src/views/WifiUsers.vue | 4 +++- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/server/src/resolvers/Query/wifiUsers.js b/server/src/resolvers/Query/wifiUsers.js index 5420709..4b02287 100644 --- a/server/src/resolvers/Query/wifiUsers.js +++ b/server/src/resolvers/Query/wifiUsers.js @@ -34,7 +34,11 @@ export async function wifiUsers(parent, { take = 100, skip = 0, search }) { } ] }, - include: { wifiDevices: true }, + include: { + wifiDevices: { + include: { accessPoint: true } + } + }, orderBy: [ { wifiDevices: { _count: 'desc' } }, { displayName: 'asc' }], diff --git a/server/src/resolvers/WifiDevice.js b/server/src/resolvers/WifiDevice.js index 8198aad..60907c6 100644 --- a/server/src/resolvers/WifiDevice.js +++ b/server/src/resolvers/WifiDevice.js @@ -1,5 +1,7 @@ import prisma from '../prisma' +import { logError } from '../lib/logger' + const WifiDevice = { lastSeen: parent => parent.lastSeen?.toISOString(), @@ -16,15 +18,22 @@ const WifiDevice = { accessPoint: async parent => { if (!parent.accessPointId && parent.apName) { - await prisma.wifiDevice.update({ - where: { id: parent.id }, data: { - accessPoint: { - connect: { - hostname: parent.apName + try { + await prisma.wifiDevice.update({ + where: { id: parent.id }, data: { + accessPoint: { + connect: { + hostname: parent.apName + } } } - } - }) + }) + } catch (e) { + logError({ + tags: ['wifiDevice', 'accessPoint'], + message: `Failed to connect ${parent.mac} to access point ${parent.apName}`, + }) + } } return prisma.accessPoint.findUnique({ where: { id: parent.accessPointId } }) diff --git a/server/src/typeDefs.js b/server/src/typeDefs.js index e34c6f9..709375f 100644 --- a/server/src/typeDefs.js +++ b/server/src/typeDefs.js @@ -234,7 +234,7 @@ const typeDefs = gql` uptime: String apName: String status: Status - accessPoint: AccessPoint! + accessPoint: AccessPoint } "A user that is on the Wi-Fi network reach" diff --git a/web/src/views/WifiUsers.vue b/web/src/views/WifiUsers.vue index 941bddb..c6962dc 100644 --- a/web/src/views/WifiUsers.vue +++ b/web/src/views/WifiUsers.vue @@ -129,7 +129,9 @@ - + mdi-map-marker-radius