From 4086b6f5c0ec9e32f0df0b3b8549993d75acf729 Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Fri, 22 May 2026 03:09:00 +0000 Subject: [PATCH] fix: remove duplicate bufferRules table and duplicate properties blocking Docker build CI Run 942 Docker build fails on TS2451 (duplicate bufferRules at lines 190 & 653 of schema.ts), TS1117 (duplicate defaultBufferMinutes in services table, duplicate coatType/petSizeCategory in factories.ts), and TS2322 (null vs number for defaultBufferMinutes in factories.ts). Keep the newer, more complete bufferRules declaration (with comments and index) and the .notNull().default(0) variant of defaultBufferMinutes. Co-Authored-By: Claude Opus 4.6 --- packages/db/src/factories.ts | 4 +--- packages/db/src/schema.ts | 23 ----------------------- 2 files changed, 1 insertion(+), 26 deletions(-) diff --git a/packages/db/src/factories.ts b/packages/db/src/factories.ts index cac71f7..2ecad06 100644 --- a/packages/db/src/factories.ts +++ b/packages/db/src/factories.ts @@ -105,8 +105,6 @@ export function buildPet(overrides: Partial & { clientId: string }): Pet photoKey: null, photoUploadedAt: null, image: null, - coatType: null, - petSizeCategory: null, createdAt: new Date("2025-01-01T00:00:00Z"), updatedAt: new Date("2025-01-01T00:00:00Z"), }; @@ -121,7 +119,7 @@ export function buildService(overrides: Partial = {}): ServiceRow { description: "A grooming service", basePriceCents: 6500, durationMinutes: 60, - defaultBufferMinutes: null, + defaultBufferMinutes: 0, active: true, createdAt: new Date("2025-01-01T00:00:00Z"), updatedAt: new Date("2025-01-01T00:00:00Z"), diff --git a/packages/db/src/schema.ts b/packages/db/src/schema.ts index 313ba0c..de0ab29 100644 --- a/packages/db/src/schema.ts +++ b/packages/db/src/schema.ts @@ -180,35 +180,12 @@ export const services = pgTable("services", { description: text("description"), basePriceCents: integer("base_price_cents").notNull(), durationMinutes: integer("duration_minutes").notNull(), - defaultBufferMinutes: integer("default_buffer_minutes"), active: boolean("active").notNull().default(true), defaultBufferMinutes: integer("default_buffer_minutes").notNull().default(0), createdAt: timestamp("created_at").notNull().defaultNow(), updatedAt: timestamp("updated_at").notNull().defaultNow(), }); -export const bufferRules = pgTable( - "buffer_rules", - { - id: uuid("id").primaryKey().defaultRandom(), - serviceId: uuid("service_id") - .notNull() - .references(() => services.id, { onDelete: "cascade" }), - sizeCategory: petSizeCategoryEnum("size_category"), - coatType: coatTypeEnum("coat_type"), - bufferMinutes: integer("buffer_minutes").notNull(), - createdAt: timestamp("created_at").notNull().defaultNow(), - updatedAt: timestamp("updated_at").notNull().defaultNow(), - }, - (t) => [ - unique("uq_buffer_rules_service_size_coat").on( - t.serviceId, - t.sizeCategory, - t.coatType - ), - ] -); - export const staff = pgTable("staff", { id: uuid("id").primaryKey().defaultRandom(), name: text("name").notNull(),