@lookingfor2

Как правильно было бы импортировать модуль?

Вот AppModule.
Для того чтобы использовать PaymenUseCase в контроллерах, я импортирую модуль этого useCase в AppModule.
@Module({
  imports: [
    PaymentHelperUseCaseModule,
  ],
  providers: [
    PaymentGateway,
  ],
  controllers: [
    IntegrationController,
  ],
})
export class AppModule {}


Допустим мне нужно использовать useCase не только в контроллерах а и в других модулях.
Тут есть 2 варианта:
1) Импортировать PaymentHelperUseCaseModule заново
@Module({
  imports: [
    BullModule.forRootAsync(BullConfig),
    BullModule.registerQueueAsync({
      name: queuesNamesConfig.settlement.queue,
    }),
    DataServicesModule,
    PaymentHelperUseCaseModule,
  ],
  providers: [SettlementQueueService, SettlementProcessor],
  exports: [SettlementQueueService],
})
export class SettlementQueueModule {}

2) Добавить providers из модуля, так как он уже был импортирован в appModule(насколько я понимаю)
@Module({
  imports: [
    BullModule.forRootAsync(BullConfig),
    BullModule.registerQueueAsync({
      name: queuesNamesConfig.settlement.queue,
    }),
    DataServicesModule,
  ],
  providers: [
    PaymentHelperUseCase,
    PaymentHelperFactory,
    SettlementQueueService,
    SettlementProcessor,
  ],
  exports: [SettlementQueueService],
})
export class SettlementQueueModule {}
  • Вопрос задан
  • 35 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы