From 55ec7b713f6349388e01bffaae17a30bb8307019 Mon Sep 17 00:00:00 2001 From: mahyargdz Date: Wed, 7 May 2025 10:29:24 +0330 Subject: [PATCH] feat: fix --- .../repositories/support-plan.repository.ts | 7 +++++-- .../user-support-plan.repository.ts | 17 +++++++++++++++++ .../tickets/providers/tickets.service.ts | 2 -- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/modules/support-plans/repositories/support-plan.repository.ts b/src/modules/support-plans/repositories/support-plan.repository.ts index deb7362..51614a6 100644 --- a/src/modules/support-plans/repositories/support-plan.repository.ts +++ b/src/modules/support-plans/repositories/support-plan.repository.ts @@ -5,6 +5,7 @@ import { IsNull, Repository } from "typeorm"; import { PaginationUtils } from "../../utils/providers/pagination.utils"; import { GetSupportPlanListQueryDto } from "../DTO/get-support-plan-list-query.dto"; import { SupportPlan } from "../entities/support-plan.entity"; +import { UserSupportPlanStatus } from "../enums/user-support-plan-status.enum"; @Injectable() export class SupportPlanRepository extends Repository { @@ -16,7 +17,9 @@ export class SupportPlanRepository extends Repository { async getSupportPlansListAdmin(queryDto: GetSupportPlanListQueryDto) { const { limit, skip } = PaginationUtils(queryDto); const query = this.createQueryBuilder("supportPlan").where("supportPlan.deletedAt IS NULL"); - query.loadRelationCountAndMap("supportPlan.userCount", "supportPlan.users"); + query.loadRelationCountAndMap("supportPlan.userCount", "supportPlan.users", "user", (qb) => + qb.where("user.status = :status", { status: UserSupportPlanStatus.ACTIVE }), + ); if (queryDto.q) { query.andWhere("supportPlan.name ILIKE :q OR supportPlan.description ILIKE :q", { q: `%${queryDto.q}%` }); @@ -29,7 +32,7 @@ export class SupportPlanRepository extends Repository { query.skip(skip).take(limit).orderBy("supportPlan.createdAt", "DESC"); return query.getManyAndCount(); } - + //***************************************** */ async getSupportPlansListUser() { return this.createQueryBuilder("supportPlan") .leftJoinAndSelect("supportPlan.features", "features") diff --git a/src/modules/support-plans/repositories/user-support-plan.repository.ts b/src/modules/support-plans/repositories/user-support-plan.repository.ts index e640fdf..ba33664 100644 --- a/src/modules/support-plans/repositories/user-support-plan.repository.ts +++ b/src/modules/support-plans/repositories/user-support-plan.repository.ts @@ -25,6 +25,23 @@ export class UserSupportPlanRepository extends Repository { return this.findAndCount({ where: { supportPlan: { id: supportPlanId }, status: UserSupportPlanStatus.ACTIVE }, relations: { user: true, supportPlan: true }, + select: { + id: true, + user: { + id: true, + firstName: true, + lastName: true, + }, + supportPlan: { + id: true, + name: true, + price: true, + }, + startDate: true, + endDate: true, + status: true, + createdAt: true, + }, take: limit, skip, }); diff --git a/src/modules/tickets/providers/tickets.service.ts b/src/modules/tickets/providers/tickets.service.ts index bd3009d..a499dc7 100755 --- a/src/modules/tickets/providers/tickets.service.ts +++ b/src/modules/tickets/providers/tickets.service.ts @@ -127,8 +127,6 @@ export class TicketsService { const ticketLimit = parseInt(ticketLimitFeature.featureValue); if (isNaN(ticketLimit)) return; - if (isNaN(ticketLimit)) throw new BadRequestException(TicketMessageEnum.INVALID_TICKET_LIMIT); - const today = dayjs().startOf("day").toDate(); const ticketCount = await queryRunner.manager.count(this.ticketsRepository.target, {