feat: add support for search in request data

This commit is contained in:
Methapon Metanipat 2024-11-15 09:16:52 +07:00
parent bbd2c23b12
commit 766f9b4af5

View file

@ -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<Prisma.RequestDataWhereInput[]>(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: {