BillTracker/routes
null a17ce13f07 fix(integrity): transaction-wrap three multi-statement writes + review cleanups
CODE_STANDARDS 'every multi-statement write runs inside db.transaction()'
hits from the review: snowball plan create (abandon-existing + insert),
webauthn disable (credential delete + flag clear — a failure between them
recreates the stale-flag state), admin password reset (hash update +
session invalidation). Cleanups: dead ApiError import (payments), dead
action: params on the four snowball transition callers, createSession
consolidated into auth.cts's top-level import.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 22:57:10 -05:00
..
about.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
aboutAdmin.cts refactor(routes): throw-pattern for profile, transactions, admin, aboutAdmin 2026-07-10 17:18:28 -05:00
admin.cts fix(integrity): transaction-wrap three multi-statement writes + review cleanups 2026-07-10 22:57:10 -05:00
analytics.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
auth.cts fix(integrity): transaction-wrap three multi-statement writes + review cleanups 2026-07-10 22:57:10 -05:00
authOidc.cts fix: four review-confirmed regressions in auth + OIDC flows 2026-07-10 22:57:07 -05:00
bills.cts refactor(routes): throw-pattern for bills.cts (largest route, 43+ sites) 2026-07-10 17:00:01 -05:00
calendar.cts refactor(routes/calendar): replace errorFormatter with ValidationError throws 2026-07-10 17:52:47 -05:00
calendarFeed.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
categories.cts refactor(categories): adopt Kysely for the /groups query (real production use) 2026-07-06 16:25:30 -05:00
dataSources.cts refactor(routes): throw-pattern for summary, matches, snowball, dataSources 2026-07-10 16:44:19 -05:00
export.cts fix(standards): make the error-shape ratchet see require(); convert the 4 files it exposed 2026-07-10 17:53:24 -05:00
import.cts fix(routes): stop leaking raw err.message on 5xx responses 2026-07-10 16:36:27 -05:00
matches.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
monthly-starting-amounts.cts refactor(routes): monthly-starting-amounts → throw pattern; doc exemplar 2026-07-06 15:03:52 -05:00
notifications.cts fix(routes): stop leaking raw err.message on 5xx responses 2026-07-10 16:36:27 -05:00
payments.cts fix(integrity): transaction-wrap three multi-statement writes + review cleanups 2026-07-10 22:57:10 -05:00
privacy.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
profile.cts refactor(routes): throw-pattern for profile, transactions, admin, aboutAdmin 2026-07-10 17:18:28 -05:00
settings.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
snowball.cts fix(integrity): transaction-wrap three multi-statement writes + review cleanups 2026-07-10 22:57:10 -05:00
spending.cts fix(routes): stop leaking raw err.message on 5xx responses 2026-07-10 16:36:27 -05:00
status.cts style: apply Prettier across client + server (no behavior change) 2026-07-06 14:23:53 -05:00
subscriptions.cts refactor(routes): throw-pattern for payments + subscriptions 2026-07-10 16:53:20 -05:00
summary.cts refactor(routes): throw-pattern for summary, matches, snowball, dataSources 2026-07-10 16:44:19 -05:00
tracker.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
transactions.cts refactor(routes): throw-pattern for profile, transactions, admin, aboutAdmin 2026-07-10 17:18:28 -05:00
user.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00
version.cts refactor(types): drop @ts-nocheck from the 9 smallest routes (Phase 6 starter) 2026-07-10 18:17:13 -05:00