From dd48ee2f7edd38af803f735567e1aadeeb7c655d Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 30 Dec 2020 15:07:13 +0100 Subject: [PATCH] Added ResponseSchemas and fixed donation resolution bug ref #56 --- src/controllers/StatsController.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/controllers/StatsController.ts b/src/controllers/StatsController.ts index ef4d508..bab4560 100644 --- a/src/controllers/StatsController.ts +++ b/src/controllers/StatsController.ts @@ -41,7 +41,7 @@ export class StatsController { @ResponseSchema(ResponseStatsRunner, { isArray: true }) @OpenAPI({ description: "Returns the top ten runners by distance.", security: [{ "StatsApiToken": [] }] }) async getTopRunnersByDistance() { - let runners = await getConnection().getRepository(Runner).find({ relations: ['scans', 'group'] }); + let runners = await getConnection().getRepository(Runner).find({ relations: ['scans', 'group', 'distanceDonations'] }); let topRunners = runners.sort((runner1, runner2) => runner1.distance - runner2.distance).slice(0, 9); let responseRunners: ResponseStatsRunner[] = new Array(); topRunners.forEach(runner => { @@ -55,7 +55,7 @@ export class StatsController { @ResponseSchema(ResponseStatsRunner, { isArray: true }) @OpenAPI({ description: "Returns the top ten runners by donations.", security: [{ "StatsApiToken": [] }] }) async getTopRunnersByDonations() { - let runners = await getConnection().getRepository(Runner).find({ relations: ["scans", "distanceDonations", 'group'] }); + let runners = await getConnection().getRepository(Runner).find({ relations: ['scans', 'group', 'distanceDonations'] }); let topRunners = runners.sort((runner1, runner2) => runner1.distanceDonationAmount - runner2.distanceDonationAmount).slice(0, 9); let responseRunners: ResponseStatsRunner[] = new Array(); topRunners.forEach(runner => { @@ -66,6 +66,7 @@ export class StatsController { @Get("/teams/distance") @UseBefore(StatsAuth) + @ResponseSchema(ResponseStatsTeam, { isArray: true }) @OpenAPI({ description: "Returns the top ten teams by distance.", security: [{ "StatsApiToken": [] }] }) async getTopTeamsByDistance() { let teams = await getConnection().getRepository(RunnerTeam).find({ relations: ["runners", "runners.scans"] }); @@ -79,6 +80,7 @@ export class StatsController { @Get("/teams/donations") @UseBefore(StatsAuth) + @ResponseSchema(ResponseStatsTeam, { isArray: true }) @OpenAPI({ description: "Returns the top ten teams by donations.", security: [{ "StatsApiToken": [] }] }) async getTopTeamsByDonations() { let teams = await getConnection().getRepository(RunnerTeam).find({ relations: ["runners", "runners.scans", "runners.distanceDonations"] });