Compare commits
4 Commits
ee631b5324
...
67a41076db
Author | SHA1 | Date | |
---|---|---|---|
|
67a41076db | ||
|
e7713c9d5f | ||
|
d7d9748339 | ||
|
eac76d417f |
|
@ -18,4 +18,6 @@ RUN npm run prisma:generate
|
||||||
|
|
||||||
RUN npm run build
|
RUN npm run build
|
||||||
|
|
||||||
|
ENV NODE_TLS_REJECT_UNAUTHORIZED="0"
|
||||||
|
|
||||||
CMD npm run prisma:deploy && npm start
|
CMD npm run prisma:deploy && npm start
|
4
server/package-lock.json
generated
4
server/package-lock.json
generated
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "ifms-pti-svr",
|
"name": "ifms-pti-svr",
|
||||||
"version": "3.6.1",
|
"version": "3.6.2",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "ifms-pti-svr",
|
"name": "ifms-pti-svr",
|
||||||
"version": "3.6.1",
|
"version": "3.6.2",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@prisma/client": "^4.7.1",
|
"@prisma/client": "^4.7.1",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "ifms-pti-svr",
|
"name": "ifms-pti-svr",
|
||||||
"version": "3.6.1",
|
"version": "3.6.2",
|
||||||
"description": "Servidor do Portal de TI do IFMS",
|
"description": "Servidor do Portal de TI do IFMS",
|
||||||
"main": "src/index.js",
|
"main": "src/index.js",
|
||||||
"prisma": {
|
"prisma": {
|
||||||
|
|
|
@ -6,16 +6,17 @@ import { logError } from './logger'
|
||||||
const TIMEOUT_IN_MS = 120000
|
const TIMEOUT_IN_MS = 120000
|
||||||
const REQUEST_TIMEOUT_IN_MS = 20000
|
const REQUEST_TIMEOUT_IN_MS = 20000
|
||||||
|
|
||||||
const getDevicesUri = (skip, page, take) =>
|
const getDevicesUri = (skip = 0, page = 1, take = 50) =>
|
||||||
`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`
|
`data/client-table.html?columns=524287&take=${take}&skip=${skip}&page=${page}&pageSize=50&sort[0][field]=ST&sort[0][dir]=desc`
|
||||||
|
|
||||||
const httpsAgent = new https.Agent({
|
const httpsAgent = new https.Agent({
|
||||||
rejectUnauthorized: false,
|
rejectUnauthorized: false
|
||||||
ciphers: 'AES256-SHA' // That's necessary to connect to a TLS 1.0 server. Run node with --tls-min-v1.0
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const ciscoAxios = create({
|
const ciscoAxios = create({
|
||||||
|
withCredentials: true,
|
||||||
httpsAgent: httpsAgent,
|
httpsAgent: httpsAgent,
|
||||||
|
baseURL: `https://${process.env.CISCO_HOST}/`,
|
||||||
timeout: REQUEST_TIMEOUT_IN_MS,
|
timeout: REQUEST_TIMEOUT_IN_MS,
|
||||||
auth: {
|
auth: {
|
||||||
username: process.env.CISCO_USER,
|
username: process.env.CISCO_USER,
|
||||||
|
@ -43,12 +44,21 @@ function getDevices() {
|
||||||
const responsesPromises = []
|
const responsesPromises = []
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const firstResponse = await ciscoAxios.get(
|
await ciscoAxios.get(getDevicesUri())
|
||||||
getDevicesUri(skip, page, take),
|
} catch (e) {
|
||||||
{
|
if (e.response?.status === 401) {
|
||||||
cancelToken: source.token
|
const newSessionId = e.response.headers['set-cookie'][0]
|
||||||
}
|
.split(';')[0]
|
||||||
)
|
.split('=')[1]
|
||||||
|
|
||||||
|
ciscoAxios.defaults.headers.Cookie = `sessionId=${newSessionId}`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const firstResponse = await ciscoAxios.get(getDevicesUri(), {
|
||||||
|
cancelToken: source.token
|
||||||
|
})
|
||||||
|
|
||||||
const { total, data: page1devices } = firstResponse.data
|
const { total, data: page1devices } = firstResponse.data
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,11 @@ async function getOnlineDevices() {
|
||||||
wifiController.getOnlineWifiDevices()
|
wifiController.getOnlineWifiDevices()
|
||||||
)
|
)
|
||||||
|
|
||||||
const onlineDevices = (await Promise.all(onlineDevicesPromises)).flat()
|
const onlineDevicesArray = (await Promise.allSettled(onlineDevicesPromises))
|
||||||
|
.filter(prom => prom.status === 'fulfilled')
|
||||||
|
.map(prom => prom.value)
|
||||||
|
|
||||||
|
const onlineDevices = onlineDevicesArray.flat()
|
||||||
|
|
||||||
return onlineDevices
|
return onlineDevices
|
||||||
}
|
}
|
||||||
|
|
4
web/package-lock.json
generated
4
web/package-lock.json
generated
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "ifms-pti",
|
"name": "ifms-pti",
|
||||||
"version": "3.6.1",
|
"version": "3.6.2",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "ifms-pti",
|
"name": "ifms-pti",
|
||||||
"version": "3.6.1",
|
"version": "3.6.2",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mdi/font": "^6.9.96",
|
"@mdi/font": "^6.9.96",
|
||||||
"apollo-link-ws": "^1.0.20",
|
"apollo-link-ws": "^1.0.20",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "ifms-pti",
|
"name": "ifms-pti",
|
||||||
"version": "3.6.1",
|
"version": "3.6.2",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
|
|
|
@ -110,7 +110,7 @@
|
||||||
>
|
>
|
||||||
mdi-alert-circle
|
mdi-alert-circle
|
||||||
</v-icon>
|
</v-icon>
|
||||||
APs: {{ items.filter(ap => ap.uptime >= 0).length }} online /
|
APs: {{ items.filter(ap => ap.uptime > 0).length }} online /
|
||||||
{{ items.length }} total
|
{{ items.length }} total
|
||||||
</v-chip>
|
</v-chip>
|
||||||
<v-chip class="ml-1" small outlined>
|
<v-chip class="ml-1" small outlined>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user