Files
anixart-extension/api/v1/src/release.js
2025-05-11 22:06:45 +05:00

50 lines
1.3 KiB
JavaScript

const axios = require('axios');
// Кэш кастомных заметок
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);
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,
release: null,
};
}
}
module.exports = { getReleaseFromAnixart };