diff --git a/src/controllers/RunnerTeamController.ts b/src/controllers/RunnerTeamController.ts
index e4952ac..420cfce 100644
--- a/src/controllers/RunnerTeamController.ts
+++ b/src/controllers/RunnerTeamController.ts
@@ -6,6 +6,7 @@ import { CreateRunnerTeam } from '../models/actions/create/CreateRunnerTeam';
import { UpdateRunnerTeam } from '../models/actions/update/UpdateRunnerTeam';
import { RunnerTeam } from '../models/entities/RunnerTeam';
import { ResponseEmpty } from '../models/responses/ResponseEmpty';
+import { ResponseRunner } from '../models/responses/ResponseRunner';
import { ResponseRunnerTeam } from '../models/responses/ResponseRunnerTeam';
import { RunnerController } from './RunnerController';
@@ -47,6 +48,20 @@ export class RunnerTeamController {
return new ResponseRunnerTeam(runnerTeam);
}
+ @Get('/:id/runners')
+ @Authorized(["RUNNER:GET", "SCAN:GET"])
+ @ResponseSchema(ResponseRunner, { isArray: true })
+ @ResponseSchema(RunnerTeamNotFoundError, { statusCode: 404 })
+ @OpenAPI({ description: 'Lists all runners from this team.
This includes the runner\'s group and distance ran.' })
+ async getRunners(@Param('id') id: number) {
+ let responseRunners: ResponseRunner[] = new Array();
+ const runners = (await this.runnerTeamRepository.findOne({ id: id }, { relations: ['runners', 'runners.group', 'runners.scans', 'runners.scans.track'] })).runners;
+ runners.forEach(runner => {
+ responseRunners.push(new ResponseRunner(runner));
+ });
+ return responseRunners;
+ }
+
@Post()
@Authorized("TEAM:CREATE")
@ResponseSchema(ResponseRunnerTeam)