Import/Export consolidation #536
Labels
No labels
bug
duplicate
enhancement
help wanted
high priority
invalid
L
low priority
M
medium priority
needs refinement
optional
question
S
technical improvement
UX Improvement
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: local-it/mitgliederverwaltung#536
Loading…
Add table
Add a link
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?
Motivation
The CSV import god module and three parallel export pipelines carry duplication and an inline reimplementation.
Consolidate them; move one business rule into the domain so it holds for all callers.
Scope (ordered steps, CI green each)
import/member_csv.ex(1065 LOC). ExtractCustomFieldCoercerandImportErrorFormatter;narrow the over-broad
rescue. Pure refactoring.MemberExport.Build.build/3(~250 LOC inline reimplementation in
member_export_controller.ex:248-558removed); fixes the CSV/PDFboolean-filter divergence. The CSV controller must accept a
label_fnso output matches byte-for-byte.(
membership_fees_component.ex:618-676) into an Ash action so it applies on UI + import + API (mild behaviorextension: the rule now runs on all paths, not just the UI).
Out of scope
Import create-member + group-link atomicity (F-025) is documented deliberate behavior, not a bug — see ISSUES.md
Discussion F. Do not change it here.
Acceptance criteria
sort unchanged).
just ci-devgreen.Dependencies
After issue "Mechanical cleanup …" (R-003 deletes the dead
MemberExport.fetch/2chain first).