parent
9675e79441
commit
555e37eaf7
@ -33,25 +33,47 @@ export class StatsController {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get("/authorized")
|
@Get("/runners/distance")
|
||||||
@UseBefore(StatsAuth)
|
@UseBefore(StatsAuth)
|
||||||
@OpenAPI({ description: "A demo endpoint for authorized stats.", security: [{ "StatsApiToken": [] }] })
|
@OpenAPI({ description: "Returns the top ten runners by distance.", security: [{ "StatsApiToken": [] }] })
|
||||||
async getAuthorized() {
|
async getTopRunnersByDistance() {
|
||||||
let connection = getConnection();
|
let connection = getConnection();
|
||||||
let runners = await connection.getRepository(Runner).find({ relations: ["scans"] });
|
let runners = await connection.getRepository(Runner).find({ relations: ["scans"] });
|
||||||
let teams = await connection.getRepository(RunnerTeam).find();
|
return runners.sort((runner1, runner2) => runner1.distance - runner2.distance).slice(0, 9);
|
||||||
let orgs = await connection.getRepository(RunnerOrganisation).find();
|
}
|
||||||
let users = await connection.getRepository(User).find();
|
|
||||||
let scans = await connection.getRepository(Scan).find();
|
@Get("/runners/donations")
|
||||||
let donations = await connection.getRepository(Donation).find({ relations: ["runner", "runner.scans"] });
|
@UseBefore(StatsAuth)
|
||||||
return {
|
@OpenAPI({ description: "Returns the top ten runners by donations.", security: [{ "StatsApiToken": [] }] })
|
||||||
"total_runners": runners.length,
|
async getTopRunnersByDonations() {
|
||||||
"total_teams": teams.length,
|
throw new Error("Not implemented yet.")
|
||||||
"total_orgs": orgs.length,
|
}
|
||||||
"total_users": users.length,
|
|
||||||
"total_scans": scans.filter(scan => { scan.valid === true }).length,
|
@Get("/teams/distance")
|
||||||
"total_distance": runners.reduce((sum, current) => sum + current.distance, 0),
|
@UseBefore(StatsAuth)
|
||||||
"total_donation_amount": donations.reduce((sum, current) => sum + current.amount, 0),
|
@OpenAPI({ description: "Returns the top ten teams by distance.", security: [{ "StatsApiToken": [] }] })
|
||||||
};
|
async getTopTeamsByDistance() {
|
||||||
|
throw new Error("Not implemented yet.")
|
||||||
|
}
|
||||||
|
|
||||||
|
@Get("/teams/donations")
|
||||||
|
@UseBefore(StatsAuth)
|
||||||
|
@OpenAPI({ description: "Returns the top ten teams by donations.", security: [{ "StatsApiToken": [] }] })
|
||||||
|
async getTopTeamsByDonations() {
|
||||||
|
throw new Error("Not implemented yet.")
|
||||||
|
}
|
||||||
|
|
||||||
|
@Get("/organisations/distance")
|
||||||
|
@UseBefore(StatsAuth)
|
||||||
|
@OpenAPI({ description: "Returns the top ten organisations by distance.", security: [{ "StatsApiToken": [] }] })
|
||||||
|
async getTopOrgsByDistance() {
|
||||||
|
throw new Error("Not implemented yet.")
|
||||||
|
}
|
||||||
|
|
||||||
|
@Get("/organisations/donations")
|
||||||
|
@UseBefore(StatsAuth)
|
||||||
|
@OpenAPI({ description: "Returns the top ten organisations by donations.", security: [{ "StatsApiToken": [] }] })
|
||||||
|
async getTopOrgsByDonations() {
|
||||||
|
throw new Error("Not implemented yet.")
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user