feat(RunnerController.getAll): add created_via query param filter

This commit is contained in:
Philipp Dormann 2025-04-09 11:37:49 +02:00
parent 30b61db2c1
commit 6e63c57936
Signed by: philipp
GPG Key ID: 3BB9ADD52DCA4314

View File

@ -30,7 +30,7 @@ export class RunnerController {
@Authorized("RUNNER:GET")
@ResponseSchema(ResponseRunner, { isArray: true })
@OpenAPI({ description: 'Lists all runners from all teams/orgs. <br> This includes the runner\'s group and distance ran.' })
async getAll(@QueryParam("page", { required: false }) page: number, @QueryParam("page_size", { required: false }) page_size: number = 100, @QueryParam("selfservice_links", { required: false }) selfservice_links: boolean = false) {
async getAll(@QueryParam("page", { required: false }) page: number, @QueryParam("page_size", { required: false }) page_size: number = 100, @QueryParam("created_via", { required: false }) created_via: string = "all", @QueryParam("selfservice_links", { required: false }) selfservice_links: boolean = false) {
let responseRunners: ResponseRunner[] = new Array<ResponseRunner>();
let runners: Array<Runner>;
@ -41,7 +41,13 @@ export class RunnerController {
}
runners.forEach(runner => {
responseRunners.push(new ResponseRunner(runner, selfservice_links));
if (created_via === "all") {
responseRunners.push(new ResponseRunner(runner, selfservice_links));
} else {
if (runner.created_via === created_via) {
responseRunners.push(new ResponseRunner(runner, selfservice_links));
}
}
});
return responseRunners;
}