Files
blitzkit/packages/website/src/core/blitz/getRatingInfo.ts
T
2024-09-07 21:45:00 -05:00

26 lines
801 B
TypeScript

import { Region } from '@blitzkit/core';
import { RatingInfo } from '../../../../bot/src/commands/ratingLeaderboard';
import { context } from '../blitzkit/context';
import { patientFetch } from '../blitzkit/patientFetch';
import regionToRegionSubdomain from './regionToRegionSubdomain';
const cache: Partial<Record<Region, RatingInfo>> = {};
export default async function getRatingInfo(region: Region) {
if (cache[region]) return cache[region]!;
const response = await patientFetch(
context === 'website'
? `/api/${region}/rating/current/info`
: `https://${regionToRegionSubdomain(
region,
)}.wotblitz.com/en/api/rating-leaderboards/season/`,
undefined,
);
const data = (await response.json()) as RatingInfo;
cache[region] = data;
return data;
}