Implements recurring remittance schedules, allowing users to create, view, update, and delete automated remittance plans (e.g., monthly $300 to recipient X). This feature supports reminders and future automation.
- DB Schema:
recurring_remittances(id, userAddress, recipientAddress, amount, currency, frequency, nextRunAt, lastRunAt, createdAt) - API Endpoints:
POST /api/remittance/recurring— Create scheduleGET /api/remittance/recurring— List schedulesPATCH /api/remittance/recurring/[id]— Update scheduleDELETE /api/remittance/recurring/[id]— Delete schedule
- Validation:
- Validates amount, frequency, and recipient address
- Computes
nextRunAtfrom frequency
- Authentication:
- Only authenticated users can manage their own schedules
- Documentation:
- Schedule semantics and cron job options documented in code
- Extensible:
- Ready for future cron job integration for reminders/automation
- Schema and CRUD API implemented
- Validation and authentication enforced
- Documentation and extensibility for cron jobs
- Authenticate (login via app or API)
- Use the following endpoints:
- Create:
POST /api/remittance/recurringwith{ recipientAddress, amount, currency, frequency } - List:
GET /api/remittance/recurring - Update:
PATCH /api/remittance/recurring/[id] - Delete:
DELETE /api/remittance/recurring/[id]
- Create:
See code and previous messages for example curl commands.
app/api/remittance/recurring/route.ts(new)app/api/remittance/recurring/[id]/route.ts(new)lib/mockdata/recurringRemittances.ts(new)utils/types/recurringRemittance.types.ts(new)
Closes #188