Refactoring

This commit is contained in:
Douglas Barone 2022-03-24 14:26:57 -04:00
parent ba47a68012
commit 290fc7e597
11 changed files with 42 additions and 12 deletions

View File

@ -21,7 +21,7 @@ CREATE TABLE "AccessPoint" (
"uptime" TEXT,
"controller" TEXT,
"model" TEXT,
"ipAddress" TEXT,
"ip" TEXT,
"clients" INTEGER,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,

View File

@ -150,11 +150,11 @@ model AccessPoint {
uptime String?
controller String?
model String?
ipAddress String?
ip String?
clients Int?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
WifiDevices WifiDevice[] @relation("wifidevice_to_ap")
wifiDevices WifiDevice[] @relation("wifidevice_to_ap")
}

View File

@ -142,7 +142,7 @@ export async function getAccessPoints() {
uptime: Ut.toString(),
controller: 'Cisco',
model: Md,
ipAddress: A4,
ip: A4,
clients: Cl
})
)

View File

@ -218,7 +218,7 @@ export async function getAccessPoints() {
uptime: uptime?.toString(),
controller: 'UniFi',
model,
ipAddress: ip,
ip,
clients: num_sta
})
)

View File

@ -84,7 +84,7 @@ function mockHostName({ mac, oui }) {
}
async function updateDB(onlineDevices) {
const upsertPromises = onlineDevices.map(async device => {
const devicesUpsertPromises = onlineDevices.map(async device => {
if (!device.user) forceUserDisconnect(device.mac)
const user = device.user
@ -109,7 +109,12 @@ async function updateDB(onlineDevices) {
update: {
...device,
hostname,
user
user,
accessPoint: {
connect: {
hostname: device.apName
}
}
}
})
.catch(async e => {
@ -128,7 +133,12 @@ async function updateDB(onlineDevices) {
update: {
...device,
hostname,
user: undefined
user: undefined,
accessPoint: {
connect: {
hostname: device.apName
}
}
}
})
} catch (e) {
@ -147,7 +157,7 @@ async function updateDB(onlineDevices) {
})
})
return Promise.allSettled(upsertPromises)
return Promise.allSettled(devicesUpsertPromises)
}
function updateDevicesInfo() {

View File

@ -0,0 +1,3 @@
import prisma from '../prisma'
export const AccessPoint = {}

View File

@ -97,6 +97,7 @@ const Mutation = {
message: `Erro tentando atualizar os pontos de acesso: ${e.message}`,
data: { error: e }
})
throw e
}
}
}

View File

@ -4,6 +4,9 @@ export async function accessPoints() {
return prisma.accessPoint.findMany({
orderBy: {
hostname: 'asc'
},
include: {
wifiDevices: true
}
})
}

View File

@ -1,7 +1,17 @@
import prisma from '../prisma'
const WifiDevice = {
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 }

View File

@ -2,6 +2,7 @@ import { Mutation } from './Mutation'
import { Query } from './Query'
import { Subscription } from './Subscriptions'
import { AccessPoint } from './AccessPoint'
import { Group } from './Group'
import { Log } from './Log'
import { PAHost } from './PAHost'
@ -16,6 +17,7 @@ const resolvers = {
Query,
Subscription,
AccessPoint,
Group,
Log,
PAHost,

View File

@ -297,11 +297,12 @@ const typeDefs = gql`
uptime: String
controller: String
model: String
ipAddress: String
ip: String
clients: Int
createdAt: String
updatedAt: String
WifiDevices: [WifiDevice]
wifiDevices: [WifiDevice]
}
input LoginInput {