fix: the announcement count for user dashboard

This commit is contained in:
mahyargdz
2025-03-11 14:22:19 +03:30
parent 6eea07729b
commit cba2d21d94
4 changed files with 20 additions and 5 deletions
@@ -181,4 +181,8 @@ export class AnnouncementService {
return { announcements, count, paginate: true };
}
//************************************ */
async countUserAnnouncements(userId: string) {
return this.userAnnouncementRepository.countBy({ user: { id: userId }, isRead: false });
}
}
+11 -1
View File
@@ -2,6 +2,7 @@ import { Module } from "@nestjs/common";
import { DashboardController } from "./dashboard.controller";
import { AdsModule } from "../ads/ads.module";
import { AnnouncementsModule } from "../announcements/announcement.module";
import { DanakServicesModule } from "../danak-services/danak-services.module";
import { InvoicesModule } from "../invoices/invoices.module";
import { NotificationModule } from "../notifications/notifications.module";
@@ -11,7 +12,16 @@ import { DashboardService } from "./providers/dashboard.service";
import { SubscriptionsModule } from "../subscriptions/subscriptions.module";
@Module({
imports: [InvoicesModule, TicketsModule, UsersModule, AdsModule, DanakServicesModule, SubscriptionsModule, NotificationModule],
imports: [
InvoicesModule,
TicketsModule,
UsersModule,
AdsModule,
DanakServicesModule,
SubscriptionsModule,
NotificationModule,
AnnouncementsModule,
],
providers: [DashboardService],
controllers: [DashboardController],
})
@@ -2,6 +2,7 @@ import { Injectable } from "@nestjs/common";
import { AdsService } from "../../ads/providers/ads.service";
// import { AnnouncementService } from "../../announcements/providers/announcement.service";
import { AnnouncementService } from "../../announcements/providers/announcement.service";
import { DanakServicesService } from "../../danak-services/providers/danak-services.service";
import { InvoicesService } from "../../invoices/providers/invoices.service";
import { NotificationsService } from "../../notifications/providers/notifications.service";
@@ -19,7 +20,7 @@ export class DashboardService {
private readonly subscriptionsService: SubscriptionsService,
private readonly notificationsService: NotificationsService,
private readonly customersService: CustomersService,
// private readonly announcementService: AnnouncementService,
private readonly announcementService: AnnouncementService,
) {}
//************************************ */
@@ -28,13 +29,13 @@ export class DashboardService {
const subscriptionCount = await this.subscriptionsService.countUserSubscriptions(userId);
const ticketCount = await this.ticketsService.countUserTickets(userId);
const invoiceCount = await this.invoicesService.countUserInvoices(userId);
// const announcementCount = await this.announcementService.countUserAnnouncements(userId);
const announcementCount = await this.announcementService.countUserAnnouncements(userId);
const notificationCount = await this.notificationsService.countUserNotifications(userId);
return {
subscriptionCount,
ticketCount,
invoiceCount,
announcementCount: 0,
announcementCount,
notificationCount,
};
}
@@ -505,7 +505,7 @@ export class InvoicesService {
let delayMs: number;
switch (recurringPeriod) {
case RecurringPeriodEnum.WEEKLY:
delayMs = dayjs().add(1, "week").subtract(7, "days").diff(dayjs());
delayMs = dayjs().add(1, "week").subtract(INVOICE.DAYS_BEFORE_OVERDUE, "days").diff(dayjs());
break;
case RecurringPeriodEnum.MONTHLY:
delayMs = dayjs().add(1, "month").subtract(7, "days").diff(dayjs());