#101e — Vorratsschrank — CSV-Export/-Import-UI (Folge-Story zu #101) #104
Labels
No labels
priority/could
priority/must
priority/should
priority/wont
status/blocked
status/claimed
status/done-migrated
type/bug
type/feature
type/infra
type/tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
robert/todo#104
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Story: Vorratsschrank — CSV-Export/-Import-UI (Folge-Story zu
#101)Depends on:
#101(BackendImportPantryProductsFromCsvCommandbereits geliefert).As a Vorratsschrank-Nutzer,
I want to meinen Pantry-Bestand als CSV exportieren und importieren können,
so that ich Backups anlegen, Umzüge machen oder mit anderer Software (Rezept-Apps,
Tabellenkalkulation) Daten austauschen kann.
Acceptance criteria:
CsvExportDialogskind-Union bekommt'pantry'hinzu; unter dieser Option werdenSpalten
Name, Category, Quantity, TargetQuantity, Barcodeexportiert. Nutzt diebereits vorhandenen
GetPantryProductsQuery+GetPantryCategoriesQuery.PantryPageöffnet einen Datei-Auswahl-Dialog; die geparsten Zeilen werden an
ImportPantryProductsFromCsvCommandgeschickt unddas Resultat (
Imported,Skipped,CategoriesCreated) in einem Erfolgs-Toast angezeigt.addiert) — matcht das Shopping-Import-Verhalten (bereits im Backend-Handler aus
#101umgesetzt, unverändert durch diese Story).
Delivered 2026-08-10 — Import-Menüpunkt zusätzlich hinter
isOwnergegated (matchtListActionsMenus Konvention für Shopping/Todo-Import); Export ungegated, ebenfalls konventionsgleich.Backend-Autorisierung bleibt Mitgliedschafts-basiert (
AuthorizePantryAccessForCurrentUserQuery) — dasFrontend-Gating ist reiner UX-Komfort, keine Sicherheitsgrenze (identisch zum bestehenden
Shopping/Todo-Verhalten). Siehe
docs/features/done/101e_pantry_csv_export_import_ui.md.Backend bereits vorhanden (aus
#101):ImportPantryProductsFromCsvCommand(Name/Category/Quantity/TargetQuantity/Barcode + CSV-Import-Result-DTO).
CreatePantryCategoryCommand.Out of scope: kein neuer Backend-Handler für Export (der ist in
CsvExportDialogreinFrontend-generiert, sobald es die Get-Queries kennt — siehe
#83's Design).