Split member_live/index.ex into a coordinator + modules #535
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#535
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
lib/mv_web/live/member_live/index.exis the worst hotspot on every metric (2028 LOC, ~30 outgoing deps, 23harvest findings). It mixes query building, residual in-memory filtering/sorting, export-payload building, and
field-visibility/column logic in one LiveView. This is a cohesion split — most filtering/sorting is already in
Ash.Query; only SQL-hard cases stay in-memory. No behavior change.Scope (ordered steps, CI green each)
apply_in_memory_filters,sort_members_in_memory).index.exbecomes a thin LiveView coordinator.Out of scope
Server-side pagination (R-011) is a product feature, not refactoring, and partly infeasible with the computed
membership_fee_statusfield — see ISSUES.md Discussion E. Do not add paging here.Acceptance criteria
index.exmaterially thinner; extracted modules unit-tested.just ci-devgreen after each step.Dependencies
After issue "Mechanical cleanup …" (R-005 logger removal) and "Correctness …" (R-006 atom fix), so those small
edits do not get buried in this large diff.