diff --git a/src/controllers/StatsController.ts b/src/controllers/StatsController.ts index 3294281..6e9c108 100644 --- a/src/controllers/StatsController.ts +++ b/src/controllers/StatsController.ts @@ -64,8 +64,9 @@ export class StatsController { @ResponseSchema(ResponseStatsRunner, { isArray: true }) @OpenAPI({ description: "Returns the top ten runners by fastest laptime on your selected track (track by id).", security: [{ "StatsApiToken": [] }, { "AuthToken": [] }, { "RefreshTokenCookie": [] }] }) async getTopRunnersByLaptime(@QueryParam("track") track: number) { - let scans = await getConnection().getRepository(TrackScan).find({ relations: ['runner', 'runner.group', 'track'] }); + let scans = await getConnection().getRepository(TrackScan).find({ relations: ['track', 'runner', 'runner.group', 'runner.scans', 'runner.scans.track', 'runner.distanceDonations'] }); scans = scans.filter((s) => { return s.track.id == track && s.valid == true && s.lapTime != 0 }).sort((scan1, scan2) => scan1.lapTime - scan2.lapTime); + let topScans = new Array(); let knownRunners = new Array(); for (let i = 0; i < scans.length && topScans.length < 10; i++) { @@ -76,11 +77,11 @@ export class StatsController { } } - // let responseRunners: ResponseStatsRunner[] = new Array(); - // topScans.forEach(scan => { - // responseRunners.push(new ResponseStatsRunner(scan.runner, scan.lapTime)); - // }); - return topScans; + let responseRunners: ResponseStatsRunner[] = new Array(); + topScans.forEach(scan => { + responseRunners.push(new ResponseStatsRunner(scan.runner, scan.lapTime)); + }); + return responseRunners; } @Get("/scans")