import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository, Between, MoreThanOrEqual } from 'typeorm'; import { User } from '../../users/entities/user.entity'; import { Store } from '../../stores/entities/store.entity'; import { Video } from '../../videos/entities/video.entity'; import { Payment, PaymentStatus } from '../../payments/entities/payment.entity'; import { CreditTransaction, TransactionType } from '../../credits/entities/credit-transaction.entity'; import { DashboardMetrics, RevenueSeriesPoint, DashboardPeriod } from '../dto/dashboard.dto'; @Injectable() export class AdminDashboardService { constructor( @InjectRepository(User) private userRepository: Repository, @InjectRepository(Store) private storeRepository: Repository, @InjectRepository(Video) private videoRepository: Repository