diff --git a/server/.env.example b/server/.env.example index 8ac4ed3..d11b7e7 100755 --- a/server/.env.example +++ b/server/.env.example @@ -31,3 +31,8 @@ UNIFI_URL=10.7.0.6 UNIFI_PORT=8443 UNIFI_USER=unifi_admin UNIFI_PASSWORD=senha_do_unifi_admin + +# Cisco +CISCO_HOST=10.1.0.2 +CISCO_USER=serti.xx +CISCO_PASSWORD=senhadacontroladoracisco \ No newline at end of file diff --git a/server/src/utils/ciscoController.js b/server/src/utils/ciscoController.js index 915c3dd..f722cb9 100644 --- a/server/src/utils/ciscoController.js +++ b/server/src/utils/ciscoController.js @@ -46,7 +46,21 @@ async function getDevices() { } export async function getOnlineWifiDevices() { - const onlineDevices = getDevices() + const onlineDevices = await getDevices() - return onlineDevices + const hydratedOnlineDevices = onlineDevices.map(client => ({ + user: client.Name == 'unknown' ? undefined : client.Name, + oui: undefined, + mac: client.macaddr, + hostname: client.HN == 'unknown' ? undefined : client.HN, + firstSeen: undefined, + lastSeen: new Date(), + essid: client.SSID, + ip: client.IP, + uptime: client.UT.toString(), + apName: client.AP, + status: 'ONLINE' + })) + + return hydratedOnlineDevices } diff --git a/server/src/utils/wifiUtils.js b/server/src/utils/wifiUtils.js index 9b899eb..d12c7b4 100644 --- a/server/src/utils/wifiUtils.js +++ b/server/src/utils/wifiUtils.js @@ -12,15 +12,15 @@ async function updateDBWithOnlineDevices() { onlineCiscoDevicesPromise ]) - console.log(onlineCiscoDevices.length) - await prisma.wifiDevice.updateMany({ data: { status: 'OFFLINE' } }) - for (const onlineDevice of onlineUnifiDevices) { + const onlineDevices = [...onlineUnifiDevices, ...onlineCiscoDevices] + + for (const onlineDevice of onlineDevices) { const device = { ...onlineDevice, user: onlineDevice.user @@ -35,12 +35,12 @@ async function updateDBWithOnlineDevices() { update: device }) } catch (e) { - console.log(e, device, 'Is users table up-to-date?.') + if (e.code != 'P2016') console.log('[wifiDevice upsert error]', e) } } // TODO: pubsub - return onlineUnifiDevices.length + return onlineDevices.length } export { updateDBWithOnlineDevices }