const express = require('express'); const router = express.Router(); const stats = require('../services/channelStats'); const { query } = require('../config/db'); // POST /api/channel-stats/collect — собрать статистику (cron, раз в час) router.post('/collect', async (req, res) => { try { const results = await stats.collectAll(); res.json({ ok: true, results }); } catch (err) { res.status(500).json({ error: err.message }); } }); // GET /api/channel-stats/:channelId/summary — сводка по каналу router.get('/:channelId/summary', async (req, res) => { try { const summary = await stats.getChannelSummary(parseInt(req.params.channelId)); res.json(summary); } catch (err) { res.status(500).json({ error: err.message }); } }); // GET /api/channel-stats/:channelId/history?days=30 — история подписчиков router.get('/:channelId/history', async (req, res) => { try { const days = Math.min(parseInt(req.query.days) || 30, 365); const history = await stats.getMembersHistory(parseInt(req.params.channelId), days); res.json(history); } catch (err) { res.status(500).json({ error: err.message }); } }); module.exports = router;