[gro-1171] Admin API — Buffer Rules CRUD #12

Merged
groombook-engineer[bot] merged 6 commits from flea-flicker/gro-1162-pet-buffer-time into dev 2026-05-21 10:17:34 +00:00

6 Commits

Author SHA1 Message Date
Flea Flicker 24c1a603ec fix: add missing COPY tsconfig.json to builder stage
CI / Lint & Typecheck (pull_request) Failing after 13s
CI / Test (pull_request) Successful in 20s
CI / Build & Push Docker Image (pull_request) Has been skipped
tsc --project . fails without tsconfig.json in the builder stage.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-21 10:01:42 +00:00
Flea Flicker 07eb611549 feat(GRO-1427): add buffer rules CRUD — enums, table, routes
Re-implement lost commit from worktree cleanup. PR #12 already has
UAT_PLAYBOOK + factories fix; add all missing core implementation:
- Add petSizeCategoryEnum/coatTypeEnum to schema
- Add bufferRules table with service FK + unique constraint
- Add defaultBufferMinutes column to services table
- Change pets.coatType/petSizeCategory text columns to use enums
- Add routes/buffer-rules.ts: GET/POST/PATCH/DELETE, manager role guard
- Register /api/buffer-rules in index.ts
- Update services.ts PATCH to accept defaultBufferMinutes
- Update pets.ts POST/PATCH to accept sizeCategory/coatType
- Cast coatType/petSizeCategory in book.ts insert to match new enums
- Add 0031_buffer_rules.sql migration
- Fix factories.ts buildService to include defaultBufferMinutes: null

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 10:01:40 +00:00
Flea Flicker 1345db3620 fix(GRO-1171): restore UAT_PLAYBOOK and add coatType/petSizeCategory to buildPet
Address QA review findings on PR #12:
- Add coatType and petSizeCategory to buildPet defaults in packages/db/src/factories.ts
  to fix TypeScript typecheck failure
- Restore UAT_PLAYBOOK.md (was deleted during monorepo extraction) and add
  §4.15 Buffer Rules test cases

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-21 10:01:39 +00:00
Chris Farhood b067ba8b85 Save petSizeCategory to pet record on booking creation
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-21 10:01:38 +00:00
Chris Farhood 3d41820f02 feat(GRO-1174): add MedicalAlert/CoatType/AlertSeverity types to @groombook/types
Sync api packages/types with web workspace — add MedicalAlert, AlertSeverity,
CoatType, preferredCuts, medicalAlerts, temperamentScore, temperamentFlags.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 10:01:38 +00:00
Chris Farhood 73f39951b3 feat(GRO-1174): persist petSizeCategory and petCoatType from booking
- Add petSizeCategory and petCoatType to bookingSchema zod validator (optional)
- Save coatType to pets row on booking creation
- Add coatType and petSizeCategory columns to pets DB schema
- Add coatType and petSizeCategory to Pet interface in @groombook/types

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 10:01:37 +00:00