const express = require('express'); const router = express.Router(); const { authenticate } = require('../middleware/auth'); const { getUserStatistics, getUserTopPosts } = require('../utils/statistics'); // Получить статистику своего профиля router.get('/me', authenticate, async (req, res) => { try { const stats = await getUserStatistics(req.user._id); if (!stats) { return res.status(404).json({ error: 'Статистика не найдена' }); } res.json(stats); } catch (error) { console.error('Ошибка получения статистики:', error); res.status(500).json({ error: 'Ошибка сервера' }); } }); // Получить статистику другого пользователя router.get('/user/:id', authenticate, async (req, res) => { try { const stats = await getUserStatistics(req.params.id); if (!stats) { return res.status(404).json({ error: 'Статистика не найдена' }); } res.json(stats); } catch (error) { console.error('Ошибка получения статистики:', error); res.status(500).json({ error: 'Ошибка сервера' }); } }); // Получить топ посты router.get('/top-posts/:userId', authenticate, async (req, res) => { try { const { limit = 5 } = req.query; const topPosts = await getUserTopPosts(req.params.userId, parseInt(limit)); res.json({ topPosts }); } catch (error) { console.error('Ошибка получения топ постов:', error); res.status(500).json({ error: 'Ошибка сервера' }); } }); module.exports = router;