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:
co-authored by
Claude Opus 5.5
parent
651ad2b954
commit
1e273ddd92
+5
-4
@@ -4,9 +4,10 @@ Der Scanner durchsucht Jobbörsen nach offenen Stellen, die ICON besetzen kann
|
||||
Festanstellungen ebenso wie Projekte. Region immer DACH. Eingeführt am 29.09.2026.
|
||||
|
||||
Gesucht wird **ohne Altersgrenze** (Änderung vom 29.09.2026, vorher höchstens
|
||||
21 Tage): auch ältere Anzeigen kommen herein. Im Dashboard filtert
|
||||
**Anzeigenalter** nach „bis 21 Tage" bzw. „älter als 21 Tage", die Sortierung
|
||||
kennt „älteste Anzeige".
|
||||
21 Tage): auch ältere Anzeigen kommen herein. Im Dashboard grenzen die Felder
|
||||
**Älter als** und **Jünger als** (Tage) das Alter frei ein – z. B. älter 14,
|
||||
jünger 30. Leer heißt keine Grenze; Anzeigen ohne Datum fallen heraus, sobald
|
||||
eines der Felder gesetzt ist. Die Sortierung kennt „älteste Anzeige".
|
||||
|
||||
Menü: **Scanner** (Dashboard) mit dem Unterpunkt **Suchagenten**; Zeitplan und
|
||||
API-Schlüssel unter **Einstellungen → Scanner** (nur Administratoren).
|
||||
@@ -276,7 +277,7 @@ Alle unter `/api/scanner`, alle hinter `requireAuth`.
|
||||
| POST | `/agents` | alle | anlegen `{ name, keywords[], alarm_keywords[], sources[], excludes[], is_active }` – Schlagwort oder Alarm-Schlagwort Pflicht |
|
||||
| PUT | `/agents/:id` | alle | ändern (gleicher Körper) |
|
||||
| DELETE | `/agents/:id` | alle | löschen, Treffer gehen mit |
|
||||
| GET | `/matches` | alle | Filter `hours` (gefunden), `age` (`recent`/`old`, Grenze 21 Tage ab Veröffentlichung), `agentId`, `source`, `known=1`, `alarm=1`, `status` (`alle` zeigt auch Verworfene), `minScore`, `q`, `sort` (`known`/`score`/`agent`/`title`/`company`/`source`/`published`/`status`/`created`; `oldest` = `published` aufsteigend) mit `dir` (`asc`/`desc`), `limit` |
|
||||
| GET | `/matches` | alle | Filter `hours` (gefunden), `olderThan` / `youngerThan` (Tage ab Veröffentlichung, einzeln oder zusammen; `age=recent|old` = feste 21-Tage-Grenze, aus der ersten Fassung), `agentId`, `source`, `known=1`, `alarm=1`, `status` (`alle` zeigt auch Verworfene), `minScore`, `q`, `sort` (`known`/`score`/`agent`/`title`/`company`/`source`/`published`/`status`/`created`; `oldest` = `published` aufsteigend) mit `dir` (`asc`/`desc`), `limit` |
|
||||
| GET | `/alarms` | alle | unquittierte Alarm-Treffer (höchstens 50) |
|
||||
| POST | `/alarms/ack` | alle | `{ ids: [] }` – quittiert für alle Benutzer |
|
||||
| PATCH | `/matches/:id` | alle | `{ status }` |
|
||||
|
||||
Reference in New Issue
Block a user