mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-23 19:49:50 +02:00
fix: archived season number
This commit is contained in:
1 parent
3f264d6a49
commit
90ee71c9ca
1 file changed
+24
-11
@@ -1,17 +1,28 @@
|
|||||||
import getRatingsInfo from '../blitz/getRatingsInfo';
|
import getRatingsInfo from '../blitz/getRatingsInfo';
|
||||||
|
|
||||||
|
interface GitHubTrees {
|
||||||
|
tree: { path: string; url: string }[];
|
||||||
|
}
|
||||||
|
|
||||||
let cachedLatestArchivedSeasonNumber: number | null = null;
|
let cachedLatestArchivedSeasonNumber: number | null = null;
|
||||||
|
|
||||||
export async function getArchivedLatestSeasonNumber() {
|
export async function getArchivedLatestSeasonNumber() {
|
||||||
|
if (cachedLatestArchivedSeasonNumber !== null) {
|
||||||
|
return cachedLatestArchivedSeasonNumber;
|
||||||
|
}
|
||||||
|
|
||||||
const ratingsInfo = await getRatingsInfo('com');
|
const ratingsInfo = await getRatingsInfo('com');
|
||||||
|
|
||||||
if (ratingsInfo.detail) {
|
if (ratingsInfo.detail) {
|
||||||
const comURL = (
|
const regionsURL = (
|
||||||
(await fetch(
|
(await fetch(
|
||||||
'https://api.github.com/repos/tresabhi/blitzkrieg-assets/git/trees/main/regions',
|
'https://api.github.com/repos/tresabhi/blitzkrieg-assets/git/trees/main',
|
||||||
).then((response) => response.json())) as {
|
).then((response) => response.json())) as GitHubTrees
|
||||||
tree: { path: string; url: string }[];
|
).tree.find(({ path }) => path === 'regions')!.url;
|
||||||
}
|
const comURL = (
|
||||||
|
(await fetch(regionsURL).then((response) =>
|
||||||
|
response.json(),
|
||||||
|
)) as GitHubTrees
|
||||||
).tree.find(({ path }) => path === 'com')!.url;
|
).tree.find(({ path }) => path === 'com')!.url;
|
||||||
const ratingsURL = (
|
const ratingsURL = (
|
||||||
(await fetch(comURL).then((response) => response.json())) as {
|
(await fetch(comURL).then((response) => response.json())) as {
|
||||||
@@ -20,14 +31,16 @@ export async function getArchivedLatestSeasonNumber() {
|
|||||||
).tree[0].url;
|
).tree[0].url;
|
||||||
const latestSeason = Math.max(
|
const latestSeason = Math.max(
|
||||||
...(
|
...(
|
||||||
(await fetch(ratingsURL).then((response) => {
|
(await fetch(ratingsURL).then((response) => response.json())) as {
|
||||||
response.json();
|
tree: { path: string }[];
|
||||||
})) as { tree: { path: string }[] }
|
}
|
||||||
).tree.map(({ path }) => parseInt(path)),
|
).tree.map(({ path }) => Number(path)),
|
||||||
);
|
);
|
||||||
|
|
||||||
return latestSeason;
|
cachedLatestArchivedSeasonNumber = latestSeason;
|
||||||
} else {
|
} else {
|
||||||
return ratingsInfo.current_season - 1;
|
cachedLatestArchivedSeasonNumber = ratingsInfo.current_season - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return cachedLatestArchivedSeasonNumber;
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user