chore: implement mirror of osu changelog

This commit is contained in:
HorizonCode
2026-06-07 00:10:24 +02:00
parent 03b326e142
commit 0f53057897
3 changed files with 29 additions and 37 deletions
+28
View File
@@ -3,9 +3,11 @@ import type {
EZPPUserInfoResponse,
EZPPUserResponse,
EZPPUSerStatusResponse,
StreamsResult,
} from '$lib/types';
import { betterFetch } from '@better-fetch/fetch';
const VERSION_ENDPOINT = 'https://version.ez-pp.farm/';
const BANCHO_ENDPOINT = 'https://c.ez-pp.farm/';
const API_ENDPOINT = 'https://api.ez-pp.farm/';
const ENDPOINT = 'https://ez-pp.farm/';
@@ -89,4 +91,30 @@ export const ezppfarm = {
);
return request.error ? undefined : request.data;
},
latestBuildVersion: async (releaseStream: string): Promise<string | undefined> => {
const request = await betterFetch<StreamsResult>(`${VERSION_ENDPOINT}api/changelog`, {
timeout,
query: {
stream: 'none',
},
headers: {
'Content-Type': 'application/json',
'User-Agent': 'EZPPLauncher',
},
});
if (request.error) {
return undefined;
}
const releaseData = request.data;
if (!releaseData || !releaseData.streams) {
return undefined;
}
if (releaseData.streams.length === 0) return undefined;
const selectedRelease = releaseData.streams.find(
(releaseBuild) =>
releaseBuild.name.toLowerCase() === releaseStream.replaceAll(' ', '').toLowerCase()
);
if (!selectedRelease) return undefined;
return selectedRelease.latest_build.display_version;
},
};
-35
View File
@@ -1,35 +0,0 @@
import type { StreamsResult } from '$lib/types';
import { betterFetch } from '@better-fetch/fetch';
const API_ENDPOINT = 'https://osu.ppy.sh/api/';
const timeout = 5000; // 5 seconds;
export const osuapi = {
latestBuildVersion: async (releaseStream: string): Promise<string | undefined> => {
const request = await betterFetch<StreamsResult>(`${API_ENDPOINT}v2/changelog`, {
timeout,
query: {
stream: 'none',
},
headers: {
'Content-Type': 'application/json',
'User-Agent': 'EZPPLauncher',
},
});
if (request.error) {
return undefined;
}
const releaseData = request.data;
if (!releaseData || !releaseData.streams) {
return undefined;
}
if (releaseData.streams.length === 0) return undefined;
const selectedRelease = releaseData.streams.find(
(releaseBuild) =>
releaseBuild.name.toLowerCase() === releaseStream.replaceAll(' ', '').toLowerCase()
);
if (!selectedRelease) return undefined;
return selectedRelease.latest_build.display_version;
},
};
+1 -2
View File
@@ -2,7 +2,6 @@
import DefaultThemePreview from '$assets/default_preview.png';
import Logo from '$assets/logo.png';
import { ezppfarm } from '$lib/api/ezpp';
import { osuapi } from '$lib/api/osuapi';
import * as AlertDialog from '$lib/components/ui/alert-dialog';
import * as Avatar from '$lib/components/ui/avatar';
import Badge from '$lib/components/ui/badge/badge.svelte';
@@ -338,7 +337,7 @@
}
try {
const streamInfo = await osuapi.latestBuildVersion('stable40');
const streamInfo = await ezppfarm.latestBuildVersion('stable40');
if (!streamInfo) {
sileo.error({
title: 'Hmmm...',