fix(admin): pagination, patch tests, and per-page limits

Backend:
- Fix GetAllAdminBookingsHandler and SearchAdminBookingsHandler to
  return totalPages in response
- Auto-record patch tests when booking status progresses to "completed"
- Add GET/POST /api/admin/users/{id}/patch-tests endpoints
  Frontend:
- BookingsCard: proper pagination with 4 per page, prev/next buttons
- UsersCard, BookingCreateModal, WalkInCreateModal: per_page=4 for user
  search
- Add PatchTestModal for manual patch test entry in UserModal
- Hide patch test section when user has no eligible services
  Database:
- Add UNIQUE constraint on user_service_patch_tests(user_id, service_id)
This commit is contained in:
2026-02-20 22:17:37 +00:00
parent 5a4cd29b44
commit 7b0259c0db
11 changed files with 454 additions and 76 deletions
+2 -1
View File
@@ -152,7 +152,8 @@ CREATE TABLE user_service_patch_tests (
id BIGSERIAL PRIMARY KEY,
user_id CHAR(12) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
service_id CHAR(12) NOT NULL REFERENCES services(id) ON DELETE CASCADE,
last_time TIMESTAMPTZ NOT NULL
last_time TIMESTAMPTZ NOT NULL,
UNIQUE (user_id, service_id)
);
CREATE INDEX idx_service_patch_tests_userid ON user_service_patch_tests(user_id);