This commit is contained in:
Douglas Barone 2021-11-04 10:30:45 -04:00
parent fac98b3b35
commit 7cbb561030

View File

@ -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) {