mirror of
https://github.com/tiennm99/bsk.git
synced 2026-08-03 14:22:38 +00:00
- imaging: downscale to 1280px before JPEG quality-stepping so real camera photos fit the 200KB cap (was quality-only → rejected typical photos) - billing: save_prescription/save_checkup_services refuse to modify a PAID invoice, so recorded payment can't diverge from the invoice total - staff: set_staff_role/remove_staff RPCs hold an advisory lock while enforcing the last-admin invariant — race-safe vs the prior check-then-act - imaging delete: remove the object at the row's stored path (DB lookup), not a client-supplied path - invoice PDF: filter deleted=false like every other checkup view - sign-in: skip rate limit when no client IP is resolvable instead of bucketing all requests under a shared "unknown" key - reminders: bound to a [today-30d, today+7d] window so stale overdue rows don't accumulate and bury upcoming ones