From 7cbb561030f6e84f1d4077e1da0d29812410f6e5 Mon Sep 17 00:00:00 2001 From: Douglas Barone Date: Thu, 4 Nov 2021 10:30:45 -0400 Subject: [PATCH] Cleanup --- server/src/lib/ciscoController.js | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/server/src/lib/ciscoController.js b/server/src/lib/ciscoController.js index 0dca650..d15f581 100644 --- a/server/src/lib/ciscoController.js +++ b/server/src/lib/ciscoController.js @@ -16,35 +16,39 @@ const axios = create({ } }) +const getUri = (skip, page, take) => + `https://${process.env.CISCO_HOST}/data/client-table.html?columns=524287&take=${take}&skip=${skip}&page=${page}&pageSize=50&sort[0][field]=ST&sort[0][dir]=desc` + async function getDevices() { - const take = 50 let skip = 0 let page = 1 + const take = 50 + const responsesPromises = [] try { let devices = [] - - let url = `https://${process.env.CISCO_HOST}/data/client-table.html?columns=524287&take=${take}&skip=${skip}&page=${page}&pageSize=50&sort[0][field]=ST&sort[0][dir]=desc` - + let url = getUri(skip, page, take) const firstResponse = await axios.get(url) + const { total, data: page1devices } = firstResponse.data - const { total } = firstResponse.data - - devices = devices.concat(firstResponse.data.data) + devices = devices.concat(page1devices) do { skip += take page++ - let url = `https://${process.env.CISCO_HOST}/data/client-table.html?columns=524287&take=${take}&skip=${skip}&page=${page}&pageSize=50&sort[0][field]=ST&sort[0][dir]=desc` + let uri = getUri(skip, page, take) - responsesPromises.push(axios.get(url)) + responsesPromises.push(axios.get(uri)) } while (total > skip) const responses = await Promise.all(responsesPromises) - responses.forEach(({ data }) => (devices = devices.concat(data.data))) + responses.forEach( + ({ data: { data: pageDevices } }) => + (devices = devices.concat(pageDevices)) + ) return devices } catch (e) {