fix(bulk-edit): align BulkEditEntry shape with backend DocumentBatchSummary

Production bug — the backend serialises the document UUID as `id`, but
BulkEditEntry typed it as `documentId`. The runtime cast in /documents/
bulk-edit/+page.svelte was a TypeScript lie: every `entry.documentId`
became undefined, the SvelteMap collapsed all selections under the
undefined key, and the PATCH fired with `documentIds: []` (which the
controller correctly rejected with 400). Field semantics ACs could
therefore never fire end-to-end.

Renamed `BulkEditEntry.documentId` → `id`. The FileEntry built from each
summary still carries both `id` (local map key) and `documentId` (PATCH
payload) so the save handler is unchanged.

Reported by Elicit (B1) on PR #331.

Refs #225

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-04-25 16:14:53 +02:00
parent f13f635161
commit 2bb8fb8968
2 changed files with 11 additions and 7 deletions

View File

@@ -317,7 +317,7 @@ describe('BulkDocumentEditLayout', () => {
describe('BulkDocumentEditLayout — mode="edit"', () => {
const editEntry = (i: number) => ({
documentId: `doc-${i}`,
id: `doc-${i}`,
title: `Brief ${i}`,
pdfUrl: `/api/documents/doc-${i}/file`
});