feat: Massenimport/Export JSON/CSV (All-or-Nothing) (#15) #296
No reviewers
Labels
No labels
component/backend
component/docs
component/e2e
component/frontend
component/infra
component/keycloak
prio/high
prio/low
prio/medium
type/bug
type/chore
type/feature
type/refactor
type/test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
WompSchmiede/FamilienFeierPlaner!296
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-15-massenimport"
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?
Allgemein
Altes Verhalten
Keine Massenimport/Export-Funktion vorhanden. Personen muessen einzeln via Formular angelegt werden. Export nur als einzelner DSGVO-Datenexport (ZIP) pro Person verfuegbar.
Neues Verhalten
Administratoren mit
edit-person-Rolle koennen in der erweiterten Ansicht unter/app/persons:Import (All-or-Nothing via Prisma $transaction):
firstName+lastNamecase-insensitiv sekundaerExport:
archived-Filter (true/false/all)Frontend:
Begruendung
Issue #15 — Massenimport/Export fuer Administratoren, damit Personendaten nicht einzeln angelegt werden muessen.
Test-Hinweise
Backend Unit-Tests: 18 Tests in
src/__tests__/import-export.test.tsE2E-Tests: 14 Test-Cases in 3 Dateien unter
e2e/specs/test-3-workflows/Manuell:
/app/persons?archived=false→ Erweiterte Ansicht → Import/Export-Buttons sichtbar[Importieren]→ Datei ause2e/test-fixtures/import-export/auswaehlen[JSON exportieren]/[CSV exportieren]→ Download mit allen/aktiven/archivierten Personen[Beispiel-Datei]→ Popup mit Copy-ButtonBekannte Einschraenkungen
archived(true/false/all) — kein freies Feld-FilterCheckliste
use:testidan neuen<button>,<a>,<form>-Elementen gesetzt?e2e/specs/angelegt?9f7a0e61ba9e9044ea039e9044ea0361445571ddWIP: feat: Massenimport/Export JSON/CSV (All-or-Nothing) (#15)to feat: Massenimport/Export JSON/CSV (All-or-Nothing) (#15)feat: Massenimport/Export JSON/CSV (All-or-Nothing) (#15)to WIP: feat: Massenimport/Export JSON/CSV (All-or-Nothing) (#15)WIP: feat: Massenimport/Export JSON/CSV (All-or-Nothing) (#15)to feat: Massenimport/Export JSON/CSV (All-or-Nothing) (#15)