BillTracker/routes
null 8e7f977fef v0.20.5: Bulk payment input validation
- Request body must contain `payments` array (breaking change from raw array)
- Max 50 items per bulk request
- Per-item validation: bill_id (integer regex + parseInt), paid_date (YYYY-MM-DD), amount (finite number >= 0)
- Duplicate detection using bill_id + paid_date + amount composite key — skipped, not rejected
- Response format: { created, skipped, errors }
- Security fix: bill_id type coercion attack (parseInt('1abc') bypass) blocked via regex check
- Security fix: Infinity amount bypass blocked via isFinite() check
- Hudson audit: 5/7 PASS, 2 FAIL fixed (type coercion + Infinity)
2026-05-09 23:41:28 -05:00
..
about.js push 2026-05-04 20:12:57 -05:00
aboutAdmin.js v0.20.1: code splitting, version badge on roadmap, roadmap nav link 2026-05-09 22:01:19 -05:00
admin.js push 2026-05-09 13:03:36 -05:00
analytics.js push 2026-05-09 13:03:36 -05:00
auth.js push 2026-05-09 13:03:36 -05:00
authLogin.js push 2026-05-09 13:03:36 -05:00
authOidc.js initial commit 2026-05-03 19:51:57 -05:00
bills.js push 2026-05-09 13:03:36 -05:00
calendar.js push 2026-05-09 13:03:36 -05:00
categories.js push 2026-05-09 13:03:36 -05:00
export.js push 2026-05-09 13:03:36 -05:00
import.js push 2026-05-09 13:03:36 -05:00
monthly-starting-amounts.js push 2026-05-04 20:12:57 -05:00
notifications.js initial commit 2026-05-03 19:51:57 -05:00
payments.js v0.20.5: Bulk payment input validation 2026-05-09 23:41:28 -05:00
profile.js push 2026-05-09 13:03:36 -05:00
settings.js push 2026-05-09 13:03:36 -05:00
status.js initial commit 2026-05-03 19:51:57 -05:00
summary.js push 2026-05-04 20:12:57 -05:00
tracker.js push 2026-05-04 20:12:57 -05:00
user.js push 2026-05-09 13:03:36 -05:00
version.js initial commit 2026-05-03 19:51:57 -05:00