feat: link-only optie voor library-import (bestanden op de bron laten staan) #72

Merged
janpeter merged 7 commits from claude/import-script-parametrize-9a2d5d into main 2026-08-06 11:18:13 +02:00
Owner

Checkbox per import-run waarmee alle bestanden op de bron blijven staan en alleen de verwijzing in de database wordt opgenomen — het bestaande LINK-pad (voorheen alleen >50MB), nu voor elke bestandsgrootte.

Wijzigingen

  • job.copy_files (Boolean, default true): additieve, handgeschreven migratie 20260806000000_add_job_copy_files; al toegepast op de gedeelde DB via prisma migrate deploy (deploy-only, geen migrate dev).
  • Runner: shouldCopy = job.copy_files && !candidate.tooLarge — één conditie; het LINK-pad (geen kopie, source_path = bronpad, log LINK) bestond al en blijft ongewijzigd.
  • Doorgeefketen: EnqueueParams.copyFiles?: boolean en startLibraryImportFromNode(nodeId, options?: { copyFiles?: boolean }). Bewust geen directe unittest op enqueue (triggert tick() op de gedeelde DB); gedekt via de runner-integratietest + type-check.
  • UI: checkbox "Bestanden op de bron laten staan (alleen verwijzing in de database)" in LibraryImportDialog, standaard uit; reset bij heropenen van de dialoog.
  • Docs: spec (docs/superpowers/specs/2026-08-06-library-import-link-only-design.md) en implementatieplan.

Tests & review

  • Nieuwe integratietest: klein bestand + copy_files=false → geen bestand in de media-root, slideshow_image_source- én asset_source-source_path = bronpad (TDD, RED→GREEN).
  • Volledige suite 367/367 PASS; npm run build groen.
  • Per-taak reviews + finale whole-branch review: Ready to merge; drie minors in een fix-wave opgelost en her-gereviewd.

Scrum4me: sprint S-2026-08-06-1, PBI-16, story ST-025 (T-122–T-126 done).

🤖 Generated with Claude Code

Checkbox per import-run waarmee alle bestanden op de bron blijven staan en alleen de verwijzing in de database wordt opgenomen — het bestaande LINK-pad (voorheen alleen >50MB), nu voor elke bestandsgrootte. ## Wijzigingen - **`job.copy_files`** (Boolean, default `true`): additieve, handgeschreven migratie `20260806000000_add_job_copy_files`; al toegepast op de gedeelde DB via `prisma migrate deploy` (deploy-only, geen `migrate dev`). - **Runner**: `shouldCopy = job.copy_files && !candidate.tooLarge` — één conditie; het LINK-pad (geen kopie, `source_path` = bronpad, log `LINK`) bestond al en blijft ongewijzigd. - **Doorgeefketen**: `EnqueueParams.copyFiles?: boolean` en `startLibraryImportFromNode(nodeId, options?: { copyFiles?: boolean })`. Bewust geen directe unittest op `enqueue` (triggert `tick()` op de gedeelde DB); gedekt via de runner-integratietest + type-check. - **UI**: checkbox "Bestanden op de bron laten staan (alleen verwijzing in de database)" in `LibraryImportDialog`, standaard uit; reset bij heropenen van de dialoog. - **Docs**: spec (`docs/superpowers/specs/2026-08-06-library-import-link-only-design.md`) en implementatieplan. ## Tests & review - Nieuwe integratietest: klein bestand + `copy_files=false` → geen bestand in de media-root, `slideshow_image_source`- én `asset_source`-`source_path` = bronpad (TDD, RED→GREEN). - Volledige suite 367/367 PASS; `npm run build` groen. - Per-taak reviews + finale whole-branch review: Ready to merge; drie minors in een fix-wave opgelost en her-gereviewd. Scrum4me: sprint S-2026-08-06-1, PBI-16, story ST-025 (T-122–T-126 done). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Optie per import-run om alle bestanden op de bron te laten staan en
alleen de verwijzing in de database op te nemen (bestaand LINK-pad,
maar ongeacht bestandsgrootte). Keuze via checkbox in de importdialoog,
gepersisteerd als job.copy_files.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
fix: finale-review minors link-only import
All checks were successful
CI / docker-build (pull_request) Successful in 4m7s
c7b2364d66
- runner.test.ts: link-only test controleert nu ook de AssetSource-rij
  (source_path/original_path), niet alleen slideshow_image.sources[0]
- LibraryImportDialog: keepInPlace reset naar false bij elke heropening
  van de dialoog, zodat de checkbox niet sticky blijft
- spec: sectie 6 documenteert het local_file_missing-foutpad wanneer een
  gelinkt bestand verliezer wordt in een duplicate-cleanup-run

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
janpeter deleted branch claude/import-script-parametrize-9a2d5d 2026-08-06 11:18:13 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/Media-Organizer!72
No description provided.