У меня есть простой модуль nestjs со службой, которая делает вызовы к базе данных sql через typeorm.Модуль работает нормально, но я не могу использовать службу в другой службе внешнего модуля.
Вот мой модуль:
@Module({
imports: [TypeOrmModule.forFeature([MyEntity])],
controllers: [MyController],
providers: [MyService],
exports: [MyService],
})
export class MyModule {
constructor(
private readonly connection: Connection) { }
}
И мой сервис:
@Injectable()
export class MyService {
constructor(
@InjectRepository(MyEntity)
private readonly myEntityRepository: Repository<MyEntity>,
) {}
async find(): Promise<any> {
return await this.myEntityRepository.find();
}
}
Это отлично работает, я могу использовать MyService в MyController, но теперь я хочу использовать MyService в другом сервисе из другого модуля:
@Module({
imports: [MyModule],
controllers: [OtherController],
providers: [OtherService, MyService],
})
export class OtherModule {
constructor(
private readonly connection: Connection) { }
}
И мой сервис:
@Injectable()
export class OtherService {
constructor(
private readonly myService: MyService,
) {}
async find(): Promise<any> {
return await this.myService.find();
}
}
Я всегдаполучено сообщение об ошибке "Nest не может разрешить зависимости MyService ...".Я попробовал все, например, создание поставщиков баз данных и т. Д., Но ничего не работает.
Важным моментом является то, что я не хочу, чтобы OtherModule и OtherService знали о сущностях и репозиториях, обрабатываемых в MyService.