From b5f3dec93bfe4180abbe9ce74094cb1269d0e686 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 21 Jan 2021 15:57:56 +0100 Subject: [PATCH] Added a "onlyValid" query param ref #113 --- src/controllers/RunnerController.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) 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;