From db7090ab5d87ab7a1b277d3dbf14101bd8486e25 Mon Sep 17 00:00:00 2001 From: Douglas Barone Date: Thu, 8 Dec 2022 11:54:09 -0400 Subject: [PATCH] Fix wifidevices update --- server/package-lock.json | 4 ++-- server/package.json | 4 ++-- server/src/lib/wifiDevices.js | 26 ++++++++++++++++---------- server/src/typeDefs.js | 13 +++++++++++++ 4 files changed, 33 insertions(+), 14 deletions(-) diff --git a/server/package-lock.json b/server/package-lock.json index 586a9a4..ba6ecde 100755 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -9,7 +9,7 @@ "version": "3.3.9", "license": "ISC", "dependencies": { - "@prisma/client": "^4.2.1", + "@prisma/client": "^4.7.1", "activedirectory2": "^2.1.0", "apollo-server": "^2.19.0", "apollo-server-plugin-response-cache": "^0.5.6", @@ -37,7 +37,7 @@ "@babel/plugin-proposal-object-rest-spread": "^7.16.0", "@babel/preset-env": "^7.16.0", "nodemon": "^2.0.15", - "prisma": "^4.2.1" + "prisma": "^4.7.1" } }, "node_modules/@ampproject/remapping": { diff --git a/server/package.json b/server/package.json index 28ccbb9..0fd8fe3 100755 --- a/server/package.json +++ b/server/package.json @@ -37,10 +37,10 @@ "@babel/plugin-proposal-object-rest-spread": "^7.16.0", "@babel/preset-env": "^7.16.0", "nodemon": "^2.0.15", - "prisma": "^4.2.1" + "prisma": "^4.7.1" }, "dependencies": { - "@prisma/client": "^4.2.1", + "@prisma/client": "^4.7.1", "activedirectory2": "^2.1.0", "apollo-server": "^2.19.0", "apollo-server-plugin-response-cache": "^0.5.6", diff --git a/server/src/lib/wifiDevices.js b/server/src/lib/wifiDevices.js index 013e318..ebab74c 100644 --- a/server/src/lib/wifiDevices.js +++ b/server/src/lib/wifiDevices.js @@ -103,11 +103,13 @@ async function updateDB(onlineDevices) { where: { mac: device.mac }, create: { ...device, - network: { - connect: { - id: network.id - } - }, + network: network.id + ? { + connect: { + id: network.id + } + } + : undefined, hostname, firstSeen: device.firstSeen || new Date(), user, @@ -119,11 +121,15 @@ async function updateDB(onlineDevices) { }, update: { ...device, - network: { - connect: { - id: network.id - } - }, + network: network.id + ? { + connect: { + id: network.id + } + } + : { + disconnect: true + }, hostname, user, accessPoint: { diff --git a/server/src/typeDefs.js b/server/src/typeDefs.js index cd8e7f6..fea3132 100644 --- a/server/src/typeDefs.js +++ b/server/src/typeDefs.js @@ -63,6 +63,9 @@ const typeDefs = gql` "One Access Point" accessPoint(id: ID!): AccessPoint! @auth(roles: ["superAdmin"]) + + "All Subnets" + subnets: [SubnetInfo!]! @auth(roles: ["superAdmin"]) } type Mutation { @@ -363,6 +366,15 @@ const typeDefs = gql` sumUsage: String } + "A Subnet stats" + type SubnetStats { + id: ID! + timestamp: String + clients: Int + avgUsage: Int + sumUsage: Int + } + "A WiFi Device Search result" type WifiDevicesResult { data: [WifiDevice!]! @@ -388,6 +400,7 @@ const typeDefs = gql` subnetMaskLength: String! numHosts: String! length: String! + stats: SubnetStats! } input LoginInput {