From 2555260e4893e891162204be10df1e5ed9cc8f75 Mon Sep 17 00:00:00 2001 From: Calum Wilson Date: Thu, 21 Mar 2024 20:30:55 +1000 Subject: [PATCH] updates to APIs --- src/constants.js | 2 +- src/getUserRankV1.js | 119 +++++++++++++++++++++++++++++-------------- 2 files changed, 81 insertions(+), 40 deletions(-) diff --git a/src/constants.js b/src/constants.js index 8e8f9b1..fbe8e36 100644 --- a/src/constants.js +++ b/src/constants.js @@ -16,7 +16,7 @@ export const UBI_SANDBOXES = [ ]; export const UBI_SPACEIDS = [ - // { id: 'uplay', value: '5172a557-50b5-4665-b7db-e3f2e8c5041d' }, + { id: 'rankedUplay', value: '5172a557-50b5-4665-b7db-e3f2e8c5041d' }, { id: 'uplay', value: '0d2ae42d-4c27-4cb7-af6c-2099062302bb' }, { id: 'psn', value: '05bfb3f7-6c21-4c42-be1f-97a33fb5cf66' }, { id: 'xbl', value: '98a601e5-ca91-4440-b1c5-753f601a2c90' }, diff --git a/src/getUserRankV1.js b/src/getUserRankV1.js index 7a408bb..0a3ad7b 100644 --- a/src/getUserRankV1.js +++ b/src/getUserRankV1.js @@ -9,7 +9,6 @@ import { regionIdCheck, } from './constants.js'; import { getAuth } from './auth.js'; -import { UserRankDtoV1 } from './constants.js'; const getUserRankV1 = async (platform, boardId, regionId, seasons, profileId) => { const token = await getAuth(); @@ -20,8 +19,10 @@ const getUserRankV1 = async (platform, boardId, regionId, seasons, profileId) => 'Content-Type': 'application/json', }; + var spaceId = platform === 'uplay' ? 'rankedUplay' : platform; + var sandbox = await sandboxCheck(platform); - var space = await spaceIdCheck(platform); + var space = await spaceIdCheck(spaceId); var board = await boardIdCheck(boardId); var region = await regionIdCheck(regionId); @@ -34,43 +35,83 @@ const getUserRankV1 = async (platform, boardId, regionId, seasons, profileId) => const data = await response.json(); - const test = data.seasons_player_skill_records.flatMap(season => { - return season.regions_player_skill_records.flatMap(region => { - return region.boards_player_skill_records.flatMap(board => { - return board.players_skill_records.flatMap(player => { - return new UserRankDtoV1( - player.max_mmr, - player.skill_mean, - player.deaths, - player.profile_id, - player.next_rank_mmr, - player.rank, - player.max_rank, - player.board_id, - player.skill_stdev, - player.kills, - player.last_match_skill_stdev_change, - player.past_seasons_wins, - player.update_time, - player.last_match_mmr_change, - player.abandons, - player.season, - player.past_seasons_losses, - player.top_rank_position, - player.last_match_skill_mean_change, - player.mmr, - player.previous_rank_mmr, - player.last_match_result, - player.past_seasons_abandons, - player.wins, - player.region, - player.losses - ); - }); - }); - }); - }); - return data; + return extractValues(data); }; +function extractValues(data) { + const { + season_id, + regions_player_skill_records: [ + { + region_id, + boards_player_skill_records: [ + { + board_id, + players_skill_records: [ + { + max_mmr, + skill_mean, + deaths, + profile_id, + next_rank_mmr, + rank, + max_rank, + skill_stdev, + kills, + last_match_skill_stdev_change, + past_seasons_wins, + update_time, + last_match_mmr_change, + abandons, + season, + past_seasons_losses, + top_rank_position, + last_match_skill_mean_change, + mmr, + previous_rank_mmr, + last_match_result, + past_seasons_abandons, + wins, + region: player_region, + losses, + }, + ], + }, + ], + }, + ], + } = data.seasons_player_skill_records[0]; + + return { + season_id, + region_id, + board_id, + profile_id, + max_mmr, + skill_mean, + deaths, + next_rank_mmr, + rank, + max_rank, + skill_stdev, + kills, + last_match_skill_stdev_change, + past_seasons_wins, + update_time, + last_match_mmr_change, + abandons, + season, + past_seasons_losses, + top_rank_position, + last_match_skill_mean_change, + mmr, + previous_rank_mmr, + last_match_result, + past_seasons_abandons, + wins, + region: player_region, + losses, + }; +} + export default getUserRankV1;