From 5b6c7e7ac82ff19424736dcdcb512ba8195b2bc7 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Thu, 13 Jun 2024 17:21:22 +0700 Subject: [PATCH] feat: add query string --- src/controllers/customer-branch-controller.ts | 27 ++++++++++--------- src/controllers/customer-controller.ts | 5 ++-- src/controllers/employee-controller.ts | 9 ++++--- 3 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/controllers/customer-branch-controller.ts b/src/controllers/customer-branch-controller.ts index ae5c350..9ae3615 100644 --- a/src/controllers/customer-branch-controller.ts +++ b/src/controllers/customer-branch-controller.ts @@ -111,6 +111,7 @@ export class CustomerBranchController extends Controller { async list( @Query() zipCode?: string, @Query() customerId?: string, + @Query() status?: Status, @Query() includeCustomer?: boolean, @Query() query: string = "", @Query() page: number = 1, @@ -118,22 +119,24 @@ export class CustomerBranchController extends Controller { ) { const where = { OR: [ - { nameEN: { contains: query }, zipCode }, - { name: { contains: query }, zipCode }, - { email: { contains: query }, zipCode }, - { code: { contains: query }, zipCode }, - { address: { contains: query }, zipCode }, - { addressEN: { contains: query }, zipCode }, - { province: { name: { contains: query } }, zipCode }, - { province: { nameEN: { contains: query } }, zipCode }, - { district: { name: { contains: query } }, zipCode }, - { district: { nameEN: { contains: query } }, zipCode }, - { subDistrict: { name: { contains: query } }, zipCode }, - { subDistrict: { nameEN: { contains: query } }, zipCode }, + { nameEN: { contains: query }, zipCode, status }, + { name: { contains: query }, zipCode, status }, + { email: { contains: query }, zipCode, status }, + { code: { contains: query }, zipCode, status }, + { address: { contains: query }, zipCode, status }, + { addressEN: { contains: query }, zipCode, status }, + { province: { name: { contains: query } }, zipCode, status }, + { province: { nameEN: { contains: query } }, zipCode, status }, + { district: { name: { contains: query } }, zipCode, status }, + { district: { nameEN: { contains: query } }, zipCode, status }, + { subDistrict: { name: { contains: query } }, zipCode, status }, + { subDistrict: { nameEN: { contains: query } }, zipCode, status }, { customer: { OR: [{ customerName: { contains: query } }, { customerNameEN: { contains: query } }], }, + zipCode, + status, }, ], AND: { customerId }, diff --git a/src/controllers/customer-controller.ts b/src/controllers/customer-controller.ts index 251146a..a9554f5 100644 --- a/src/controllers/customer-controller.ts +++ b/src/controllers/customer-controller.ts @@ -138,14 +138,15 @@ export class CustomerController extends Controller { async list( @Query() customerType?: CustomerType, @Query() query: string = "", + @Query() status?: Status, @Query() page: number = 1, @Query() pageSize: number = 30, @Query() includeBranch: boolean = false, ) { const where = { OR: [ - { customerName: { contains: query }, customerType }, - { customerNameEN: { contains: query }, customerType }, + { customerName: { contains: query }, customerType, status }, + { customerNameEN: { contains: query }, customerType, status }, ], } satisfies Prisma.CustomerWhereInput; diff --git a/src/controllers/employee-controller.ts b/src/controllers/employee-controller.ts index e6bdaff..24408ae 100644 --- a/src/controllers/employee-controller.ts +++ b/src/controllers/employee-controller.ts @@ -229,16 +229,17 @@ export class EmployeeController extends Controller { async list( @Query() zipCode?: string, @Query() gender?: string, + @Query() status?: Status, @Query() query: string = "", @Query() page: number = 1, @Query() pageSize: number = 30, ) { const where = { OR: [ - { firstName: { contains: query }, zipCode, gender }, - { firstNameEN: { contains: query }, zipCode, gender }, - { lastName: { contains: query }, zipCode, gender }, - { lastNameEN: { contains: query }, zipCode, gender }, + { firstName: { contains: query }, zipCode, gender, status }, + { firstNameEN: { contains: query }, zipCode, gender, status }, + { lastName: { contains: query }, zipCode, gender, status }, + { lastNameEN: { contains: query }, zipCode, gender, status }, ], } satisfies Prisma.EmployeeWhereInput;