chore: add update and delete for services and category and ads

This commit is contained in:
mahyargdz
2025-03-04 12:41:27 +03:30
parent 98734aee9d
commit ea184c643b
9 changed files with 144 additions and 31 deletions
@@ -1,6 +1,6 @@
import { Injectable } from "@nestjs/common";
import { InjectRepository } from "@nestjs/typeorm";
import { Brackets, Repository } from "typeorm";
import { Brackets, IsNull, Not, Repository } from "typeorm";
import { PaginationUtils } from "../../utils/providers/pagination.utils";
import { DanakServicesQueryDto, DanakServicesSearchQueryDto } from "../DTO/danak-services-search-query.dto";
@@ -12,12 +12,12 @@ export class DanakServicesRepository extends Repository<DanakService> {
super(danakServicesRepository.target, danakServicesRepository.manager, danakServicesRepository.queryRunner);
}
async findOneByName(name: string): Promise<DanakService | null> {
return this.findOneBy({ name });
async findOneByName(name: string, id?: string): Promise<DanakService | null> {
return this.findOneBy({ name, deletedAt: IsNull(), ...(id && { id: Not(id) }) });
}
async findServiceById(id: string): Promise<DanakService | null> {
return this.findOneBy({ id });
return this.findOneBy({ id, deletedAt: IsNull() });
}
//+********************
async getServicesForAdmin(queryDto: DanakServicesSearchQueryDto) {
@@ -27,6 +27,7 @@ export class DanakServicesRepository extends Repository<DanakService> {
.leftJoinAndSelect("service.category", "category")
.loadRelationCountAndMap("service.subscriptionCount", "service.subscriptionPlans")
.orderBy("service.createdAt", "DESC")
.where("service.deletedAt = :deletedAt", { deletedAt: IsNull() })
.skip(skip)
.take(limit);
@@ -68,6 +69,7 @@ export class DanakServicesRepository extends Repository<DanakService> {
.innerJoin("service.subscriptionPlans", "subscriptionPlans", "subscriptionPlans.isActive = :isActive", { isActive: true })
.leftJoinAndSelect("service.category", "category")
.where("service.isActive = :isActive", { isActive: true })
.andWhere("service.deletedAt = :deletedAt", { deletedAt: IsNull() })
.andWhere("service.isDanakSuggest = :isDanakSuggest", { isDanakSuggest: true })
.orderBy("service.createdAt", "DESC")
.skip(skip)