diff --git a/src/controllers/RunnerOrganizationController.ts b/src/controllers/RunnerOrganizationController.ts
index e03e411..065cadd 100644
--- a/src/controllers/RunnerOrganizationController.ts
+++ b/src/controllers/RunnerOrganizationController.ts
@@ -62,13 +62,13 @@ export class RunnerOrganizationController {
@ResponseSchema(ResponseRunner, { isArray: true })
@ResponseSchema(RunnerOrganizationNotFoundError, { statusCode: 404 })
@OpenAPI({ description: 'Lists all runners from this org and it\'s teams (if you don\'t provide the ?onlyDirect=true param).
This includes the runner\'s group and distance ran.' })
- async getRunners(@Param('id') id: number, @QueryParam('onlyDirect') onlyDirect: boolean) {
+ async getRunners(@Param('id') id: number, @QueryParam('onlyDirect') onlyDirect: boolean, @QueryParam("selfservice_links", { required: false }) selfservice_links: boolean = false) {
let responseRunners: ResponseRunner[] = new Array();
let runners: Runner[];
if (!onlyDirect) { runners = (await this.runnerOrganizationRepository.findOne({ id: id }, { relations: ['runners', 'runners.group', 'runners.group.parentGroup', 'runners.scans', 'runners.scans.track', 'teams', 'teams.runners', 'teams.runners.group', 'teams.runners.group.parentGroup', 'teams.runners.scans', 'teams.runners.scans.track'] })).allRunners; }
else { runners = (await this.runnerOrganizationRepository.findOne({ id: id }, { relations: ['runners', 'runners.group', 'runners.group.parentGroup', 'runners.scans', 'runners.scans.track'] })).runners; }
runners.forEach(runner => {
- responseRunners.push(new ResponseRunner(runner));
+ responseRunners.push(new ResponseRunner(runner, selfservice_links));
});
return responseRunners;
}
diff --git a/src/controllers/RunnerTeamController.ts b/src/controllers/RunnerTeamController.ts
index ea7332d..8df5671 100644
--- a/src/controllers/RunnerTeamController.ts
+++ b/src/controllers/RunnerTeamController.ts
@@ -60,11 +60,11 @@ export class RunnerTeamController {
@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) {
+ async getRunners(@Param('id') id: number, @QueryParam("selfservice_links", { required: false }) selfservice_links: boolean = false) {
let responseRunners: ResponseRunner[] = new Array();
const runners = (await this.runnerTeamRepository.findOne({ id: id }, { relations: ['runners', 'runners.group', 'runners.group.parentGroup', 'runners.scans', 'runners.scans.track'] })).runners;
runners.forEach(runner => {
- responseRunners.push(new ResponseRunner(runner));
+ responseRunners.push(new ResponseRunner(runner, selfservice_links));
});
return responseRunners;
}
diff --git a/src/models/entities/Runner.ts b/src/models/entities/Runner.ts
index 8e5e79b..7b08593 100644
--- a/src/models/entities/Runner.ts
+++ b/src/models/entities/Runner.ts
@@ -84,6 +84,6 @@ export class Runner extends Participant {
* Turns this entity into it's response class.
*/
public toResponse(): ResponseRunner {
- return new ResponseRunner(this);
+ return new ResponseRunner(this, true);
}
}
\ No newline at end of file