Files
anixart-extension/api/v1/index.js
2025-05-03 20:44:57 +05:00

106 lines
3.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const express = require('express');
// Новый методы
const getVerifiedUsers = require('./src/is_verified');
const getRolesUsers = require('./src/is_roles');
const { getProfileFromAnixart } = require('./src/profile');
const { getEpisodeFromAnixart } = require('./src/episode');
const getToggles = require('./src/toggles');
// Старый методы
const { getOldEpisodeFromAnixart } = require('./src/old/episode-old-v1');
const configDataOld = require('./src/old/toggles-old-v1');
const app = express();
const PORT = 3000;
// Новый эндпоинты Открываем
// Эндпоинт для получения Verified
app.get('/api/is_roles', (req, res) => {
try {
const data = getRolesUsers();
res.status(200).json(data);
} catch {
res.status(200).json([]);
}
});
// Эндпоинт для получения Verified
app.get('/api/is_verified', (req, res) => {
try {
const data = getVerifiedUsers();
res.status(200).json(data);
} catch {
res.status(200).json([]);
}
});
// Эндпоинт для получения профиля
app.get('/api/profile/:profileId', async (req, res) => {
const { profileId } = req.params;
const { token } = req.query;
try {
const data = await getProfileFromAnixart(profileId, token);
res.json(data);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// Эндпоинт для получения информации об эпизоде (Новый эндпоинт)
app.get('/api/episode/:releaseId', async (req, res) => {
const { releaseId } = req.params;
const { token } = req.query; // Извлекаем token из query-параметров
try {
const data = await getEpisodeFromAnixart(releaseId, token);
res.json(data);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// Эндпоинт для конфигурационного JSON из toggles.js
app.get('/api/config/toggles', async (req, res) => {
try {
const toggles = await getToggles();
res.json(toggles);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// Новый эндпоинты Закрываем
// -------------------------
// Старый эндпоинты Открываем
// Эндпоинт для получения информации об эпизоде (Старый эндпоинт)
app.get('/api/extension/episode/:releaseId', async (req, res) => {
const { releaseId } = req.params;
try {
const data = await getOldEpisodeFromAnixart(releaseId);
res.json(data);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// Эндпоинт для конфигурационного JSON из toggles-old-1.js (Старый Toggles)
app.get('/api/extension/config/toggles', (req, res) => {
res.json(configDataOld);
});
// Старый эндпоинты Закрываем
// --------------------------
// Обработчик для всех неизвестных маршрутов
app.use((req, res) => {
res.status(404).json({ error: "Страница не существует!", status: 404 });
});
app.listen(PORT, () => {
console.log(`Сервер запущен на http://localhost:${PORT}`);
});