diff --git a/api/v1/src/release.ts b/api/v1/src/release.ts
index 6a8c6d0..9ecab4f 100644
--- a/api/v1/src/release.ts
+++ b/api/v1/src/release.ts
@@ -5,6 +5,7 @@ const baseHeaders = {
"Accept": "application/json",
};
+// Получение информации с Shikimori
async function getShikimoriData(search, year) {
if (!search) {
return { score: "N/A", characters: [] };
@@ -42,6 +43,26 @@ async function getShikimoriData(search, year) {
}
}
+// Получение рейтинга с MyAnimeList (через Jikan)
+async function getMALScore(title) {
+ const url = `https://api.jikan.moe/v4/anime?q=${encodeURIComponent(title)}&limit=1`;
+
+ try {
+ const response = await fetch(url);
+ const data = await response.json();
+ const anime = data?.data?.[0];
+
+ if (!anime || !anime.score) {
+ return "N/A";
+ }
+
+ return `${anime.score}★`;
+ } catch {
+ return "N/A";
+ }
+}
+
+// Получение релиза и формирование итоговой заметки
async function getReleaseFromAnixart(releaseId, token = "") {
const url = `https://api.anixart.tv/release/${releaseId}${token ? `?token=${token}` : ""}`;
@@ -60,14 +81,22 @@ async function getReleaseFromAnixart(releaseId, token = "") {
try {
const shikiData = await getShikimoriData(title, year);
- const score = shikiData.score || "N/A";
+ const shikiScore = shikiData.score || "N/A";
const characters = shikiData.characters.length
? shikiData.characters.map((c) => `${c.name}`).join(", ")
: "N/A";
- noteExtra = `Рейтинг Shikimori: ${score}★
Главные персонажи: ${characters}
`;
+ const malScore = await getMALScore(title);
+
+ noteExtra =
+ `Рейтинг Shikimori: ${shikiScore}
` +
+ `Рейтинг MyAnimeList: ${malScore}
` +
+ `Главные персонажи: ${characters}
`;
} catch {
- noteExtra = `Рейтинг Shikimori: N/A
Главные персонажи: N/A
`;
+ noteExtra =
+ `Рейтинг Shikimori: N/A
` +
+ `Рейтинг MyAnimeList: N/A
` +
+ `Главные персонажи: N/A
`;
}
const originalNote = release.note?.trim();
@@ -84,12 +113,13 @@ async function getReleaseFromAnixart(releaseId, token = "") {
}
}
+// Серверный эндпоинт
serve(async (req) => {
const url = new URL(req.url);
const path = url.pathname;
const token = url.searchParams.get("token");
- // Эндпоинт: /api/release/{releaseId}
+ // /api/release/{releaseId}
const releaseMatch = path.match(/^\/api\/release\/([^\/]+)/);
if (releaseMatch) {
const releaseId = releaseMatch[1];