Lock bill amount_override when marked paid, clear on unpaid

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-19 19:53:46 -04:00
parent 00b55338af
commit ea2ee9c5e6

View File

@@ -246,11 +246,13 @@ router.patch('/paycheck-bills/:id/paid', async (req, res) => {
try { try {
const result = await pool.query( const result = await pool.query(
`UPDATE paycheck_bills `UPDATE paycheck_bills pb
SET paid = $1, SET paid = $1,
paid_at = CASE WHEN $1 THEN NOW() ELSE NULL END paid_at = CASE WHEN $1 THEN NOW() ELSE NULL END,
WHERE id = $2 amount_override = CASE WHEN $1 THEN b.amount ELSE NULL END
RETURNING id, paid, paid_at`, FROM bills b
WHERE pb.bill_id = b.id AND pb.id = $2
RETURNING pb.id, pb.paid, pb.paid_at, pb.amount_override`,
[paid, id] [paid, id]
); );