mitgliederverwaltung/lib/membership_fees
Simon b745b13ca5 feat(membership-fees): denormalize cycle_end so fee status filters run in the database
Store the cycle's end date alongside its start so the payment-status
filter can be a plain date comparison in SQL instead of loading every
cycle and classifying it in memory. The value is fixed when the cycle
is created (the fee type's interval is immutable and the update action
never changes the start date), so the denormalized column can never
drift from the computed end and needs no write-time reconciliation.
2026-07-03 11:04:43 +02:00
..
changes refactor(types): remove dead catch-all clauses unreachable per success typing 2026-06-02 11:56:44 +02:00
membership_fee_cycle/changes feat(membership-fees): denormalize cycle_end so fee status filters run in the database 2026-07-03 11:04:43 +02:00
cycle_end_backfill.ex feat(membership-fees): denormalize cycle_end so fee status filters run in the database 2026-07-03 11:04:43 +02:00
membership_fee_cycle.ex feat(membership-fees): denormalize cycle_end so fee status filters run in the database 2026-07-03 11:04:43 +02:00
membership_fee_type.ex Add resource policies for Group, MemberGroup, MembershipFeeType, MembershipFeeCycle 2026-02-03 23:52:12 +01:00
membership_fees.ex docs: Update domain Public API documentation 2026-01-20 15:50:08 +01:00