whisper-money/app
Víctor Falcón 952a5d4be7
feat: Sync new users to Resend contacts (#85)
## Summary
- Add `SyncUserToResendListener` to automatically sync users to Resend
contacts on registration
- Add `ResendService` for Resend API interactions
- Add `resend:sync` command to bulk sync existing users

## Changes
- **New**: `app/Listeners/SyncUserToResendListener.php` -
Auto-discovered queued listener
- **New**: `app/Services/ResendService.php` - Service for Resend
contacts API
- **New**: `app/Console/Commands/ResendSyncCommand.php` - Bulk sync
command
- **New**: Tests for listener and command

## Usage
New users are automatically synced on registration. For existing users:
```bash
php artisan resend:sync
```

## Test plan
- [x] New user registration triggers contact sync
- [x] `resend:sync` command syncs all existing users
- [x] Graceful handling when API key is not configured
- [x] Duplicate contacts are handled by Resend (no errors)
2026-01-28 21:25:58 +01:00
..
Actions Add category type field support (#2) 2025-12-01 20:19:47 +01:00
Console/Commands feat: Sync new users to Resend contacts (#85) 2026-01-28 21:25:58 +01:00
Enums Add Budgeting Feature to Track and Manage Spending (#36) 2026-01-21 15:25:50 +01:00
Events Add Budgeting Feature to Track and Manage Spending (#36) 2026-01-21 15:25:50 +01:00
Http fix: Apply automation rule labels on transaction creation and import (#79) 2026-01-27 11:11:29 +01:00
Jobs feat: Load transactions history on budget created (#72) 2026-01-22 11:10:15 +01:00
Listeners feat: Sync new users to Resend contacts (#85) 2026-01-28 21:25:58 +01:00
Mail feat: New discord offer 2026-01-10 10:27:32 +01:00
Models feat: Load transactions history on budget created (#72) 2026-01-22 11:10:15 +01:00
Policies Add Budgeting Feature to Track and Manage Spending (#36) 2026-01-21 15:25:50 +01:00
Providers feat: Release budgets feature to all users (#84) 2026-01-28 09:56:52 +01:00
Services feat: Sync new users to Resend contacts (#85) 2026-01-28 21:25:58 +01:00