Added basic laptime endpoint

ref #190
This commit is contained in:
Nicolai Ort 2021-04-06 08:13:43 +02:00
parent a6a526dc5d
commit cb71fcd13b
1 changed files with 14 additions and 0 deletions

View File

@ -58,6 +58,20 @@ export class StatsController {
return responseRunners;
}
@Get("/runners/laptime")
@UseBefore(StatsAuth)
@ResponseSchema(ResponseStatsRunner, { isArray: true })
@OpenAPI({ description: "Returns the top ten runners by fastest laptime.", security: [{ "StatsApiToken": [] }, { "AuthToken": [] }, { "RefreshTokenCookie": [] }] })
async getTopRunnersByLaptime() {
let runners = await getConnection().getRepository(Runner).find({ relations: ['scans', 'group', 'scans.track'] });
let topRunners = runners.sort((runner1, runner2) => runner1.distanceDonationAmount - runner2.distanceDonationAmount).slice(0, 10);
let responseRunners: ResponseStatsRunner[] = new Array<ResponseStatsRunner>();
topRunners.forEach(runner => {
responseRunners.push(new ResponseStatsRunner(runner));
});
return responseRunners;
}
@Get("/scans")
@UseBefore(StatsAuth)
@ResponseSchema(ResponseStatsRunner, { isArray: true })