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}`); });