From 6a762f570d8f58c70413974daa2f4d20729af814 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 29 Dec 2020 16:08:50 +0100 Subject: [PATCH] Added team and org stats ref #56 --- src/controllers/StatsController.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/controllers/StatsController.ts b/src/controllers/StatsController.ts index 580b2bd..477ba19 100644 --- a/src/controllers/StatsController.ts +++ b/src/controllers/StatsController.ts @@ -3,6 +3,8 @@ import { OpenAPI } from 'routing-controllers-openapi'; import { getConnection } from 'typeorm'; import { Donation } from '../models/entities/Donation'; import { Runner } from '../models/entities/Runner'; +import { RunnerOrganisation } from '../models/entities/RunnerOrganisation'; +import { RunnerTeam } from '../models/entities/RunnerTeam'; import { Scan } from '../models/entities/Scan'; import { User } from '../models/entities/User'; @@ -14,13 +16,17 @@ export class StatsController { async get() { let connection = getConnection(); let runners = await connection.getRepository(Runner).find({ relations: ["scans"] }); + let teams = await connection.getRepository(RunnerTeam).find(); + let orgs = await connection.getRepository(RunnerOrganisation).find(); let users = await connection.getRepository(User).find(); let scans = await connection.getRepository(Scan).find(); let donations = await connection.getRepository(Donation).find({ relations: ["runner", "runner.scans"] }); return { "total_runners": runners.length, + "total_teams": teams.length, + "total_orgs": orgs.length, "total_users": users.length, - "total_scans": scans.length, + "total_scans": scans.filter(scan => { scan.valid === true }).length, "total_distance": runners.reduce((sum, current) => sum + current.distance, 0), "total_donation_amount": donations.reduce((sum, current) => sum + current.amount, 0), };