Compare commits

..

2 Commits

Author SHA1 Message Date
Douglas Barone
4dd4bfc8e6 Patch 2023-12-14 13:09:39 -04:00
Douglas Barone
f276202696 Improved online detection 2023-12-14 13:09:23 -04:00
7 changed files with 15 additions and 11 deletions

View File

@ -1,12 +1,12 @@
{
"name": "ifms-pti-svr",
"version": "3.8.1",
"version": "3.8.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "ifms-pti-svr",
"version": "3.8.1",
"version": "3.8.2",
"license": "ISC",
"dependencies": {
"@prisma/client": "^5.5.2",

View File

@ -1,6 +1,6 @@
{
"name": "ifms-pti-svr",
"version": "3.8.1",
"version": "3.8.2",
"description": "Servidor do Portal de TI do IFMS",
"main": "src/index.js",
"prisma": {

View File

@ -38,14 +38,14 @@ async function getOnlineDevices() {
}
async function updateDevicesStatus(onlineDevices) {
const lastSeenThreshold = subMinutes(new Date(), RECENT_THRESHOLD_IN_MINUTES)
const now = new Date()
const lastSeenThreshold = subMinutes(now, RECENT_THRESHOLD_IN_MINUTES)
const onlineDevicesMacs = onlineDevices.map(device => device.mac)
const recent = prisma.wifiDevice.updateMany({
where: {
lastSeen: { gt: lastSeenThreshold },
status: 'ONLINE',
mac: { notIn: onlineDevicesMacs }
},
data: { status: 'RECENT' }
@ -54,7 +54,6 @@ async function updateDevicesStatus(onlineDevices) {
const offline = prisma.wifiDevice.updateMany({
where: {
lastSeen: { lte: lastSeenThreshold },
status: { not: 'OFFLINE' },
mac: { notIn: onlineDevicesMacs }
},
data: { status: 'OFFLINE' }

View File

@ -47,19 +47,21 @@ const User = {
isWatcher: parent => parent.roles.includes('watcher'),
wifiDevices: (parent, data, { auth }) => {
wifiDevices: async (parent, data, { auth }) => {
if (
parent.sAMAccountName !== auth.sAMAccountName &&
!auth.roles.includes('superAdmin')
)
return []
return prisma.wifiDevice.findMany({
const wifiDevices = await prisma.wifiDevice.findMany({
where: {
accessPointId: { not: null },
user: { id: parent.id }
}
})
return wifiDevices
},
campus: parent => {

4
web/package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "ifms-pti",
"version": "3.8.1",
"version": "3.8.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "ifms-pti",
"version": "3.8.1",
"version": "3.8.2",
"dependencies": {
"@mdi/font": "^6.9.96",
"apollo-link-ws": "^1.0.20",

View File

@ -1,6 +1,6 @@
{
"name": "ifms-pti",
"version": "3.8.1",
"version": "3.8.2",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",

View File

@ -18,6 +18,9 @@
<v-chip v-if="item.status == 'ONLINE'" color="green" dark x-small>
Online
</v-chip>
<v-chip v-else-if="item.status == 'RECENT'" color="orange" dark x-small>
Recente
</v-chip>
<v-chip v-else color="grey" dark x-small>Offline</v-chip>
</template>