feat(notifications): implement notification router with email, push, SMS support

- Add notification router (sendEmail, sendPush, sendSMS, device mgmt, prefs)
- Create provider clients: Resend, Firebase Admin (FCM), Twilio
- Add notification_preferences table to Drizzle schema
- Create branded email templates (welcome, alert, password reset, family invite, billing)
- Implement notification service with error handling and E.164 validation
- Wire router into app root
- Write unit tests with mocked providers (25 tests passing)
- Add resend, firebase-admin, twilio dependencies
This commit is contained in:
2026-05-25 16:13:02 -04:00
parent 40a9ef146c
commit 5154990acd
14 changed files with 2484 additions and 6 deletions

View File

@@ -25,12 +25,15 @@
"@typeschema/valibot": "^0.13.4",
"bcryptjs": "^3.0.3",
"drizzle-orm": "^0.45.2",
"firebase-admin": "^13.10.0",
"jose": "^5",
"pg": "^8.21.0",
"resend": "^6.12.4",
"solid-js": "^1.9.5",
"stripe": "^22.1.1",
"tailwindcss": "^4.0.0",
"three": "^0.184.0",
"twilio": "^6.0.2",
"valibot": "^0.29.0",
"vite": "^7.0.0"
},