From 333c7a0a128cb38ce1107a474fced3e840c53cc6 Mon Sep 17 00:00:00 2001 From: Dan Date: Tue, 14 Nov 2023 17:51:23 +0000 Subject: [PATCH] mini refacotr for seasons get --- server.js | 20 +++++++++++-------- .../season-standings-table.component.html | 4 ++-- src/app/models/season.ts | 2 +- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/server.js b/server.js index d8eb788..283621a 100644 --- a/server.js +++ b/server.js @@ -139,24 +139,28 @@ app.get('/api/seasons/:id', async (req, res) => { const seasonDetails = await Season.findOne({_id: id}); const seasonRaceDetails = await Race.find({season: id}); for (let i = 0; i < seasonRaceDetails.length; i++) { - let raceRecord = seasonRaceDetails[i]; - let modableRace = remapRaceInfo(raceRecord); + let seasonRace = seasonRaceDetails[i]; + let modableRace = remapRaceInfo(seasonRace); const fastestTimesMap = new Map(); - const raceResults = await RaceResult.find('racer', { 'race._id': raceRecord._id }); + const raceResults = await RaceResult.find({race: seasonRace._id}); raceResults.forEach(result => { const racerId = result.racer._id; - const timeInSeconds = result.timeInSeconds; + const timeInMilliseconds = result.timeInMilliseconds; - if (!fastestTimesMap.has(racerId) || timeInSeconds < fastestTimesMap.get(racerId)) { - fastestTimesMap.set(racerId, timeInSeconds); + if (!fastestTimesMap.has(racerId) || timeInMilliseconds < fastestTimesMap.get(racerId)) { + fastestTimesMap.set(racerId, {"racer":racer, "timeInMilliseconds":timeInMilliseconds}); } }); - modableRace.results = Array.from(fastestTimesMap.entries()).map(([racerId, timeInSeconds]) => ({ + fastestTimesMap.forEach((values, key) =>{ + modableRace.results.push({"racer":values.racer, "timeInMilliseconds":values.timeInMilliseconds, "position":0}) + }) + + modableRace.results = Array.from(fastestTimesMap.entries()).map(([racerId, timeInMilliseconds]) => ({ racerId, - timeInSeconds + timeInMilliseconds })); // This is wrong it will get only the racers the in last race it processes. diff --git a/src/app/components/season-standings-table/season-standings-table.component.html b/src/app/components/season-standings-table/season-standings-table.component.html index a85b5e5..664a977 100644 --- a/src/app/components/season-standings-table/season-standings-table.component.html +++ b/src/app/components/season-standings-table/season-standings-table.component.html @@ -8,7 +8,7 @@ Name - {{element.user.realName}} + {{element.user.name}} @@ -20,7 +20,7 @@ gamerTag - {{element.user.gamerHandle}} + {{element.user.gameHandle}} diff --git a/src/app/models/season.ts b/src/app/models/season.ts index 14dcfa7..c793fc1 100644 --- a/src/app/models/season.ts +++ b/src/app/models/season.ts @@ -7,7 +7,7 @@ export interface Season { export interface BridgeUser { _id: string; - realName: string; + name: string; gameHandle: string; }