From 386ad956e5475a9d5974eaa59b94d4ccdadd3a5e Mon Sep 17 00:00:00 2001 From: Methapon Metanipat <162551568+Methapon-Frappet@users.noreply.github.com> Date: Wed, 30 Oct 2024 17:46:36 +0700 Subject: [PATCH] fix: workflow query not work on filter (#3) * fix: query not work when filter was applied * refactor: prevent query condition from being build on empty --- src/controllers/04-flow-template-controller.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/controllers/04-flow-template-controller.ts b/src/controllers/04-flow-template-controller.ts index d7bf3fe..29260f5 100644 --- a/src/controllers/04-flow-template-controller.ts +++ b/src/controllers/04-flow-template-controller.ts @@ -24,6 +24,7 @@ import HttpError from "../interfaces/http-error"; import HttpStatus from "../interfaces/http-status"; import { notFoundError } from "../utils/error"; import { filterStatus } from "../services/prisma"; +import { queryOrNot } from "../utils/relation"; type WorkflowPayload = { name: string; @@ -54,17 +55,19 @@ export class FlowTemplateController extends Controller { @Query() query = "", ) { const where = { - OR: [ + OR: queryOrNot(query, [ { name: { contains: query } }, { step: { some: { name: { contains: query } }, }, }, - ], - ...filterStatus(status), - registeredBranch: { - OR: permissionCondCompany(req.user), + ]), + AND: { + ...filterStatus(status), + registeredBranch: { + OR: permissionCondCompany(req.user), + }, }, } satisfies Prisma.WorkflowTemplateWhereInput; const [result, total] = await prisma.$transaction([