| @@ -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) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user