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 { MetricsService } from './metrics.service';
|
||||||
import { MetricsController } from './metrics.controller';
|
import { MetricsController } from './metrics.controller';
|
||||||
import { MetricsCollectorService } from './metrics-collector.service';
|
import { MetricsCollectorService } from './metrics-collector.service';
|
||||||
import { RedisModule } from '../redis/redis.module';
|
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()
|
@Global()
|
||||||
@Module({
|
@Module({
|
||||||
imports: [RedisModule, PersistenceModule],
|
imports: [RedisModule],
|
||||||
controllers: [MetricsController],
|
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],
|
exports: [MetricsService],
|
||||||
})
|
})
|
||||||
export class MetricsModule {}
|
export class MetricsModule {}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue