Stats improvements
This commit is contained in:
parent
c486ac9fea
commit
29c08eca3d
|
@ -1,6 +1,6 @@
|
||||||
import prisma from '../prisma'
|
import prisma from '../prisma'
|
||||||
import { getSubnetInfo } from '../lib/subnetInfo'
|
import { getSubnetInfo } from '../lib/subnetInfo'
|
||||||
import { subDays } from 'date-fns'
|
import { subDays, subMinutes } from 'date-fns'
|
||||||
import { distributedCopy } from '../utils/distributedCopy'
|
import { distributedCopy } from '../utils/distributedCopy'
|
||||||
|
|
||||||
export const AccessPoint = {
|
export const AccessPoint = {
|
||||||
|
@ -23,11 +23,8 @@ export const AccessPoint = {
|
||||||
usage: (parent, data, context, info) =>
|
usage: (parent, data, context, info) =>
|
||||||
parent.usage ? parent.usage?.toString() : 0,
|
parent.usage ? parent.usage?.toString() : 0,
|
||||||
|
|
||||||
stats: async (parent, { take, dateIn, dateOut }, context, info) => {
|
stats: async (parent, { take, minutesIn = 60, dateOut }, context, info) => {
|
||||||
if (!dateOut) {
|
const dateIn = subMinutes(dateOut || Date.now(), minutesIn)
|
||||||
dateOut = new Date()
|
|
||||||
dateIn = subDays(dateOut, 1)
|
|
||||||
}
|
|
||||||
|
|
||||||
const stats = await prisma.accessPointStats.findMany({
|
const stats = await prisma.accessPointStats.findMany({
|
||||||
where: {
|
where: {
|
||||||
|
|
|
@ -328,7 +328,11 @@ const typeDefs = gql`
|
||||||
updatedAt: String
|
updatedAt: String
|
||||||
wifiDevices: [WifiDevice]
|
wifiDevices: [WifiDevice]
|
||||||
|
|
||||||
stats(take: Int = 50, dateIn: String, dateOut: String): [AccessPointStats!]!
|
stats(
|
||||||
|
take: Int = 128
|
||||||
|
minutesIn: Int = 1440
|
||||||
|
dateOut: String
|
||||||
|
): [AccessPointStats!]!
|
||||||
latestStats: AccessPointStats!
|
latestStats: AccessPointStats!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -95,13 +95,13 @@ export default {
|
||||||
ticks: {
|
ticks: {
|
||||||
maxRotation: 0,
|
maxRotation: 0,
|
||||||
minRotation: 0,
|
minRotation: 0,
|
||||||
autoSkipPadding: 16
|
autoSkipPadding: 24
|
||||||
},
|
},
|
||||||
time: {
|
time: {
|
||||||
unit: 'minute',
|
unit: 'minute',
|
||||||
|
|
||||||
displayFormats: {
|
displayFormats: {
|
||||||
minute: 'HH:mm'
|
minute: 'd/M HH:mm'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ export default {
|
||||||
chartData() {
|
chartData() {
|
||||||
const pointRadius = 0
|
const pointRadius = 0
|
||||||
|
|
||||||
const tension = 0.2
|
const tension = 0.1
|
||||||
|
|
||||||
return {
|
return {
|
||||||
labels: this.stats.map(stat => new Date(stat.timestamp).getTime()),
|
labels: this.stats.map(stat => new Date(stat.timestamp).getTime()),
|
||||||
|
|
Loading…
Reference in New Issue
Block a user