parent
e2ec0a3b64
commit
a82fc0fb9e
|
@ -8,6 +8,8 @@ import { UpdateRunner } from '../models/actions/update/UpdateRunner';
|
|||
import { Runner } from '../models/entities/Runner';
|
||||
import { ResponseEmpty } from '../models/responses/ResponseEmpty';
|
||||
import { ResponseRunner } from '../models/responses/ResponseRunner';
|
||||
import { ResponseScan } from '../models/responses/ResponseScan';
|
||||
import { ResponseTrackScan } from '../models/responses/ResponseTrackScan';
|
||||
import { DonationController } from './DonationController';
|
||||
import { RunnerCardController } from './RunnerCardController';
|
||||
import { ScanController } from './ScanController';
|
||||
|
@ -49,6 +51,24 @@ export class RunnerController {
|
|||
return new ResponseRunner(runner);
|
||||
}
|
||||
|
||||
@Get('/:id/scans')
|
||||
@Authorized(["RUNNER:GET", "SCAN:GET"])
|
||||
@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) {
|
||||
let responseScans: ResponseScan[] = new Array<ResponseScan>();
|
||||
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());
|
||||
}
|
||||
|
||||
return responseScans;
|
||||
}
|
||||
|
||||
@Post()
|
||||
@Authorized("RUNNER:CREATE")
|
||||
@ResponseSchema(ResponseRunner)
|
||||
|
|
Loading…
Reference in New Issue