- Centralize the feature-flag guard in a HasMiddleware closure (matches McpTokenController) instead of repeating abort_unless in every action. - Move the index aggregation into SavingsGoal::withStatsForUser so budgets stay decoupled from goals. - Route single-goal reads through savedAmountInCents() so the sign convention lives in one place. - Extract useControllableOpen hook shared by both create dialogs. |
||
|---|---|---|
| .. | ||
| Controllers | ||
| Middleware | ||
| Requests | ||
| Responses | ||