From 858dd0b0bb6573d0a69d7d2bef765074cea67572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=BC=E3=83=BC=E3=83=AC?= Date: Sun, 11 May 2025 22:06:45 +0500 Subject: [PATCH] Update release.js --- api/v1/src/release.js | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/api/v1/src/release.js b/api/v1/src/release.js index 2651753..34c24ed 100644 --- a/api/v1/src/release.js +++ b/api/v1/src/release.js @@ -1,12 +1,43 @@ const axios = require('axios'); -// Простой парсер релиза Anixart +// Кэш кастомных заметок +let cachedNotes = []; + +// Функция для загрузки заметок из внешнего API +async function fetchNotes() { + try { + const response = await axios.get('https://anixart.seele.su/api/release_note'); + cachedNotes = Array.isArray(response.data) ? response.data : []; + } catch { + cachedNotes = []; + } +} + +// Загружаем заметки сразу при запуске +fetchNotes(); + +// Обновляем заметки каждые 10 минут +setInterval(fetchNotes, 10 * 60 * 1000); + +// Основная функция-парсер async function getReleaseFromAnixart(releaseId, token = '') { const url = `https://api.anixart.tv/release/${releaseId}${token ? `?token=${token}` : ''}`; try { const response = await axios.get(url); - return response.data; + const releaseData = response.data; + + if (!releaseData.release) { + releaseData.release = {}; + } + + // Применяем кастомный note, если он есть + const noteEntry = cachedNotes.find(entry => entry.id === Number(releaseId)); + if (noteEntry) { + releaseData.release.note = noteEntry.note; + } + + return releaseData; } catch { return { code: 2,