From 1ea88b9f3d4299e96fa987b7f43e63b2797e56af Mon Sep 17 00:00:00 2001 From: L4168 <L4168@student.jamk.fi> Date: Mon, 22 Jul 2019 15:51:56 +0300 Subject: [PATCH] format data for group cluster --- src/tracking/tracking.service.ts | 44 ++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/src/tracking/tracking.service.ts b/src/tracking/tracking.service.ts index c40d5f7..769ae24 100644 --- a/src/tracking/tracking.service.ts +++ b/src/tracking/tracking.service.ts @@ -77,28 +77,46 @@ export class TrackingService { let factions = await this.factionRepository.find({ game: gameId }); playerdata = await Promise.all( factions.map(async faction => { - return await this.trackingrepository.find({ + let rawdata = await this.trackingrepository.find({ where: { faction: faction.factionId }, relations: ['faction', 'gamepersonId'], }); + let groups = { + 'infantry.svg': [], + 'recon.svg': [], + 'mechanized.svg': [], + }; + rawdata.forEach(async player => { + groups[player.icon].push(player); + }); + return groups; }), ); } // parse data + // create an array for each faction + // inside faction create an array for each icon type + // insisde icon arrays include all players with same icon const currentdata = await Promise.all( await playerdata.map(async faction => { - return await Promise.all( - faction.map(async player => { - return await { - gamepersonId: player['gamepersonId']['gamepersonId'], - gamepersonRole: player['gamepersonId']['role'], - factionId: player['faction']['factionId'], - factionColour: player['faction']['colour'], - icon: player['icon'], - coordinates: player['data'].pop(), - }; - }), - ); + let data = []; + for (let group in faction) { + data.push( + await Promise.all( + faction[group].map(async player => { + return await { + gamepersonId: player['gamepersonId']['gamepersonId'], + gamepersonRole: player['gamepersonId']['role'], + factionId: player['faction']['factionId'], + factionColour: player['faction']['colour'], + icon: player['icon'], + coordinates: player['data'].pop(), + }; + }), + ), + ); + } + return data; }), ); return currentdata; -- GitLab