From b1de52dbb4ec6d3b3973b6004fb67ef011cb44d0 Mon Sep 17 00:00:00 2001 From: percyfikri Date: Tue, 8 Oct 2024 11:44:08 +0700 Subject: [PATCH] Update : Fix Get method for search by status coloumn --- apps/backend/src/routes/assessmentRequest/route.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/backend/src/routes/assessmentRequest/route.ts b/apps/backend/src/routes/assessmentRequest/route.ts index a048429..ff912bf 100644 --- a/apps/backend/src/routes/assessmentRequest/route.ts +++ b/apps/backend/src/routes/assessmentRequest/route.ts @@ -1,12 +1,10 @@ -import { eq, sql, ilike, isNull, and, desc } from "drizzle-orm"; +import { eq, sql, ilike, and, desc} from "drizzle-orm"; import { Hono } from "hono"; import { z } from "zod"; import db from "../../drizzle"; import { respondents } from "../../drizzle/schema/respondents"; import { assessments } from "../../drizzle/schema/assessments"; import { users } from "../../drizzle/schema/users"; -import { rolesToUsers } from "../../drizzle/schema/rolesToUsers"; -import { rolesSchema } from "../../drizzle/schema/roles"; import HonoEnv from "../../types/HonoEnv"; import authInfo from "../../middlewares/authInfo"; import { forbidden, notFound } from "../../errors/DashboardError"; @@ -52,7 +50,9 @@ const assessmentRequestRoute = new Hono() .where( and( eq(users.id, userId), - q ? ilike(assessments.status, `%${q}%`) : undefined + q && q.trim() !== "" + ? ilike(sql`${assessments.status}::text`, `%${q}%`) // Cast status to text for ilike + : undefined ) ) @@ -70,14 +70,14 @@ const assessmentRequestRoute = new Hono() respondentId: respondents.id, }) .from(users) - .leftJoin(rolesToUsers, eq(users.id, rolesToUsers.userId)) - .leftJoin(rolesSchema, eq(rolesToUsers.roleId, rolesSchema.id)) .leftJoin(respondents, eq(users.id, respondents.userId)) .leftJoin(assessments, eq(respondents.id, assessments.respondentId)) .where( and( eq(users.id, userId), - q ? ilike(assessments.status, `%${q}%`) : undefined + q && q.trim() !== "" + ? ilike(sql`${assessments.status}::text`, `%${q}%`) // Cast status to text for ilike + : undefined ) ) .orderBy(desc(assessments.createdAt))