feat: add query string

This commit is contained in:
Methapon2001 2024-06-13 17:21:22 +07:00
parent 0747fca92e
commit 5b6c7e7ac8
3 changed files with 23 additions and 18 deletions

View file

@ -111,6 +111,7 @@ export class CustomerBranchController extends Controller {
async list( async list(
@Query() zipCode?: string, @Query() zipCode?: string,
@Query() customerId?: string, @Query() customerId?: string,
@Query() status?: Status,
@Query() includeCustomer?: boolean, @Query() includeCustomer?: boolean,
@Query() query: string = "", @Query() query: string = "",
@Query() page: number = 1, @Query() page: number = 1,
@ -118,22 +119,24 @@ export class CustomerBranchController extends Controller {
) { ) {
const where = { const where = {
OR: [ OR: [
{ nameEN: { contains: query }, zipCode }, { nameEN: { contains: query }, zipCode, status },
{ name: { contains: query }, zipCode }, { name: { contains: query }, zipCode, status },
{ email: { contains: query }, zipCode }, { email: { contains: query }, zipCode, status },
{ code: { contains: query }, zipCode }, { code: { contains: query }, zipCode, status },
{ address: { contains: query }, zipCode }, { address: { contains: query }, zipCode, status },
{ addressEN: { contains: query }, zipCode }, { addressEN: { contains: query }, zipCode, status },
{ province: { name: { contains: query } }, zipCode }, { province: { name: { contains: query } }, zipCode, status },
{ province: { nameEN: { contains: query } }, zipCode }, { province: { nameEN: { contains: query } }, zipCode, status },
{ district: { name: { contains: query } }, zipCode }, { district: { name: { contains: query } }, zipCode, status },
{ district: { nameEN: { contains: query } }, zipCode }, { district: { nameEN: { contains: query } }, zipCode, status },
{ subDistrict: { name: { contains: query } }, zipCode }, { subDistrict: { name: { contains: query } }, zipCode, status },
{ subDistrict: { nameEN: { contains: query } }, zipCode }, { subDistrict: { nameEN: { contains: query } }, zipCode, status },
{ {
customer: { customer: {
OR: [{ customerName: { contains: query } }, { customerNameEN: { contains: query } }], OR: [{ customerName: { contains: query } }, { customerNameEN: { contains: query } }],
}, },
zipCode,
status,
}, },
], ],
AND: { customerId }, AND: { customerId },

View file

@ -138,14 +138,15 @@ export class CustomerController extends Controller {
async list( async list(
@Query() customerType?: CustomerType, @Query() customerType?: CustomerType,
@Query() query: string = "", @Query() query: string = "",
@Query() status?: Status,
@Query() page: number = 1, @Query() page: number = 1,
@Query() pageSize: number = 30, @Query() pageSize: number = 30,
@Query() includeBranch: boolean = false, @Query() includeBranch: boolean = false,
) { ) {
const where = { const where = {
OR: [ OR: [
{ customerName: { contains: query }, customerType }, { customerName: { contains: query }, customerType, status },
{ customerNameEN: { contains: query }, customerType }, { customerNameEN: { contains: query }, customerType, status },
], ],
} satisfies Prisma.CustomerWhereInput; } satisfies Prisma.CustomerWhereInput;

View file

@ -229,16 +229,17 @@ export class EmployeeController extends Controller {
async list( async list(
@Query() zipCode?: string, @Query() zipCode?: string,
@Query() gender?: string, @Query() gender?: string,
@Query() status?: Status,
@Query() query: string = "", @Query() query: string = "",
@Query() page: number = 1, @Query() page: number = 1,
@Query() pageSize: number = 30, @Query() pageSize: number = 30,
) { ) {
const where = { const where = {
OR: [ OR: [
{ firstName: { contains: query }, zipCode, gender }, { firstName: { contains: query }, zipCode, gender, status },
{ firstNameEN: { contains: query }, zipCode, gender }, { firstNameEN: { contains: query }, zipCode, gender, status },
{ lastName: { contains: query }, zipCode, gender }, { lastName: { contains: query }, zipCode, gender, status },
{ lastNameEN: { contains: query }, zipCode, gender }, { lastNameEN: { contains: query }, zipCode, gender, status },
], ],
} satisfies Prisma.EmployeeWhereInput; } satisfies Prisma.EmployeeWhereInput;