fix: the bug in transaction list user side

This commit is contained in:
mahyargdz
2025-03-01 11:32:39 +03:30
parent 6aee1a5769
commit ada9c153e6
14 changed files with 84 additions and 153 deletions
+11 -2
View File
@@ -1,17 +1,26 @@
import { Controller, Get } from "@nestjs/common";
import { ApiOperation } from "@nestjs/swagger";
import { DashboardService } from "./providers/dashboard.service";
import { AdminRoute } from "../../common/decorators/admin.decorator";
import { AuthGuards } from "../../common/decorators/auth-guard.decorator";
import { UserDec } from "../../common/decorators/user.decorator";
@Controller("dashboards")
@AuthGuards()
@AdminRoute()
export class DashboardController {
constructor(private readonly dashboardService: DashboardService) {}
@ApiOperation({ summary: "Get dashboard data for admin" })
@AdminRoute()
@Get("reports")
async reports() {
reports() {
return this.dashboardService.reports();
}
@ApiOperation({ summary: "Get dashboard data for user" })
@Get("summary")
getSummary(@UserDec("id") userId: string) {
return this.dashboardService.getSummary(userId);
}
}
+2 -1
View File
@@ -4,13 +4,14 @@ import { DashboardController } from "./dashboard.controller";
import { AdsModule } from "../ads/ads.module";
import { DanakServicesModule } from "../danak-services/danak-services.module";
import { InvoicesModule } from "../invoices/invoices.module";
import { NotificationModule } from "../notifications/notifications.module";
import { TicketsModule } from "../tickets/tickets.module";
import { UsersModule } from "../users/users.module";
import { DashboardService } from "./providers/dashboard.service";
import { SubscriptionsModule } from "../subscriptions/subscriptions.module";
@Module({
imports: [InvoicesModule, TicketsModule, UsersModule, AdsModule, DanakServicesModule, SubscriptionsModule],
imports: [InvoicesModule, TicketsModule, UsersModule, AdsModule, DanakServicesModule, SubscriptionsModule, NotificationModule],
providers: [DashboardService],
controllers: [DashboardController],
})
@@ -1,8 +1,10 @@
import { Injectable } from "@nestjs/common";
import { AdsService } from "../../ads/providers/ads.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";
import { SubscriptionsService } from "../../subscriptions/providers/subscriptions.service";
import { TicketsService } from "../../tickets/providers/tickets.service";
import { UsersService } from "../../users/providers/users.service";
@@ -16,10 +18,27 @@ export class DashboardService {
private readonly ticketsService: TicketsService,
private readonly adsService: AdsService,
private readonly subscriptionsService: SubscriptionsService,
private readonly notificationsService: NotificationsService,
// private readonly announcementService: AnnouncementService,
) {}
//************************************ */
async getSummary(userId: string) {
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 notificationCount = await this.notificationsService.countUserNotifications(userId);
return {
subscriptionCount,
ticketCount,
invoiceCount,
announcementCount: 0,
notificationCount,
};
}
async reports() {
const danakServicesCount = await this.getDanakServicesCount();
const customersCount = await this.getCustomersCount();