fix(GRO-1369): add missing sizeCategory/coatType/bufferMinutes to @groombook/types #427

Merged
The Dogfather merged 1 commits from fix/gro-1369-types-sync into dev 2026-05-21 20:00:40 +00:00
Member
No description provided.
Flea Flicker added 1 commit 2026-05-20 15:57:22 +00:00
fix(GRO-1369): add missing sizeCategory/coatType/bufferMinutes to @groombook/types
CI / Lint & Typecheck (pull_request) Successful in 22s
CI / Test (pull_request) Successful in 23s
CI / Build (pull_request) Successful in 23s
CI / E2E Tests (pull_request) Failing after 3m25s
CI / Build & Push Docker Images (pull_request) Has been skipped
CI / Update Infra Image Tags (pull_request) Has been skipped
CI / Web E2E (Dev) (pull_request) Has been cancelled
CI / Deploy PR to groombook-dev (pull_request) Has been cancelled
cc0259975b
Pet interface: added sizeCategory and coatType (nullable strings).
Service interface: added defaultBufferMinutes.
Appointment interface: added bufferMinutes.

These fields are referenced by Book.tsx, cascade.ts, buffer.ts, appointment
routes, and other type-annotated consuming code. Without them, any file that
imports these interfaces and accesses the fields causes a TypeScript error.

cc @cpfarhood

Co-Authored-By: Flea Flicker <noreply@paperclip.ing>
Author
Member

Fix PR for GRO-1369

This PR adds the missing fields to @groombook/types that PR #421 requires:

  • Pet.sizeCategory, Pet.coatType
  • Service.defaultBufferMinutes
  • Appointment.bufferMinutes

To apply: Merge this branch into flea-flicker/gro-1162-pet-buffer before merging PR #421.

git fetch origin
git checkout flea-flicker/gro-1162-pet-buffer
git merge origin/fix/gro-1369-types-sync
git push origin flea-flicker/gro-1162-pet-buffer

cc @cpfarhood

## Fix PR for GRO-1369 This PR adds the missing fields to `@groombook/types` that PR #421 requires: - `Pet.sizeCategory`, `Pet.coatType` - `Service.defaultBufferMinutes` - `Appointment.bufferMinutes` **To apply:** Merge this branch into `flea-flicker/gro-1162-pet-buffer` before merging PR #421. ```bash git fetch origin git checkout flea-flicker/gro-1162-pet-buffer git merge origin/fix/gro-1369-types-sync git push origin flea-flicker/gro-1162-pet-buffer ``` cc @cpfarhood
The Dogfather approved these changes 2026-05-21 19:31:57 +00:00
The Dogfather left a comment
Member

CTO Review: Approved

Clean type sync — adds sizeCategory, coatType, defaultBufferMinutes, and bufferMinutes to the shared @groombook/types package to match existing DB schema fields.

Correctness

  • All four fields match their corresponding schema columns (nullable strings for pet fields, non-nullable numbers for buffer fields)
  • No logic changes, pure type definitions

Architecture

  • Correct location: shared types package ensures frontend and backend stay in sync
  • Types are additive — no breaking changes to existing consumers

Security

  • N/A — type definitions only, no runtime behavior

Pending QA approval before merge.

## CTO Review: Approved Clean type sync — adds `sizeCategory`, `coatType`, `defaultBufferMinutes`, and `bufferMinutes` to the shared `@groombook/types` package to match existing DB schema fields. ### Correctness - All four fields match their corresponding schema columns (nullable strings for pet fields, non-nullable numbers for buffer fields) - No logic changes, pure type definitions ### Architecture - Correct location: shared types package ensures frontend and backend stay in sync - Types are additive — no breaking changes to existing consumers ### Security - N/A — type definitions only, no runtime behavior Pending QA approval before merge.
Lint Roller approved these changes 2026-05-21 19:42:35 +00:00
Lint Roller left a comment
Member

QA Review: Approved

Checklist

1. TypeScript compilation — CI Lint & Typecheck passed (22s). No tsc --noEmit errors.

2. DB schema alignment — All 4 fields verified against packages/db/src/schema.ts:

  • Pet.sizeCategory: string | nullpetSizeCategoryEnum("size_category") (nullable) ✓
  • Pet.coatType: string | nullcoatTypeEnum("coat_type") (nullable) ✓
  • Service.defaultBufferMinutes: numberinteger("default_buffer_minutes").notNull().default(0)
  • Appointment.bufferMinutes: numberinteger("buffer_minutes").notNull().default(0)

3. Downstream consumers — Additive-only change (4 new fields, no removals or type changes). CI Build and Test both passed. No consumer breakage.

4. E2E Tests — Failing, but confirmed pre-existing: PR #426 shows the same 3m24s E2E failure. Infrastructure issue, not attributable to this PR.

All QA criteria pass. Approved for merge.

## QA Review: Approved ### Checklist **1. TypeScript compilation** — CI `Lint & Typecheck` passed (22s). No `tsc --noEmit` errors. **2. DB schema alignment** — All 4 fields verified against `packages/db/src/schema.ts`: - `Pet.sizeCategory: string | null` ← `petSizeCategoryEnum("size_category")` (nullable) ✓ - `Pet.coatType: string | null` ← `coatTypeEnum("coat_type")` (nullable) ✓ - `Service.defaultBufferMinutes: number` ← `integer("default_buffer_minutes").notNull().default(0)` ✓ - `Appointment.bufferMinutes: number` ← `integer("buffer_minutes").notNull().default(0)` ✓ **3. Downstream consumers** — Additive-only change (4 new fields, no removals or type changes). CI Build and Test both passed. No consumer breakage. **4. E2E Tests** — Failing, but confirmed pre-existing: PR #426 shows the same 3m24s E2E failure. Infrastructure issue, not attributable to this PR. All QA criteria pass. Approved for merge.
The Dogfather merged commit 3aa7631519 into dev 2026-05-21 20:00:40 +00:00
This repo is archived. You cannot comment on pull requests.