chore: add service search
This commit is contained in:
@@ -10,7 +10,7 @@ import { CategoryListSearchQueryDto, CategorySearchQueryDto } from "../DTO/categ
|
||||
import { CreateCategoryDto } from "../DTO/create-category.dto";
|
||||
import { CreateServiceDto } from "../DTO/create-service.dto";
|
||||
import { DanakServiceReviewQueryDto } from "../DTO/danak-service-review-query.dto";
|
||||
import { DanakServicesQueryDto, DanakServicesSearchQueryDto } from "../DTO/danak-services-search-query.dto";
|
||||
import { DanakServicesGlobalSearchDto, DanakServicesQueryDto, DanakServicesSearchQueryDto } from "../DTO/danak-services-search-query.dto";
|
||||
import { UpdateCategoryDto } from "../DTO/update-category.dto";
|
||||
import { UpdateReviewStatusDto } from "../DTO/update-review-status.dto";
|
||||
import { UpdateServiceDto } from "../DTO/update-service.dto";
|
||||
@@ -324,6 +324,30 @@ export class DanakServicesService {
|
||||
async getServicesListForUser(queryDto: DanakServicesQueryDto) {
|
||||
return this.danakServicesRepository.getServicesForUser(queryDto);
|
||||
}
|
||||
/******************************************** */
|
||||
|
||||
async searchServices(queryDto: DanakServicesGlobalSearchDto) {
|
||||
const servicesQuery = this.danakServicesRepository
|
||||
.createQueryBuilder("service")
|
||||
.leftJoin("service.category", "category")
|
||||
.leftJoin("service.subscriptionPlans", "subscriptionPlans")
|
||||
.select(["service.id", "service.name", "service.description", "service.icon", "category.id", "category.title"])
|
||||
.where("service.isActive = :isActive", { isActive: true })
|
||||
.andWhere("service.deletedAt IS NULL")
|
||||
.andWhere("category.isActive = :categoryActive", { categoryActive: true })
|
||||
.andWhere("category.deletedAt IS NULL")
|
||||
.andWhere("subscriptionPlans.isActive = :planActive", { planActive: true });
|
||||
|
||||
if (queryDto.q) {
|
||||
servicesQuery.andWhere("service.name ILIKE :searchQuery", { searchQuery: `%${queryDto.q}%` });
|
||||
}
|
||||
|
||||
const services = await servicesQuery.getMany();
|
||||
|
||||
return {
|
||||
services,
|
||||
};
|
||||
}
|
||||
|
||||
/******************************************** */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user