Refactoring
This commit is contained in:
parent
ba47a68012
commit
290fc7e597
|
@ -21,7 +21,7 @@ CREATE TABLE "AccessPoint" (
|
||||||
"uptime" TEXT,
|
"uptime" TEXT,
|
||||||
"controller" TEXT,
|
"controller" TEXT,
|
||||||
"model" TEXT,
|
"model" TEXT,
|
||||||
"ipAddress" TEXT,
|
"ip" TEXT,
|
||||||
"clients" INTEGER,
|
"clients" INTEGER,
|
||||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
@ -150,11 +150,11 @@ model AccessPoint {
|
||||||
uptime String?
|
uptime String?
|
||||||
controller String?
|
controller String?
|
||||||
model String?
|
model String?
|
||||||
ipAddress String?
|
ip String?
|
||||||
clients Int?
|
clients Int?
|
||||||
|
|
||||||
createdAt DateTime @default(now())
|
createdAt DateTime @default(now())
|
||||||
updatedAt DateTime @updatedAt
|
updatedAt DateTime @updatedAt
|
||||||
|
|
||||||
WifiDevices WifiDevice[] @relation("wifidevice_to_ap")
|
wifiDevices WifiDevice[] @relation("wifidevice_to_ap")
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,7 +142,7 @@ export async function getAccessPoints() {
|
||||||
uptime: Ut.toString(),
|
uptime: Ut.toString(),
|
||||||
controller: 'Cisco',
|
controller: 'Cisco',
|
||||||
model: Md,
|
model: Md,
|
||||||
ipAddress: A4,
|
ip: A4,
|
||||||
clients: Cl
|
clients: Cl
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
|
@ -218,7 +218,7 @@ export async function getAccessPoints() {
|
||||||
uptime: uptime?.toString(),
|
uptime: uptime?.toString(),
|
||||||
controller: 'UniFi',
|
controller: 'UniFi',
|
||||||
model,
|
model,
|
||||||
ipAddress: ip,
|
ip,
|
||||||
clients: num_sta
|
clients: num_sta
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
|
@ -84,7 +84,7 @@ function mockHostName({ mac, oui }) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function updateDB(onlineDevices) {
|
async function updateDB(onlineDevices) {
|
||||||
const upsertPromises = onlineDevices.map(async device => {
|
const devicesUpsertPromises = onlineDevices.map(async device => {
|
||||||
if (!device.user) forceUserDisconnect(device.mac)
|
if (!device.user) forceUserDisconnect(device.mac)
|
||||||
|
|
||||||
const user = device.user
|
const user = device.user
|
||||||
|
@ -109,7 +109,12 @@ async function updateDB(onlineDevices) {
|
||||||
update: {
|
update: {
|
||||||
...device,
|
...device,
|
||||||
hostname,
|
hostname,
|
||||||
user
|
user,
|
||||||
|
accessPoint: {
|
||||||
|
connect: {
|
||||||
|
hostname: device.apName
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(async e => {
|
.catch(async e => {
|
||||||
|
@ -128,7 +133,12 @@ async function updateDB(onlineDevices) {
|
||||||
update: {
|
update: {
|
||||||
...device,
|
...device,
|
||||||
hostname,
|
hostname,
|
||||||
user: undefined
|
user: undefined,
|
||||||
|
accessPoint: {
|
||||||
|
connect: {
|
||||||
|
hostname: device.apName
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
@ -147,7 +157,7 @@ async function updateDB(onlineDevices) {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
return Promise.allSettled(upsertPromises)
|
return Promise.allSettled(devicesUpsertPromises)
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateDevicesInfo() {
|
function updateDevicesInfo() {
|
||||||
|
|
3
server/src/resolvers/AccessPoint.js
Normal file
3
server/src/resolvers/AccessPoint.js
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
import prisma from '../prisma'
|
||||||
|
|
||||||
|
export const AccessPoint = {}
|
|
@ -97,6 +97,7 @@ const Mutation = {
|
||||||
message: `Erro tentando atualizar os pontos de acesso: ${e.message}`,
|
message: `Erro tentando atualizar os pontos de acesso: ${e.message}`,
|
||||||
data: { error: e }
|
data: { error: e }
|
||||||
})
|
})
|
||||||
|
throw e
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,9 @@ export async function accessPoints() {
|
||||||
return prisma.accessPoint.findMany({
|
return prisma.accessPoint.findMany({
|
||||||
orderBy: {
|
orderBy: {
|
||||||
hostname: 'asc'
|
hostname: 'asc'
|
||||||
|
},
|
||||||
|
include: {
|
||||||
|
wifiDevices: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,17 @@
|
||||||
|
import prisma from '../prisma'
|
||||||
|
|
||||||
const WifiDevice = {
|
const WifiDevice = {
|
||||||
lastSeen: parent => parent.lastSeen?.toISOString(),
|
lastSeen: parent => parent.lastSeen?.toISOString(),
|
||||||
|
|
||||||
firstSeen: parent => parent.firstSeen?.toISOString()
|
firstSeen: parent => parent.firstSeen?.toISOString(),
|
||||||
|
|
||||||
|
user: async parent =>
|
||||||
|
(
|
||||||
|
await prisma.wifiDevice.findUnique({
|
||||||
|
where: { id: parent.id },
|
||||||
|
include: { user: true }
|
||||||
|
})
|
||||||
|
).user
|
||||||
}
|
}
|
||||||
|
|
||||||
export { WifiDevice }
|
export { WifiDevice }
|
||||||
|
|
|
@ -2,6 +2,7 @@ import { Mutation } from './Mutation'
|
||||||
import { Query } from './Query'
|
import { Query } from './Query'
|
||||||
import { Subscription } from './Subscriptions'
|
import { Subscription } from './Subscriptions'
|
||||||
|
|
||||||
|
import { AccessPoint } from './AccessPoint'
|
||||||
import { Group } from './Group'
|
import { Group } from './Group'
|
||||||
import { Log } from './Log'
|
import { Log } from './Log'
|
||||||
import { PAHost } from './PAHost'
|
import { PAHost } from './PAHost'
|
||||||
|
@ -16,6 +17,7 @@ const resolvers = {
|
||||||
Query,
|
Query,
|
||||||
Subscription,
|
Subscription,
|
||||||
|
|
||||||
|
AccessPoint,
|
||||||
Group,
|
Group,
|
||||||
Log,
|
Log,
|
||||||
PAHost,
|
PAHost,
|
||||||
|
|
|
@ -297,11 +297,12 @@ const typeDefs = gql`
|
||||||
uptime: String
|
uptime: String
|
||||||
controller: String
|
controller: String
|
||||||
model: String
|
model: String
|
||||||
ipAddress: String
|
ip: String
|
||||||
|
clients: Int
|
||||||
|
|
||||||
createdAt: String
|
createdAt: String
|
||||||
updatedAt: String
|
updatedAt: String
|
||||||
WifiDevices: [WifiDevice]
|
wifiDevices: [WifiDevice]
|
||||||
}
|
}
|
||||||
|
|
||||||
input LoginInput {
|
input LoginInput {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user