Code refactoring

This commit is contained in:
Douglas Barone 2020-12-14 16:42:38 -04:00
parent 58369b0df6
commit d77e131385
3 changed files with 26 additions and 16 deletions

View File

@ -1,5 +1,5 @@
import cron from 'node-cron' import cron from 'node-cron'
import { updateDevicesInfo } from './lib/wifiUtils' import { updateDevicesInfo } from './lib/wifiDevices'
import { User } from './classes/User' import { User } from './classes/User'
import { format } from 'date-fns' import { format } from 'date-fns'
import oui from 'oui' import oui from 'oui'

View File

@ -9,27 +9,37 @@ const DEBOUNCE_TIME_MS = 10000
let working = false let working = false
async function getOnlineDevices() {
const onlineUnifiDevicesPromise = getOnlineUnifiDevices()
const onlineCiscoDevicesPromise = getOnlineCiscoDevices()
const [onlineUnifiDevices, onlineCiscoDevices] = await Promise.all([
onlineUnifiDevicesPromise,
onlineCiscoDevicesPromise
])
const onlineDevices = [...onlineUnifiDevices, ...onlineCiscoDevices]
return onlineDevices
}
async function setAllDevicesAsOffline() {
await prisma.wifiDevice.updateMany({
data: {
status: 'OFFLINE'
}
})
}
async function updateDevicesInfo() { async function updateDevicesInfo() {
if (working) return -1 // Debounce updates if (working) return -1 // Debounce updates
working = true working = true
const onlineUnifiDevicesPromise = getOnlineUnifiDevices()
const onlineCiscoDevicesPromise = getOnlineCiscoDevices()
try { try {
const [onlineUnifiDevices, onlineCiscoDevices] = await Promise.all([ const onlineDevices = await getOnlineDevices()
onlineUnifiDevicesPromise,
onlineCiscoDevicesPromise
])
await prisma.wifiDevice.updateMany({ await setAllDevicesAsOffline()
data: {
status: 'OFFLINE'
}
})
const onlineDevices = [...onlineUnifiDevices, ...onlineCiscoDevices]
for (const device of onlineDevices) { for (const device of onlineDevices) {
if (!device.user) if (!device.user)

View File

@ -2,7 +2,7 @@ import { replacePassword } from '../lib/activedirectory/passwordUtils'
import { User } from '../classes/User' import { User } from '../classes/User'
import { ResetToken } from '../classes/ResetToken' import { ResetToken } from '../classes/ResetToken'
import { updateDevicesInfo } from '../lib/wifiUtils' import { updateDevicesInfo } from '../lib/wifiDevices'
import { updateUserIdMappings } from '../lib/paloalto' import { updateUserIdMappings } from '../lib/paloalto'
const Mutation = { const Mutation = {