fix(presence-service): 修复 MetricsModule 依赖注入,直接提供仓库实现
MetricsCollectorService 需要 DAU 和 EventLog 仓库, 但这些在 InfrastructureModule 中通过符号注入, 导致循环依赖问题。改为在 MetricsModule 中直接提供这些依赖。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
8faaedaa64
commit
f771dc8f6e
|
|
@ -1,15 +1,35 @@
|
|||
import { Module, Global } from '@nestjs/common';
|
||||
import { Module, Global, forwardRef } from '@nestjs/common';
|
||||
import { MetricsService } from './metrics.service';
|
||||
import { MetricsController } from './metrics.controller';
|
||||
import { MetricsCollectorService } from './metrics-collector.service';
|
||||
import { RedisModule } from '../redis/redis.module';
|
||||
import { PersistenceModule } from '../persistence/persistence.module';
|
||||
import { PrismaService } from '../persistence/prisma/prisma.service';
|
||||
import { DailyActiveStatsMapper } from '../persistence/mappers/daily-active-stats.mapper';
|
||||
import { EventLogMapper } from '../persistence/mappers/event-log.mapper';
|
||||
import { DailyActiveStatsRepositoryImpl } from '../persistence/repositories/daily-active-stats.repository.impl';
|
||||
import { EventLogRepositoryImpl } from '../persistence/repositories/event-log.repository.impl';
|
||||
import { DAILY_ACTIVE_STATS_REPOSITORY } from '../../domain/repositories/daily-active-stats.repository.interface';
|
||||
import { EVENT_LOG_REPOSITORY } from '../../domain/repositories/event-log.repository.interface';
|
||||
|
||||
@Global()
|
||||
@Module({
|
||||
imports: [RedisModule, PersistenceModule],
|
||||
imports: [RedisModule],
|
||||
controllers: [MetricsController],
|
||||
providers: [MetricsService, MetricsCollectorService],
|
||||
providers: [
|
||||
MetricsService,
|
||||
MetricsCollectorService,
|
||||
PrismaService,
|
||||
DailyActiveStatsMapper,
|
||||
EventLogMapper,
|
||||
{
|
||||
provide: DAILY_ACTIVE_STATS_REPOSITORY,
|
||||
useClass: DailyActiveStatsRepositoryImpl,
|
||||
},
|
||||
{
|
||||
provide: EVENT_LOG_REPOSITORY,
|
||||
useClass: EventLogRepositoryImpl,
|
||||
},
|
||||
],
|
||||
exports: [MetricsService],
|
||||
})
|
||||
export class MetricsModule {}
|
||||
|
|
|
|||
Loading…
Reference in New Issue