feat: editor_notes + /api/stats/live + tokens в getArticleBySlug

- БД: таблица editor_notes (title/content/author/tags/is_pinned/is_published)
- routes/notes.js: CRUD заметок редактора
- /api/stats/live: latest article, processing job, активность за 7 дней
- getArticleBySlug: JOIN с generation_jobs для tokens_in/out
This commit is contained in:
Alexey Pavlov
2026-05-31 10:05:28 +03:00
parent c7b83147f1
commit bc2d311e59
5 changed files with 161 additions and 1 deletions
+4 -1
View File
@@ -47,7 +47,10 @@ async function listArticles({ limit = 20, offset = 0, tag = null } = {}) {
async function getArticleBySlug(slug) {
const { rows } = await query(
`SELECT * FROM articles WHERE slug=$1 AND status='published'`,
`SELECT a.*, j.tokens_in, j.tokens_out
FROM articles a
LEFT JOIN generation_jobs j ON j.id = a.job_id
WHERE a.slug=$1 AND a.status='published'`,
[slug]
);
if (!rows.length) return null;