fix: error due top field dropped

This commit is contained in:
Methapon Metanipat 2024-08-22 11:44:44 +07:00
parent c548386b56
commit b0b54451a2

View file

@ -224,18 +224,33 @@ export class CustomerBranchController extends Controller {
async listEmployee(
@Path() branchId: string,
@Query() zipCode?: string,
@Query() gender?: string,
@Query() status?: Status,
@Query() query: string = "",
@Query() page: number = 1,
@Query() pageSize: number = 30,
) {
const filterStatus = (val?: Status) => {
if (!val) return {};
return val !== Status.CREATED && val !== Status.ACTIVE
? { status: val }
: { OR: [{ status: Status.CREATED }, { status: Status.ACTIVE }] };
};
const where = {
AND: { customerBranchId: branchId },
OR: [
{ firstName: { contains: query }, zipCode },
{ firstNameEN: { contains: query }, zipCode },
{ lastName: { contains: query }, zipCode },
{ lastNameEN: { contains: query }, zipCode },
{ firstName: { contains: query } },
{ firstNameEN: { contains: query } },
{ lastName: { contains: query } },
{ lastNameEN: { contains: query } },
],
AND: {
...filterStatus(status),
customerBranchId: branchId,
subDistrict: zipCode ? { zipCode } : undefined,
gender,
},
} satisfies Prisma.EmployeeWhereInput;
const [result, total] = await prisma.$transaction([