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