Fixed trackscan vaildation

ref #160
This commit is contained in:
Nicolai Ort 2021-03-17 19:16:42 +01:00
parent 54988ba0fe
commit a8ea4fa659
1 changed files with 12 additions and 11 deletions

View File

@ -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<number> {
public async validateScan(scan: TrackScan): Promise<TrackScan> {
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;
}
}