@@ -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")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user