From a8ea4fa659732ca2c922fc3c75d2238be2feb5c7 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 17 Mar 2021 19:16:42 +0100 Subject: [PATCH] Fixed trackscan vaildation ref #160 --- src/models/actions/create/CreateTrackScan.ts | 23 ++++++++++---------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/models/actions/create/CreateTrackScan.ts b/src/models/actions/create/CreateTrackScan.ts index 578497f..0ad4d73 100644 --- a/src/models/actions/create/CreateTrackScan.ts +++ b/src/models/actions/create/CreateTrackScan.ts @@ -44,8 +44,7 @@ export class CreateTrackScan { } newScan.timestamp = Math.round(new Date().getTime() / 1000); - newScan.lapTime = await this.getLaptime(newScan) - newScan.valid = await this.validateScan(newScan); + newScan = await this.validateScan(newScan); return newScan; } @@ -66,15 +65,17 @@ export class CreateTrackScan { return station; } - public validateScan(scan: TrackScan): boolean { - return (scan.lapTime > scan.track.minimumLapTime); - } - - public async getLaptime(scan: TrackScan): Promise { + public async validateScan(scan: TrackScan): Promise { const scans = await getConnection().getRepository(TrackScan).find({ where: { runner: scan.runner, valid: true }, relations: ["track"] }); - if (scans.length == 0) { return 0; } - - const newestScan = scans[scans.length - 1]; - return (scan.timestamp - newestScan.timestamp); + if (scans.length == 0) { + scan.lapTime = 0; + scan.valid = true; + } + else { + const newestScan = scans[scans.length - 1]; + scan.lapTime = scan.timestamp - newestScan.timestamp; + scan.valid = (scan.lapTime > scan.track.minimumLapTime); + } + return scan; } } \ No newline at end of file