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": [] }] })
|
@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) {
|
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: ['runner', 'runner.group', 'track'] });
|
||||||
scans = scans.filter((s) => { s.track.id == track && s.valid == true })
|
scans = scans.filter((s) => { return s.track.id == track && s.valid == true && s.lapTime != 0 }).sort((scan1, scan2) => scan1.lapTime - scan2.lapTime);
|
||||||
console.log(scans)
|
|
||||||
let topScans = new Array<TrackScan>();
|
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++) {
|
for (let i = 0; i < scans.length && topScans.length < 10; i++) {
|
||||||
const element = scans[i];
|
const element = scans[i];
|
||||||
if (!knownRunners.includes(element.runner)) {
|
if (!knownRunners.includes(element.runner.id)) {
|
||||||
topScans.push(element);
|
topScans.push(element);
|
||||||
knownRunners.push(element.runner);
|
knownRunners.push(element.runner.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let responseRunners: ResponseStatsRunner[] = new Array<ResponseStatsRunner>();
|
// let responseRunners: ResponseStatsRunner[] = new Array<ResponseStatsRunner>();
|
||||||
topScans.forEach(scan => {
|
// topScans.forEach(scan => {
|
||||||
responseRunners.push(new ResponseStatsRunner(scan.runner, scan.lapTime));
|
// responseRunners.push(new ResponseStatsRunner(scan.runner, scan.lapTime));
|
||||||
});
|
// });
|
||||||
return responseRunners;
|
return topScans;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get("/scans")
|
@Get("/scans")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user