whisper-money/app/Http/Requests/Settings
Víctor Falcón e178f1b1bd
feat(settings): let users disable bank transactions email (#472)
## Summary

Adds a **Notifications** section to the account settings page
(`/settings/account`, between Profile information and Update password)
where users can opt out of the daily "new transactions synced" email.

- New per-user preference `notify_on_bank_transactions_synced` on
`user_settings` (defaults to `true`, opt-out).
- `SendDailyBankTransactionsSyncedEmailJob` skips users who disabled it.
- Single generic `PATCH /settings/notifications` endpoint updates any
notification type via a key→column allowlist in
`NotificationPreferenceController::PREFERENCES`. Future notifications
only need a new entry there — no new route/controller.
- Email footer now links back to the settings section so users can
manage preferences.

## Testing

- `tests/Feature/Settings/NotificationPreferenceTest.php` — update,
unknown-key rejection, invalid value, auth, create-when-missing,
default-true, inertia prop.
- `tests/Feature/OpenBanking/SyncBankingConnectionJobTest.php` — email
not sent when disabled.
2026-06-02 12:24:39 +02:00
..
ApplyAutomationRuleRequest.php Apply automation rules to existing transactions (#413) 2026-05-22 08:36:18 +02:00
ProfileUpdateRequest.php feat(settings): centralize currency options and split profile/account support (#256) 2026-04-02 19:23:10 +02:00
StoreAccountRequest.php refactor(real-estate): remove Pennant gating (#308) 2026-04-20 13:31:49 +01:00
StoreAutomationRuleRequest.php fix: Apply automation rule labels on transaction creation and import (#79) 2026-01-27 11:11:29 +01:00
StoreBankRequest.php Accounts: Allow users to create custom banks with his own logo, and name (#12) 2025-12-04 15:24:04 +01:00
StoreCategoryRequest.php fix(categories): expose cashflow setting on create (#448) 2026-05-29 11:05:04 +02:00
StoreLabelRequest.php feat: add transaction labels feature (#24) 2025-12-13 13:02:19 +01:00
TwoFactorAuthenticationRequest.php chore: upgrade Laravel 12 to 13 (#242) 2026-03-25 12:56:33 +00:00
UpdateAccountRequest.php Make bank selection optional when creating or updating accounts (#261) 2026-04-04 16:33:26 +01:00
UpdateAutomationRuleRequest.php fix: Apply automation rule labels on transaction creation and import (#79) 2026-01-27 11:11:29 +01:00
UpdateCategoryRequest.php fix(categories): expose cashflow setting on create (#448) 2026-05-29 11:05:04 +02:00
UpdateChartColorSchemeRequest.php chore: upgrade Laravel 12 to 13 (#242) 2026-03-25 12:56:33 +00:00
UpdateLabelRequest.php feat: add transaction labels feature (#24) 2025-12-13 13:02:19 +01:00
UpdateNetWorthChartLoanPreferenceRequest.php chore: upgrade Laravel 12 to 13 (#242) 2026-03-25 12:56:33 +00:00
UpdateNetWorthChartRealEstatePreferenceRequest.php chore: upgrade Laravel 12 to 13 (#242) 2026-03-25 12:56:33 +00:00
UpdateNotificationPreferencesRequest.php feat(settings): let users disable bank transactions email (#472) 2026-06-02 12:24:39 +02:00
UpdateTimezoneRequest.php fix(user): persist detected timezones (#296) 2026-04-16 11:36:57 +01:00