Code refactoring
This commit is contained in:
parent
58369b0df6
commit
d77e131385
|
@ -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'
|
||||||
|
|
|
@ -9,27 +9,37 @@ const DEBOUNCE_TIME_MS = 10000
|
||||||
|
|
||||||
let working = false
|
let working = false
|
||||||
|
|
||||||
async function updateDevicesInfo() {
|
async function getOnlineDevices() {
|
||||||
if (working) return -1 // Debounce updates
|
|
||||||
|
|
||||||
working = true
|
|
||||||
|
|
||||||
const onlineUnifiDevicesPromise = getOnlineUnifiDevices()
|
const onlineUnifiDevicesPromise = getOnlineUnifiDevices()
|
||||||
const onlineCiscoDevicesPromise = getOnlineCiscoDevices()
|
const onlineCiscoDevicesPromise = getOnlineCiscoDevices()
|
||||||
|
|
||||||
try {
|
|
||||||
const [onlineUnifiDevices, onlineCiscoDevices] = await Promise.all([
|
const [onlineUnifiDevices, onlineCiscoDevices] = await Promise.all([
|
||||||
onlineUnifiDevicesPromise,
|
onlineUnifiDevicesPromise,
|
||||||
onlineCiscoDevicesPromise
|
onlineCiscoDevicesPromise
|
||||||
])
|
])
|
||||||
|
|
||||||
|
const onlineDevices = [...onlineUnifiDevices, ...onlineCiscoDevices]
|
||||||
|
|
||||||
|
return onlineDevices
|
||||||
|
}
|
||||||
|
|
||||||
|
async function setAllDevicesAsOffline() {
|
||||||
await prisma.wifiDevice.updateMany({
|
await prisma.wifiDevice.updateMany({
|
||||||
data: {
|
data: {
|
||||||
status: 'OFFLINE'
|
status: 'OFFLINE'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const onlineDevices = [...onlineUnifiDevices, ...onlineCiscoDevices]
|
async function updateDevicesInfo() {
|
||||||
|
if (working) return -1 // Debounce updates
|
||||||
|
|
||||||
|
working = true
|
||||||
|
|
||||||
|
try {
|
||||||
|
const onlineDevices = await getOnlineDevices()
|
||||||
|
|
||||||
|
await setAllDevicesAsOffline()
|
||||||
|
|
||||||
for (const device of onlineDevices) {
|
for (const device of onlineDevices) {
|
||||||
if (!device.user)
|
if (!device.user)
|
|
@ -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 = {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user