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

118 lines
3.8 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 app = express(); // Один раз
app.use(express.json()); // Для парсинга JSON в теле запросов
// Новый методы
const { searchProfiles } = require('./src/profile-search');
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');
// Новый эндпоинты Открываем
// Эндпоинт для поиска профилей
app.post('/api/search/profiles/:page', async (req, res) => {
const { page } = req.params;
const { token } = req.query;
const { query = '', searchBy = 0 } = req.body;
try {
const data = await searchProfiles(page, query, searchBy, token);
res.json(data);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// Эндпоинт для получения 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}`);
});