diff --git a/src/index.js b/src/index.js index 09653c7..b66d902 100644 --- a/src/index.js +++ b/src/index.js @@ -67,7 +67,7 @@ migrate() // Automatische Wort-Kategorisierung (Message Batches API): kurz nach Boot + stündlich. // Submit/Collect-Ticks, entkoppelt von generate-words und Publish. const { runCategorizationTick } = require('./lib/classifyWords'); - const { runEnrichTick, enrichWordsSync } = require('./lib/enrichWords'); + const { runEnrichTick } = require('./lib/enrichWords'); const HOUR = 60 * 60 * 1000; const tick = () => runCategorizationTick().catch(err => console.error('Auto-Kategorisierung:', err.message)); const enrichTick = () => runEnrichTick().catch(err => console.error('Auto-Anreicherung:', err.message)); @@ -75,19 +75,5 @@ migrate() setTimeout(enrichTick, 60_000); setInterval(tick, HOUR); setInterval(enrichTick, HOUR); - - // Manueller Trigger: POST /api/words/enrich-batch - app.post('/api/words/enrich-batch', auth, async (req, res, next) => { - try { - const sync = req.query.sync === 'true'; - if (sync) { - const max = parseInt(req.query.max) || 500; - const result = await enrichWordsSync({ max }); - return res.json(result); - } - const result = await runEnrichTick(); - res.json(result); - } catch (err) { next(err); } - }); }) .catch(err => { console.error('Migration failed:', err); process.exit(1); }); diff --git a/src/routes/words.js b/src/routes/words.js index 9fe041b..3326d11 100644 --- a/src/routes/words.js +++ b/src/routes/words.js @@ -1,5 +1,6 @@ const router = require('express').Router(); const { query } = require('../db'); +const { runEnrichTick, enrichWordsSync } = require('../lib/enrichWords'); const STATUSES = ['requested', 'translated', 'generated', 'blocked', 'published']; @@ -9,6 +10,18 @@ const STATUS_TIMESTAMP = { blocked: 'blocked_at', }; +// POST /api/words/enrich-batch — manueller Trigger für Wort-Anreicherung +router.post('/enrich-batch', async (req, res, next) => { + try { + const sync = req.query.sync === 'true'; + if (sync) { + const max = parseInt(req.query.max) || 500; + return res.json(await enrichWordsSync({ max })); + } + res.json(await runEnrichTick()); + } catch (err) { next(err); } +}); + // GET /api/words router.get('/', async (req, res, next) => { try {