parent
4471e57438
commit
988f17a795
|
@ -65,23 +65,22 @@ export class StatsController {
|
|||
@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'] });
|
||||
scans = scans.filter((s) => { s.track.id == track && s.valid == true })
|
||||
console.log(scans)
|
||||
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<TrackScan>();
|
||||
let knownRunners = new Array<Runner>();
|
||||
let knownRunners = new Array<number>();
|
||||
for (let i = 0; i < scans.length && topScans.length < 10; i++) {
|
||||
const element = scans[i];
|
||||
if (!knownRunners.includes(element.runner)) {
|
||||
if (!knownRunners.includes(element.runner.id)) {
|
||||
topScans.push(element);
|
||||
knownRunners.push(element.runner);
|
||||
knownRunners.push(element.runner.id);
|
||||
}
|
||||
}
|
||||
|
||||
let responseRunners: ResponseStatsRunner[] = new Array<ResponseStatsRunner>();
|
||||
topScans.forEach(scan => {
|
||||
responseRunners.push(new ResponseStatsRunner(scan.runner, scan.lapTime));
|
||||
});
|
||||
return responseRunners;
|
||||
// let responseRunners: ResponseStatsRunner[] = new Array<ResponseStatsRunner>();
|
||||
// topScans.forEach(scan => {
|
||||
// responseRunners.push(new ResponseStatsRunner(scan.runner, scan.lapTime));
|
||||
// });
|
||||
return topScans;
|
||||
}
|
||||
|
||||
@Get("/scans")
|
||||
|
|
Loading…
Reference in New Issue