Commit
fix: address critical issues in subscription and marketplace functionality
Commit details
Commit notes
Critical fixes: 1. OAuth state storage: Move from in-memory Map to Redis for production reliability and horizontal scaling support (mollie-connect.ts)
2. Purchase completion: Wrap status update and earnings credit in a database transaction to ensure atomicity (purchases.ts)
3. Redirect URL validation: Add isValidRedirectUrl() check to subscription checkout and resume endpoints to prevent open redirect attacks (subscription.ts)
Medium fixes: 4. Webhook logging: Improve error logging from debug to warn level when no handler processes a webhook, with detailed error information (subscription.ts)
5. Payout race condition: Use transaction for atomic balance update and payout creation, with accurate error messages on failure (purchases.ts)
Minor fixes: 6. Structured logging: Replace console.log/error with structured logger in sample-packs.ts for consistent log formatting
Co-authored-by: armin.naimi <[email redacted]>
- Files changed
- 5
- Lines added
- +280
- Lines removed
- −186