Update [releaseId].ts

This commit is contained in:
2024-10-13 21:32:34 +05:00
committed by GitHub
parent 3a07778223
commit b64cd5ab77

View File

@@ -22,67 +22,40 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
const seeleAPI = `https://cloud.seele.su/episode/${releaseId}.json`; const seeleAPI = `https://cloud.seele.su/episode/${releaseId}.json`;
try { try {
// Попробуем получить данные от Anixart
const anixartRes = await axios.get<EpisodeResponse>(anixartAPI); const anixartRes = await axios.get<EpisodeResponse>(anixartAPI);
let modifyedData = modifyData(anixartRes.data); let modifyedData = modifyData(anixartRes.data);
// Если данных нет, переходим к Seele API
if (!modifyedData.types || modifyedData.types.length === 0) { if (!modifyedData.types || modifyedData.types.length === 0) {
try { const seeleRes = await axios.get<EpisodeResponse>(seeleAPI);
const seeleRes = await axios.get<EpisodeResponse>(seeleAPI); modifyedData = modifyData(seeleRes.data);
// Проверяем, есть ли данные от Seele API if (!modifyedData.types || modifyedData.types.length === 0) {
modifyedData = modifyData(seeleRes.data); // Если ни Anixart, ни Seele API не вернули данные
if (!modifyedData.types || modifyedData.types.length === 0) { return res.json({
return res.json({ code: 0,
code: 0, types: [
types: [ {
{ '@id': 1,
'@id': 1, id: 1,
id: 1, name: 'Это аниме недоступно!',
name: 'Это аниме недоступно!', icon: null,
icon: null, workers: 'Это аниме было полностью удалено с серверов anixart или вообще не было там изначально!',
workers: 'Это аниме было полностью удалено с серверов anixart или вообще не было там изначально!', is_sub: false,
is_sub: false, episodes_count: 0,
episodes_count: 0, view_count: 0,
view_count: 0, pinned: false
pinned: false }
} ]
] });
}); } else {
} else { return res.json({ is_blocked: true, ...modifyedData });
return res.json({ is_blocked: true, ...modifyedData });
}
} catch (seeleError) {
// Если Seele API вернул 404, обрабатываем это
if (seeleError.response && seeleError.response.status === 404) {
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 {
console.error('Error fetching data from Seele API:', seeleError);
return res.status(500).json({ message: 'Error fetching data from Seele API' });
}
} }
} else { } else {
return res.json(modifyedData); return res.json(modifyedData);
} }
} catch (anixartError) { } catch (error) {
console.error('Error fetching data from Anixart API:', anixartError); console.error('Error fetching data from Anixart or Seele API:', error);
return res.status(500).json({ message: 'Error fetching data from Anixart API' }); res.status(500).json({ message: 'Internal Server Error' });
} }
} }