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 }; 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 { DashboardController } from "./dashboard.controller";
import { AdsModule } from "../ads/ads.module"; import { AdsModule } from "../ads/ads.module";
import { AnnouncementsModule } from "../announcements/announcement.module";
import { DanakServicesModule } from "../danak-services/danak-services.module"; import { DanakServicesModule } from "../danak-services/danak-services.module";
import { InvoicesModule } from "../invoices/invoices.module"; import { InvoicesModule } from "../invoices/invoices.module";
import { NotificationModule } from "../notifications/notifications.module"; import { NotificationModule } from "../notifications/notifications.module";
@@ -11,7 +12,16 @@ import { DashboardService } from "./providers/dashboard.service";
import { SubscriptionsModule } from "../subscriptions/subscriptions.module"; import { SubscriptionsModule } from "../subscriptions/subscriptions.module";
@Module({ @Module({
imports: [InvoicesModule, TicketsModule, UsersModule, AdsModule, DanakServicesModule, SubscriptionsModule, NotificationModule], imports: [
InvoicesModule,
TicketsModule,
UsersModule,
AdsModule,
DanakServicesModule,
SubscriptionsModule,
NotificationModule,
AnnouncementsModule,
],
providers: [DashboardService], providers: [DashboardService],
controllers: [DashboardController], controllers: [DashboardController],
}) })
@@ -2,6 +2,7 @@ import { Injectable } from "@nestjs/common";
import { AdsService } from "../../ads/providers/ads.service"; import { AdsService } from "../../ads/providers/ads.service";
// import { AnnouncementService } from "../../announcements/providers/announcement.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 { DanakServicesService } from "../../danak-services/providers/danak-services.service";
import { InvoicesService } from "../../invoices/providers/invoices.service"; import { InvoicesService } from "../../invoices/providers/invoices.service";
import { NotificationsService } from "../../notifications/providers/notifications.service"; import { NotificationsService } from "../../notifications/providers/notifications.service";
@@ -19,7 +20,7 @@ export class DashboardService {
private readonly subscriptionsService: SubscriptionsService, private readonly subscriptionsService: SubscriptionsService,
private readonly notificationsService: NotificationsService, private readonly notificationsService: NotificationsService,
private readonly customersService: CustomersService, 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 subscriptionCount = await this.subscriptionsService.countUserSubscriptions(userId);
const ticketCount = await this.ticketsService.countUserTickets(userId); const ticketCount = await this.ticketsService.countUserTickets(userId);
const invoiceCount = await this.invoicesService.countUserInvoices(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); const notificationCount = await this.notificationsService.countUserNotifications(userId);
return { return {
subscriptionCount, subscriptionCount,
ticketCount, ticketCount,
invoiceCount, invoiceCount,
announcementCount: 0, announcementCount,
notificationCount, notificationCount,
}; };
} }
@@ -505,7 +505,7 @@ export class InvoicesService {
let delayMs: number; let delayMs: number;
switch (recurringPeriod) { switch (recurringPeriod) {
case RecurringPeriodEnum.WEEKLY: 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; break;
case RecurringPeriodEnum.MONTHLY: case RecurringPeriodEnum.MONTHLY:
delayMs = dayjs().add(1, "month").subtract(7, "days").diff(dayjs()); delayMs = dayjs().add(1, "month").subtract(7, "days").diff(dayjs());