diff --git a/apps/edr-freight-api/src/modules/drivers/drivers.service.ts b/apps/edr-freight-api/src/modules/drivers/drivers.service.ts index 75b774f5c..d5176d14b 100644 --- a/apps/edr-freight-api/src/modules/drivers/drivers.service.ts +++ b/apps/edr-freight-api/src/modules/drivers/drivers.service.ts @@ -45,20 +45,22 @@ export class DriversService { sortBy?: string; sortOrder?: 'ASC' | 'DESC'; } = {}): Promise { - let qb = this.driverRepo.createQueryBuilder('d'); + const qb = this.driverRepo.createQueryBuilder('d'); if (query.search) { - qb = qb.where( - 'd.firstName ILIKE :search OR d.lastName ILIKE :search OR d.email ILIKE :search OR d.licenseNumber ILIKE :search OR d.phoneNumber ILIKE :search', - { search: `%${query.search}%` }, - ); + const searchTerm = `%${query.search}%`; + qb.where('d.firstName ILIKE :search', { search: searchTerm }) + .orWhere('d.lastName ILIKE :search', { search: searchTerm }) + .orWhere('d.email ILIKE :search', { search: searchTerm }) + .orWhere('d.licenseNumber ILIKE :search', { search: searchTerm }) + .orWhere('d.phoneNumber ILIKE :search', { search: searchTerm }); } if (query.status) { - qb = qb.andWhere('d.status = :status', { status: query.status }); + qb.andWhere('d.status = :status', { status: query.status }); } - const sortBy = ['firstName', 'lastName', 'status', 'createdAt'].includes(query.sortBy ?? '') + const sortBy = query.sortBy && ['firstName', 'lastName', 'status', 'createdAt'].includes(query.sortBy) ? query.sortBy : 'createdAt'; const sortOrder = (query.sortOrder ?? 'DESC').toUpperCase();