Update : Fix Get method for search by status coloumn
This commit is contained in:
parent
d1a9f9c1ff
commit
b1de52dbb4
|
|
@ -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 { Hono } from "hono";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import db from "../../drizzle";
|
import db from "../../drizzle";
|
||||||
import { respondents } from "../../drizzle/schema/respondents";
|
import { respondents } from "../../drizzle/schema/respondents";
|
||||||
import { assessments } from "../../drizzle/schema/assessments";
|
import { assessments } from "../../drizzle/schema/assessments";
|
||||||
import { users } from "../../drizzle/schema/users";
|
import { users } from "../../drizzle/schema/users";
|
||||||
import { rolesToUsers } from "../../drizzle/schema/rolesToUsers";
|
|
||||||
import { rolesSchema } from "../../drizzle/schema/roles";
|
|
||||||
import HonoEnv from "../../types/HonoEnv";
|
import HonoEnv from "../../types/HonoEnv";
|
||||||
import authInfo from "../../middlewares/authInfo";
|
import authInfo from "../../middlewares/authInfo";
|
||||||
import { forbidden, notFound } from "../../errors/DashboardError";
|
import { forbidden, notFound } from "../../errors/DashboardError";
|
||||||
|
|
@ -52,7 +50,9 @@ const assessmentRequestRoute = new Hono<HonoEnv>()
|
||||||
.where(
|
.where(
|
||||||
and(
|
and(
|
||||||
eq(users.id, userId),
|
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<HonoEnv>()
|
||||||
respondentId: respondents.id,
|
respondentId: respondents.id,
|
||||||
})
|
})
|
||||||
.from(users)
|
.from(users)
|
||||||
.leftJoin(rolesToUsers, eq(users.id, rolesToUsers.userId))
|
|
||||||
.leftJoin(rolesSchema, eq(rolesToUsers.roleId, rolesSchema.id))
|
|
||||||
.leftJoin(respondents, eq(users.id, respondents.userId))
|
.leftJoin(respondents, eq(users.id, respondents.userId))
|
||||||
.leftJoin(assessments, eq(respondents.id, assessments.respondentId))
|
.leftJoin(assessments, eq(respondents.id, assessments.respondentId))
|
||||||
.where(
|
.where(
|
||||||
and(
|
and(
|
||||||
eq(users.id, userId),
|
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))
|
.orderBy(desc(assessments.createdAt))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user