Scanner: Altersfenster "älter als / jünger als" (Tage)

Ersetzt die feste Auswahl bis/über 21 Tage durch zwei freie Felder,
einzeln oder kombiniert (z. B. älter 14, jünger 30). API: olderThan,
youngerThan; age=recent|old bleibt für Altaufrufe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
schakal00783
2026-09-29 17:34:59 +02:00
co-authored by Claude Opus 5.5
parent 651ad2b954
commit 1e273ddd92
4 changed files with 54 additions and 17 deletions
+15
View File
@@ -251,6 +251,21 @@ router.get('/matches', async (req, res, next) => {
);
params.push(AGE_DAYS);
}
/*
* Freies Altersfenster in Tagen: `olderThan` = mindestens so alt,
* `youngerThan` = hoechstens so alt (z. B. aelter 14, juenger 30).
* Beide optional und mit `age` kombinierbar.
*/
const olderThan = Number(req.query.olderThan);
if (Number.isFinite(olderThan) && olderThan > 0) {
where.push('j.published_at < NOW() - INTERVAL ? DAY');
params.push(Math.round(olderThan));
}
const youngerThan = Number(req.query.youngerThan);
if (Number.isFinite(youngerThan) && youngerThan > 0) {
where.push('j.published_at >= NOW() - INTERVAL ? DAY');
params.push(Math.round(youngerThan));
}
if (req.query.alarm === '1') where.push('m.alarm = 1');
/*