This commit is contained in:
parent
3909ed34f7
commit
0f0c3c7214
@ -21,18 +21,22 @@ export class StatsController {
|
|||||||
@ResponseSchema(ResponseStats)
|
@ResponseSchema(ResponseStats)
|
||||||
@OpenAPI({ description: "A very basic stats endpoint providing basic counters for a dashboard or simmilar" })
|
@OpenAPI({ description: "A very basic stats endpoint providing basic counters for a dashboard or simmilar" })
|
||||||
async get() {
|
async get() {
|
||||||
let connection = getConnection();
|
const connection = getConnection();
|
||||||
let runners = await connection.getRepository(Runner).count();
|
const runners = await connection.getRepository(Runner).count();
|
||||||
let teams = await connection.getRepository(RunnerTeam).count();
|
const teams = await connection.getRepository(RunnerTeam).count();
|
||||||
let orgs = await connection.getRepository(RunnerOrganization).count();
|
const orgs = await connection.getRepository(RunnerOrganization).count();
|
||||||
let users = await connection.getRepository(User).count();
|
const users = await connection.getRepository(User).count();
|
||||||
let scans = await connection.getRepository(Scan).count({ where: { valid: true } });
|
const scans = await connection.getRepository(Scan).count({ where: { valid: true } });
|
||||||
let distance_query = await connection.getRepository(Scan).createQueryBuilder('scan')
|
const distance_query = await connection.getRepository(Scan).createQueryBuilder('scan')
|
||||||
.leftJoinAndSelect("scan.track", "track").where("scan.valid = TRUE")
|
.leftJoinAndSelect("scan.track", "track").where("scan.valid = TRUE")
|
||||||
.select("SUM(track.distance)", "sum_track").addSelect("SUM(_distance)", "sum_distance")
|
.select("SUM(track.distance)", "sum_track").addSelect("SUM(_distance)", "sum_distance")
|
||||||
.getRawOne();
|
.getRawOne();
|
||||||
|
let distace = parseInt(distance_query.sum_track)
|
||||||
|
if (distance_query.sum_distance) {
|
||||||
|
distace += parseInt(distance_query.sum_distance)
|
||||||
|
}
|
||||||
let donations = await connection.getRepository(Donation).find({ relations: ['runner', 'runner.scans', 'runner.scans.track'] });
|
let donations = await connection.getRepository(Donation).find({ relations: ['runner', 'runner.scans', 'runner.scans.track'] });
|
||||||
return new ResponseStats(runners, teams, orgs, users, scans, donations, distance_query.sum_track + distance_query.sum_distance)
|
return new ResponseStats(runners, teams, orgs, users, scans, donations, distace)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get("/runners/distance")
|
@Get("/runners/distance")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user