fix(api): repair root src/routes/pets.ts visit-count query (GRO-1945) #107

Merged
Flea Flicker merged 1 commits from flea/GRO-1945-pets-visitcount-hotfix into dev 2026-05-30 03:24:03 +00:00
+6 -5
View File
@@ -12,6 +12,7 @@ import {
appointments,
staff,
services,
sql,
} from "@groombook/db";
import type { AppEnv } from "../middleware/rbac.js";
import {
@@ -153,11 +154,11 @@ petsRouter.get("/:id/profile-summary", async (c) => {
.limit(10);
// Visit count (completed appointments)
const [{ count }] = await db
.select({ count: appointments.id })
const [countRow] = await db
.select({ count: sql<number>`count(*)::int` })
.from(appointments)
.where(and(eq(appointments.petId, petId), eq(appointments.status, "completed")))
.limit(1);
.where(and(eq(appointments.petId, petId), eq(appointments.status, "completed")));
const visitCount = countRow?.count ?? 0;
// Upcoming appointment (next scheduled or confirmed)
const [upcoming] = await db
@@ -195,7 +196,7 @@ petsRouter.get("/:id/profile-summary", async (c) => {
serviceName: h.serviceName,
staffName: h.staffName,
})),
visitCount: Number(count ?? 0),
visitCount,
upcomingAppointment: upcoming
? {
id: upcoming.id,