diff --git a/api/v1/src/shikimori-proxy.ts b/api/v1/src/shikimori-proxy.ts
deleted file mode 100644
index bdf80f3..0000000
--- a/api/v1/src/shikimori-proxy.ts
+++ /dev/null
@@ -1,106 +0,0 @@
-import { serve } from "https://deno.land/std@0.140.0/http/server.ts";
-
-const baseHeaders = {
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
- "Accept": "application/json",
-};
-
-async function getShikimoriData(search, year) {
- if (!search) {
- return { score: "N/A", characters: [] };
- }
-
- const animeUrl = `https://shikimori.one/api/animes?search=${encodeURIComponent(search)}&limit=1${year ? `&year=${year}` : ""}`;
-
- try {
- const animeRes = await fetch(animeUrl, { headers: baseHeaders });
- const animeData = await animeRes.json();
- const anime = animeData?.[0];
-
- if (!anime || !anime.id) {
- return { score: "N/A", characters: [] };
- }
-
- const rolesUrl = `https://shikimori.one/api/animes/${anime.id}/roles`;
- const rolesRes = await fetch(rolesUrl, { headers: baseHeaders });
- const roles = await rolesRes.json();
-
- const mainCharacters = roles
- .filter((c) => c.roles.includes("Main"))
- .slice(0, 5)
- .map((c) => ({
- name: c.character.russian,
- url: `https://shikimori.one${c.character.url}`,
- }));
-
- return {
- score: anime.score || "N/A",
- characters: mainCharacters,
- };
- } catch {
- return { score: "N/A", characters: [] };
- }
-}
-
-async function getReleaseFromAnixart(releaseId, token = "") {
- const url = `https://api.anixart.tv/release/${releaseId}${token ? `?token=${token}` : ""}`;
-
- try {
- const response = await fetch(url, { headers: baseHeaders });
- const data = await response.json();
- const release = data?.release;
-
- if (!release) {
- return { code: 2, release: null };
- }
-
- const title = release.title_original || release.title_ru || "";
- const year = release.year || "";
- let noteExtra = "";
-
- try {
- const shikiData = await getShikimoriData(title, year);
- const score = shikiData.score || "N/A";
- const characters = shikiData.characters.length
- ? shikiData.characters.map((c) => `${c.name}`).join(", ")
- : "N/A";
-
- noteExtra = `Оценки из Shikimori: ${score}
Главные персонажи: ${characters}
`;
- } catch {
- noteExtra = `Оценки из Shikimori: N/A
Главные персонажи: N/A
`;
- }
-
- const originalNote = release.note?.trim();
- let finalNote = noteExtra;
- if (originalNote) {
- finalNote += `
Примечание от Anixart:
${originalNote}`;
- }
-
- release.note = finalNote;
-
- return { code: 0, release };
- } catch {
- return { code: 2, release: null };
- }
-}
-
-serve(async (req) => {
- const url = new URL(req.url);
- const path = url.pathname;
- const token = url.searchParams.get("token");
-
- // Эндпоинт: /api/release/{releaseId}
- const releaseMatch = path.match(/^\/api\/release\/([^\/]+)/);
- if (releaseMatch) {
- const releaseId = releaseMatch[1];
- const result = await getReleaseFromAnixart(releaseId, token);
- return new Response(JSON.stringify(result), {
- headers: {
- "Content-Type": "application/json",
- "Access-Control-Allow-Origin": "*",
- },
- });
- }
-
- return new Response("Invalid endpoint", { status: 404 });
-});