93 lines
2.5 KiB
JavaScript
93 lines
2.5 KiB
JavaScript
const express = require('express');
|
||
|
||
// Новые методы
|
||
const getLoginUsers = require('./src/login');
|
||
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 app = express();
|
||
const PORT = 3000;
|
||
|
||
const router = express.Router();
|
||
|
||
// Login пользователей
|
||
router.get('/access/login', (req, res) => {
|
||
try {
|
||
const data = getLoginUsers();
|
||
res.status(200).json(data);
|
||
} catch {
|
||
res.status(200).json([]);
|
||
}
|
||
});
|
||
|
||
// Роли пользователей
|
||
router.get('/is_roles', (req, res) => {
|
||
try {
|
||
const data = getRolesUsers();
|
||
res.status(200).json(data);
|
||
} catch {
|
||
res.status(200).json([]);
|
||
}
|
||
});
|
||
|
||
// Верифицированные пользователи
|
||
router.get('/is_verified', (req, res) => {
|
||
try {
|
||
const data = getVerifiedUsers();
|
||
res.status(200).json(data);
|
||
} catch {
|
||
res.status(200).json([]);
|
||
}
|
||
});
|
||
|
||
// Профиль пользователя
|
||
router.get('/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 });
|
||
}
|
||
});
|
||
|
||
// Информация об эпизоде
|
||
router.get('/episode/:releaseId', async (req, res) => {
|
||
const { releaseId } = req.params;
|
||
const { token } = req.query;
|
||
try {
|
||
const data = await getEpisodeFromAnixart(releaseId, token);
|
||
res.json(data);
|
||
} catch (error) {
|
||
res.status(500).json({ error: error.message });
|
||
}
|
||
});
|
||
|
||
// Конфигурационный JSON
|
||
router.get('/config/toggles', async (req, res) => {
|
||
try {
|
||
const toggles = await getToggles();
|
||
res.json(toggles);
|
||
} catch (error) {
|
||
res.status(500).json({ error: error.message });
|
||
}
|
||
});
|
||
|
||
// Подключение роутера к двум путям
|
||
app.use('/api', router);
|
||
app.use('/api/v2', router);
|
||
|
||
// Обработчик для неизвестных маршрутов
|
||
app.use((req, res) => {
|
||
res.status(404).json({ error: "Страница не существует!", status: 404 });
|
||
});
|
||
|
||
// Запуск сервера
|
||
app.listen(PORT, () => {
|
||
console.log(`Сервер запущен на http://localhost:${PORT}`);
|
||
});
|