Compare commits
2 Commits
9964c5fac6
...
4dd4bfc8e6
Author | SHA1 | Date | |
---|---|---|---|
|
4dd4bfc8e6 | ||
|
f276202696 |
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.8.1",
|
"version": "3.8.2",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "ifms-pti-svr",
|
"name": "ifms-pti-svr",
|
||||||
"version": "3.8.1",
|
"version": "3.8.2",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@prisma/client": "^5.5.2",
|
"@prisma/client": "^5.5.2",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "ifms-pti-svr",
|
"name": "ifms-pti-svr",
|
||||||
"version": "3.8.1",
|
"version": "3.8.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": {
|
||||||
|
|
|
@ -38,14 +38,14 @@ async function getOnlineDevices() {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function updateDevicesStatus(onlineDevices) {
|
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 onlineDevicesMacs = onlineDevices.map(device => device.mac)
|
||||||
|
|
||||||
const recent = prisma.wifiDevice.updateMany({
|
const recent = prisma.wifiDevice.updateMany({
|
||||||
where: {
|
where: {
|
||||||
lastSeen: { gt: lastSeenThreshold },
|
lastSeen: { gt: lastSeenThreshold },
|
||||||
status: 'ONLINE',
|
|
||||||
mac: { notIn: onlineDevicesMacs }
|
mac: { notIn: onlineDevicesMacs }
|
||||||
},
|
},
|
||||||
data: { status: 'RECENT' }
|
data: { status: 'RECENT' }
|
||||||
|
@ -54,7 +54,6 @@ async function updateDevicesStatus(onlineDevices) {
|
||||||
const offline = prisma.wifiDevice.updateMany({
|
const offline = prisma.wifiDevice.updateMany({
|
||||||
where: {
|
where: {
|
||||||
lastSeen: { lte: lastSeenThreshold },
|
lastSeen: { lte: lastSeenThreshold },
|
||||||
status: { not: 'OFFLINE' },
|
|
||||||
mac: { notIn: onlineDevicesMacs }
|
mac: { notIn: onlineDevicesMacs }
|
||||||
},
|
},
|
||||||
data: { status: 'OFFLINE' }
|
data: { status: 'OFFLINE' }
|
||||||
|
|
|
@ -47,19 +47,21 @@ const User = {
|
||||||
|
|
||||||
isWatcher: parent => parent.roles.includes('watcher'),
|
isWatcher: parent => parent.roles.includes('watcher'),
|
||||||
|
|
||||||
wifiDevices: (parent, data, { auth }) => {
|
wifiDevices: async (parent, data, { auth }) => {
|
||||||
if (
|
if (
|
||||||
parent.sAMAccountName !== auth.sAMAccountName &&
|
parent.sAMAccountName !== auth.sAMAccountName &&
|
||||||
!auth.roles.includes('superAdmin')
|
!auth.roles.includes('superAdmin')
|
||||||
)
|
)
|
||||||
return []
|
return []
|
||||||
|
|
||||||
return prisma.wifiDevice.findMany({
|
const wifiDevices = await prisma.wifiDevice.findMany({
|
||||||
where: {
|
where: {
|
||||||
accessPointId: { not: null },
|
accessPointId: { not: null },
|
||||||
user: { id: parent.id }
|
user: { id: parent.id }
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
return wifiDevices
|
||||||
},
|
},
|
||||||
|
|
||||||
campus: parent => {
|
campus: parent => {
|
||||||
|
|
4
web/package-lock.json
generated
4
web/package-lock.json
generated
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "ifms-pti",
|
"name": "ifms-pti",
|
||||||
"version": "3.8.1",
|
"version": "3.8.2",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "ifms-pti",
|
"name": "ifms-pti",
|
||||||
"version": "3.8.1",
|
"version": "3.8.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.8.1",
|
"version": "3.8.2",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
|
|
|
@ -18,6 +18,9 @@
|
||||||
<v-chip v-if="item.status == 'ONLINE'" color="green" dark x-small>
|
<v-chip v-if="item.status == 'ONLINE'" color="green" dark x-small>
|
||||||
Online
|
Online
|
||||||
</v-chip>
|
</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>
|
<v-chip v-else color="grey" dark x-small>Offline</v-chip>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user