Files
artdanj-api/app/Controllers/Http/StatsController.ts
2020-12-19 21:22:42 +01:00

50 lines
1.3 KiB
TypeScript

import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import {getTotalStats, getWeeklyStats, getMonthlyStats, getOtherStats} from 'App/Helpers/StatsHelper'
import DockerBuild from "App/Models/DockerBuild";
import DockerCommand from "App/Models/DockerCommand";
export default class StatsController {
public async get ({response}: HttpContextContract) {
const weekly = await getWeeklyStats();
const monthly = await getMonthlyStats();
const total = await getTotalStats();
const other = await getOtherStats();
return response.status(200).send({
weekly: weekly,
monthly: monthly,
total: total,
other : other
})
}
public async incrementBuild () {
const date = new Date()
const last_entry = await DockerBuild.findBy('created_at', date)
if (last_entry) {
last_entry.builds = last_entry.builds ++
await last_entry.save()
} else {
await DockerBuild.create({
builds: BigInt(1)
})
}
}
public async incrementCommand () {
const date = new Date()
const last_entry = await DockerCommand.findBy('created_at', date)
if (last_entry) {
last_entry.commands = last_entry.commands ++
await last_entry.save()
} else {
await DockerCommand.create({
commands: BigInt(1)
})
}
}
}