From 766f9b4af525abdcfbf2a09bfae0d64790c644bf Mon Sep 17 00:00:00 2001 From: Methapon Metanipat Date: Fri, 15 Nov 2024 09:16:52 +0700 Subject: [PATCH] feat: add support for search in request data --- src/controllers/06-request-list-controller.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/controllers/06-request-list-controller.ts b/src/controllers/06-request-list-controller.ts index a3b71f9..55127d1 100644 --- a/src/controllers/06-request-list-controller.ts +++ b/src/controllers/06-request-list-controller.ts @@ -3,6 +3,7 @@ import { RequestWithUser } from "../interfaces/user"; import prisma from "../db"; import { Prisma, RequestDataStatus, RequestWorkStatus } from "@prisma/client"; import { createPermCondition } from "../services/permission"; +import { queryOrNot } from "../utils/relation"; // User in company can see. const permissionCond = createPermCondition((_) => true); @@ -48,6 +49,24 @@ export class RequestDataController extends Controller { @Query() query: string = "", ) { const where = { + OR: queryOrNot(query, [ + { quotation: { code: { contains: query, mode: "insensitive" } } }, + { quotation: { workName: { contains: query } } }, + { + quotation: { + customerBranch: { + OR: [ + { code: { contains: query, mode: "insensitive" } }, + { customerName: { contains: query } }, + { firstName: { contains: query } }, + { firstNameEN: { contains: query } }, + { lastName: { contains: query } }, + { lastNameEN: { contains: query } }, + ], + }, + }, + }, + ]), quotation: { customerBranch: { customer: {