diff --git a/src/app/api/ratings-info/[region]/route.ts b/src/app/api/ratings-info/[region]/route.ts deleted file mode 100644 index dcb0bb87f..000000000 --- a/src/app/api/ratings-info/[region]/route.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { NextResponse } from 'next/server'; -import { Region } from '../../../../constants/regions'; -import getRatingsInfo from '../../../../core/blitz/getRatingsInfo'; - -export async function GET( - request: Request, - { params }: { params: { region: Region } }, -) { - return NextResponse.json(await getRatingsInfo(params.region)); -} diff --git a/src/app/api/tank-averages/route.ts b/src/app/api/tank-averages/route.ts deleted file mode 100644 index 7f5ab96bf..000000000 --- a/src/app/api/tank-averages/route.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { NextResponse } from 'next/server'; -import { tankAverages } from '../../../core/blitzstars/tankAverages'; - -export async function GET() { - return NextResponse.json(await tankAverages); -} diff --git a/src/app/api/tankopedia/route.ts b/src/app/api/tankopedia/route.ts deleted file mode 100644 index 1ee08729c..000000000 --- a/src/app/api/tankopedia/route.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { NextResponse } from 'next/server'; -import { tankopedia } from '../../../core/blitzstars/tankopedia'; - -export async function GET() { - return NextResponse.json(await tankopedia); -} diff --git a/src/app/tools/ratings/page.tsx b/src/app/tools/ratings/page.tsx index b762a0a41..349db2d4a 100644 --- a/src/app/tools/ratings/page.tsx +++ b/src/app/tools/ratings/page.tsx @@ -28,7 +28,7 @@ export default function Page() { (async () => { const [newRatingsInfo, newLatestArchivedSeasonNumber] = await Promise.all( [getRatingsInfo(ratings.region), getLatestArchivedSeasonNumber()], - ); + ); setRatingsInfo(newRatingsInfo); setLatestArchivedSeasonNumber(newLatestArchivedSeasonNumber); diff --git a/src/core/blitz/getRatingsInfo.ts b/src/core/blitz/getRatingsInfo.ts index 5527ab044..8ff7d4087 100644 --- a/src/core/blitz/getRatingsInfo.ts +++ b/src/core/blitz/getRatingsInfo.ts @@ -1,15 +1,18 @@ import { RatingsInfo } from '../../commands/ratings'; import { Region } from '../../constants/regions'; import { context } from '../blitzkrieg/context'; +import { withCORSProxy } from '../blitzkrieg/withCORSProxy'; import regionToRegionSubdomain from './regionToRegionSubdomain'; export default async function getRatingsInfo(region: Region) { const response = await fetch( - context === 'bot' - ? `https://${regionToRegionSubdomain( - region, - )}.wotblitz.com/en/api/rating-leaderboards/season/` - : `/api/ratings-info/${region}`, + withCORSProxy( + context === 'bot' + ? `https://${regionToRegionSubdomain( + region, + )}.wotblitz.com/en/api/rating-leaderboards/season/` + : `/api/ratings/info/${region}`, + ), ); return (await response.json()) as Promise; diff --git a/src/core/blitzkrieg/withCORSProxy.ts b/src/core/blitzkrieg/withCORSProxy.ts new file mode 100644 index 000000000..d000ce271 --- /dev/null +++ b/src/core/blitzkrieg/withCORSProxy.ts @@ -0,0 +1,7 @@ +import { context } from './context'; + +export function withCORSProxy(url: string) { + return context === 'website' + ? `https://corsproxy.wotblitz.com/?${encodeURIComponent(url)}` + : url; +} diff --git a/src/core/blitzstars/tankAverages.ts b/src/core/blitzstars/tankAverages.ts index a210431c6..336bb5bcf 100644 --- a/src/core/blitzstars/tankAverages.ts +++ b/src/core/blitzstars/tankAverages.ts @@ -1,5 +1,6 @@ import { AllStats } from '../blitz/getAccountInfo'; import { context } from '../blitzkrieg/context'; +import { withCORSProxy } from '../blitzkrieg/withCORSProxy'; import { tankopedia } from './tankopedia'; export interface SpecialStats { @@ -85,9 +86,7 @@ tankopedia; export type TankAverages = Record; export const tankAverages = fetch( - context === 'bot' - ? 'https://www.blitzstars.com/api/tankaverages.json' - : '/api/tank-averages', + withCORSProxy('https://www.blitzstars.com/api/tankaverages.json'), ) .then((response) => response.json()) .then((json) => { diff --git a/src/core/blitzstars/tankopedia.ts b/src/core/blitzstars/tankopedia.ts index 9c00d6d2b..f918ff7d4 100644 --- a/src/core/blitzstars/tankopedia.ts +++ b/src/core/blitzstars/tankopedia.ts @@ -1,5 +1,6 @@ import { deburr } from 'lodash'; import { context } from '../blitzkrieg/context'; +import { withCORSProxy } from '../blitzkrieg/withCORSProxy'; export interface TankopediaEntry { name: string; @@ -18,9 +19,7 @@ export interface Tankopedia { } export const tankopedia = fetch( - context === 'bot' - ? 'https://www.blitzstars.com/bs-tankopedia.json' - : '/api/tankopedia', + withCORSProxy('https://www.blitzstars.com/bs-tankopedia.json'), ) .then(async (response) => response.json()) .then((wrapperTankopedia) =>