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,