diff --git a/src/controllers/RunnerController.ts b/src/controllers/RunnerController.ts index 5bcd0d3..fbaa381 100644 --- a/src/controllers/RunnerController.ts +++ b/src/controllers/RunnerController.ts @@ -56,14 +56,21 @@ export class RunnerController { @ResponseSchema(ResponseScan, { isArray: true }) @ResponseSchema(ResponseTrackScan, { isArray: true }) @ResponseSchema(RunnerNotFoundError, { statusCode: 404 }) - @OpenAPI({ description: 'Lists all scans of the runner whose id got provided.' }) - async getScans(@Param('id') id: number) { + @OpenAPI({ description: 'Lists all scans of the runner whose id got provided.
If you only want the valid scans just add the ?onlyValid=true query param.' }) + async getScans(@Param('id') id: number, onlyValid?: boolean) { let responseScans: ResponseScan[] = new Array(); let runner = await this.runnerRepository.findOne({ id: id }, { relations: ['scans', 'scans.track', 'scans.station', 'scans.runner'] }) if (!runner) { throw new RunnerNotFoundError(); } - for (let scan of runner.scans) { - responseScans.push(scan.toResponse()); + if (!onlyValid) { + for (let scan of runner.scans) { + responseScans.push(scan.toResponse()); + } + } + else { + for (let scan of runner.validScans) { + responseScans.push(scan.toResponse()); + } } return responseScans;