refactor: Paperless-Dokumentrouten unter /api/paperless/documents/:id

„inbox“ war doppelt belegt (/api/inbox = Scanner, /api/paperless/inbox =
Paperless-Posteingang) und passte nicht zur Manuell-Seite, die dieselben
Routen nutzt. Umbenannt (ohne Alias, nur das eigene Frontend nutzt sie):

  PUT  paperless/inbox/:id            → PUT  paperless/documents/:id
  GET  paperless/inbox/pdf/:id        → GET  paperless/documents/:id/pdf
  GET  paperless/inbox/preview/:id    → GET  paperless/documents/:id/preview
  GET  paperless/inbox/:id/erechnung  → GET  paperless/documents/:id/erechnung

Dabei:
- Dokumentsuche (GET documents) wieder für den Posteingang (VIEW_INBOX)
  statt nur Admin – die Verknüpfungssuche im Bearbeiten-Dialog nutzt sie;
  die Einschränkung aus dem vorigen Commit hatte sie gebrochen.
- Suche und GET documents/:id liefern nur noch id, Titel, ASN, Datum
  (kein OCR-Volltext, keine Statusfelder).
- documents/:id/pdf auch für VIEW_SCANNER (Duplikatvergleich im Scanner).
- E-Rechnungs-Vorschlag prüft wie das Speichern pro Dokument (Tag 1 bzw.
  Manuell-Tag); Vorschau/PDF bewusst nicht (Suchergebnisse, Duplikate).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bjoernpoettkerandClaude Opus 5.5 committed 2026-11-04 10:46:57 +01:00
1 parent 04fca933ee
commit e0a6598b35
9 files changed
+138 -53

No files matched your search

@@ -2,6 +2,7 @@ import { Permission } from '../auth/permissions.enum';
import {
POSTEINGANG_TAG_ID,
darfDokumentBearbeiten,
dokumentKurzinfo,
} from './dokument-zugriff.util';
const MANUELL = 6;
@@ -43,3 +44,24 @@ describe('darfDokumentBearbeiten', () => {
).toBe(false);
});
});
describe('dokumentKurzinfo', () => {
it('liefert nur Kennung, Titel, ASN und Datum – keinen OCR-Volltext', () => {
const doc = {
id: 5,
title: 'Rechnung',
archive_serial_number: 42,
created: '2026-01-02',
content: 'IBAN DE00 …',
owner: 3,
custom_fields: [{ field: 15, value: 'x' }],
notes: [{ note: 'intern' }],
};
expect(dokumentKurzinfo(doc)).toEqual({
id: 5,
title: 'Rechnung',
archive_serial_number: 42,
created: '2026-01-02',
});
});
});