I got the following modules / Services:
Order Module:
import { ConfigModule } from '@nestjs/config';
import { TypeOrmModule } from '@nestjs/typeorm';
import { BarModule } from 'src/bar/bar.module';
import { ProductModule } from 'src/product/product.module';
import { TapModule } from 'src/tap/tap.module';
import { Order } from './entities/order.entity';
import { OrderController } from './order.controller';
import { OrderService } from './order.service';
@Module({
imports: [
TypeOrmModule.forFeature([Order]),
forwardRef(() => TapModule),
ProductModule,
BarModule,
ConfigModule,
],
controllers: [OrderController],
providers: [OrderService],
exports: [OrderService],
})
export class OrderModule {}
OrderService
export class OrderService {
constructor(
@InjectRepository(Order) private orderRepository: Repository<Order>,
private readonly tapService: TapService,
) {}
}
TapModule
import { forwardRef, Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Tap } from './entities/tap.entity';
import { BarModule } from 'src/bar/bar.module';
import { ConfigModule } from '@nestjs/config';
import { TapController } from './tap.controller';
import { TapService } from './tap.service';
import { OrderModule } from 'src/order/order.module';
@Module({
imports: [
TypeOrmModule.forFeature([Tap]),
BarModule,
forwardRef(() => OrderModule),
ConfigModule,
],
controllers: [TapController],
providers: [TapService],
exports: [TypeOrmModule, TapService],
})
export class TapModule {}
TapService
@Injectable()
export class TapService {
constructor(
@InjectRepository(Tap) private tapRepository: Repository<Tap>,
private readonly barService: BarService,
private readonly customerService: CustomerService,
private readonly orderService: OrderService,
private readonly productService: ProductService,
) {}
}
Although I think I imported everything I should I get this error:
Nest can't resolve dependencies of the OrderService (OrderRepository, ?). Please make sure that the argument dependency at index [1] is available in the OrderModule context.
Potential solutions:
- If dependency is a provider, is it part of the current OrderModule?
- If dependency is exported from a separate @Module, is that module imported within OrderModule?
@Module({
imports: [ /* the Module containing dependency */ ]
})
I did research a lot but didnt quite find anything. Or anything I found was exactly like that. I hope someone can help me and finds the error. Thanks in advance!
CodePudding user response:
Try to update your service:
export class OrderService {
constructor(
@InjectRepository(Order) private orderRepository: Repository<Order>,
@Inject(forwardRef(() => TapService))
private readonly tapService: TapService,
) {}
}