본문 바로가기

Backend/NestJS

If BenefitTxHistoryRepository is a provider, is it part of the current AdminApiModule?

문제 상황

[Nest] 22390  - 10/26/2023, 8:58:32 PM   ERROR [ExceptionHandler] Nest can't resolve dependencies of the AdminApiService (?). Please make sure that the argument BenefitTxHistoryRepository at index [0] is available in the AdminApiModule context.

Potential solutions:
- Is AdminApiModule a valid NestJS module?
- If BenefitTxHistoryRepository is a provider, is it part of the current AdminApiModule?
- If BenefitTxHistoryRepository is exported from a separate @Module, is that module imported within AdminApiModule?
  @Module({
    imports: [ /* the Module containing BenefitTxHistoryRepository */ ]
  })
 

admin api service에서 다른 디렉토리+다른 db에 있는 benefitTxHistoryRepository를 주입해서 써야 했었는데, 위와 같은 에러가 계속 발생하였다. module 등록은 잘 했다고 간과했던 것 같다. 

 

문제 해결  

admin-api.module.ts의 imports 부분에서 아래와 같이 typeorm모듈의 forFeature로 repository를 import 해주니 에러가 사라졌다. 

타 api와 타db에서 호출하는 repository나 entity 같은 것들은 아래와 같이 정의를 해주어야 함을 다시금 깨달았다. 

TypeOrmModule.forFeature([BenefitTxHistoryRepository])