diff --git a/src/pages/api/extension/episode/[releaseId].ts b/src/pages/api/extension/episode/[releaseId].ts index 267694b..451fcd1 100644 --- a/src/pages/api/extension/episode/[releaseId].ts +++ b/src/pages/api/extension/episode/[releaseId].ts @@ -22,40 +22,47 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) const seeleAPI = `https://cloud.seele.su/episode/${releaseId}.json`; try { + // Попробуем получить данные от Anixart const anixartRes = await axios.get(anixartAPI); let modifyedData = modifyData(anixartRes.data); + // Если данных нет, переходим к Seele API if (!modifyedData.types || modifyedData.types.length === 0) { - const seeleRes = await axios.get(seeleAPI); - modifyedData = modifyData(seeleRes.data); + try { + const seeleRes = await axios.get(seeleAPI); + modifyedData = modifyData(seeleRes.data); - if (!modifyedData.types || modifyedData.types.length === 0) { - // Если ни Anixart, ни Seele API не вернули данные - return res.json({ - code: 0, - types: [ - { - '@id': 1, - id: 1, - name: 'Это аниме недоступно!', - icon: null, - workers: 'Это аниме было полностью удалено серверов Anixart или изначально не было там.', - is_sub: false, - episodes_count: 0, - view_count: 0, - pinned: false - } - ] - }); - } else { - return res.json({ is_blocked: true, ...modifyedData }); + // Если и Seele API не вернула данных, возвращаем кастомный ответ + if (!modifyedData.types || modifyedData.types.length === 0) { + return res.json({ + code: 0, + types: [ + { + '@id': 1, + id: 1, + name: 'Это аниме недоступно!', + icon: null, + workers: 'Это аниме было полностью удалено с серверов anixart или вообще не было там изначально!', + is_sub: false, + episodes_count: 0, + view_count: 0, + pinned: false + } + ] + }); + } else { + return res.json({ is_blocked: true, ...modifyedData }); + } + } catch (seeleError) { + console.error('Error fetching data from Seele API:', seeleError); + return res.status(500).json({ message: 'Error fetching data from Seele API' }); } } else { return res.json(modifyedData); } - } catch (error) { - console.error('Error fetching data from Anixart or Seele API:', error); - res.status(500).json({ message: 'Internal Server Error' }); + } catch (anixartError) { + console.error('Error fetching data from Anixart API:', anixartError); + return res.status(500).json({ message: 'Error fetching data from Anixart API' }); } }