feat: series API — тематические подборки статей

- БД: таблица series (slug, title, intro, icon, color, article_ids JSONB, is_featured, sort_order)
- routes/series.js: CRUD серий, GET /:slug возвращает серию вместе со статьями (через JOIN по array_position для сохранения порядка)
- Индекс idx_series_slug
This commit is contained in:
Alexey Pavlov
2026-05-31 10:10:18 +03:00
parent bc2d311e59
commit 116f15bf21
3 changed files with 118 additions and 0 deletions
+2
View File
@@ -9,6 +9,7 @@ const postsRoutes = require('./src/routes/posts');
const articlesRoutes = require('./src/routes/articles');
const statsRoutes = require('./src/routes/stats');
const notesRoutes = require('./src/routes/notes');
const seriesRoutes = require('./src/routes/series');
// Start queue worker
require('./src/workers/generation');
@@ -40,6 +41,7 @@ app.use('/api/posts', postsRoutes);
app.use('/api/articles', articlesRoutes);
app.use('/api/stats', statsRoutes);
app.use('/api/notes', notesRoutes);
app.use('/api/series', seriesRoutes);
app.get('/health', (req, res) => {
res.json({ ok: true, service: 'zeropost-engine', time: new Date() });