diff --git a/server/prisma/migrations/20221006115627_add_uplink_speed/migration.sql b/server/prisma/migrations/20221006115627_add_uplink_speed/migration.sql new file mode 100644 index 0000000..3def35b --- /dev/null +++ b/server/prisma/migrations/20221006115627_add_uplink_speed/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "AccessPoint" ADD COLUMN "uplinkSpeed" INTEGER; diff --git a/server/prisma/schema.prisma b/server/prisma/schema.prisma index 477407c..4d41b69 100644 --- a/server/prisma/schema.prisma +++ b/server/prisma/schema.prisma @@ -148,6 +148,7 @@ model AccessPoint { inventoryTag String? usage BigInt? uptime Int? + uplinkSpeed Int? stats AccessPointStats[] @relation("accesspointstats_to_ap") wifiDevices WifiDevice[] @relation("wifidevice_to_ap") } diff --git a/server/src/lib/ciscoController.js b/server/src/lib/ciscoController.js index c12971b..96fbc64 100644 --- a/server/src/lib/ciscoController.js +++ b/server/src/lib/ciscoController.js @@ -150,7 +150,8 @@ export function getAccessPoints() { model: Md, ip: A4, clients: +Cl, - usage: +Vm + usage: +Vm, + uplinkSpeed: null }) ) diff --git a/server/src/lib/unifiController.js b/server/src/lib/unifiController.js index 7790108..aec994b 100644 --- a/server/src/lib/unifiController.js +++ b/server/src/lib/unifiController.js @@ -205,12 +205,14 @@ export async function getOnlineWifiDevices() { } } +const fs = require('fs') + export async function getAccessPoints() { try { const [accessPoints] = await unifiController.getAccessDevices('default') const restructuredAccessPoints = accessPoints.map( - ({ mac, model, ip, uptime, name, num_sta, bytes }) => ({ + ({ mac, model, ip, uptime, name, num_sta, bytes, uplink }) => ({ mac, hostname: name || mac.replaceAll(':', ''), uptime: uptime ? +uptime : -1, @@ -218,7 +220,8 @@ export async function getAccessPoints() { model, ip, clients: num_sta, - usage: +bytes || 0 + usage: +bytes || 0, + uplinkSpeed: uplink?.speed || null }) ) diff --git a/server/src/typeDefs.js b/server/src/typeDefs.js index 3109970..cd8e7f6 100644 --- a/server/src/typeDefs.js +++ b/server/src/typeDefs.js @@ -327,6 +327,7 @@ const typeDefs = gql` clients: Int subnetInfo: SubnetInfo usage: String + uplinkSpeed: Int createdAt: String updatedAt: String diff --git a/web/src/views/AccessPoints/index.vue b/web/src/views/AccessPoints/index.vue index 6da6908..ca80e4f 100644 --- a/web/src/views/AccessPoints/index.vue +++ b/web/src/views/AccessPoints/index.vue @@ -201,6 +201,20 @@ + @@ -250,6 +264,7 @@ export default { value: 'controller' }, { text: 'Uso', value: 'usage' }, + { text: 'Uplink', value: 'uplinkSpeed' }, { text: 'Observações', value: 'notes' }, { text: 'Última atualização', value: 'updatedAt', width: 160 } ] @@ -381,6 +396,7 @@ export default { ip clients usage + uplinkSpeed createdAt updatedAt