feat(sources): PDF-Upload als neuer Quellentyp pdf_document

- POST /api/sources/global/upload-pdf: multipart File-Upload,
  50 MB Limit, SHA256-Dedup, speichert PDF unter <dirname(DB)>/pdfs/{sha}.pdf,
  legt Source mit processed_at=NULL an (Monitor verarbeitet asynchron)
- pattern in GlobalSourceUpdate um pdf_document erweitert (2x)
- dashboard.html: Button + Modal im Grundquellen-Sub-Tab
- sources.js: openPdfUploadModal + setupPdfUploadForm + FormData-Submit
- app.js: API.upload(path, formData) Helper fuer multipart
- requirements.txt: pypdf (Validierung optional)
Dieser Commit ist enthalten in:
claude-dev
2026-05-16 23:21:56 +00:00
Ursprung d3e5fa7079
Commit 27afce7c9e
5 geänderte Dateien mit 261 neuen und 4 gelöschten Zeilen

Datei anzeigen

@@ -7,3 +7,5 @@ python-multipart
aiosmtplib
httpx>=0.28
feedparser>=6.0
# PDF-Upload-Validierung
pypdf>=5.0