This commit is contained in:
Douglas Barone 2022-04-11 15:26:51 -04:00
parent 3b32c64bd1
commit 54d6596c81
4 changed files with 25 additions and 10 deletions

View File

@ -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' }],

View File

@ -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 } })

View File

@ -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"

View File

@ -129,7 +129,9 @@
</v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
<v-list-item v-if="device.accessPoint.local">
<v-list-item
v-if="device.accessPoint && device.accessPoint.local"
>
<v-list-item-action>
<v-icon>mdi-map-marker-radius</v-icon>
</v-list-item-action>