From dcce6cfdda3f5db2a736d728abddd7d2363ecb8c Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Tue, 18 Nov 2025 09:03:14 +0330 Subject: [PATCH] Refactor Auth and Restaurants modules to use forward references for circular dependency resolution; import JwtModule in RestaurantsModule. --- src/modules/auth/auth.module.ts | 4 ++-- src/modules/restaurants/restaurants.module.ts | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/modules/auth/auth.module.ts b/src/modules/auth/auth.module.ts index da232c4..b7dd16e 100644 --- a/src/modules/auth/auth.module.ts +++ b/src/modules/auth/auth.module.ts @@ -1,4 +1,4 @@ -import { Module } from '@nestjs/common'; +import { Module, forwardRef } from '@nestjs/common'; import { AuthService } from './services/auth.service'; import { AuthController } from './controllers/auth.controller'; import { UtilsModule } from '../utils/utils.module'; @@ -28,7 +28,7 @@ import { AdminAuthGuard } from './guards/adminAuth.guard'; inject: [ConfigService], }), AdminModule, - RestaurantsModule, + forwardRef(() => RestaurantsModule), MikroOrmModule.forFeature([User]), ], controllers: [AuthController, AdminAuthController], diff --git a/src/modules/restaurants/restaurants.module.ts b/src/modules/restaurants/restaurants.module.ts index 43c8d55..b9d9121 100644 --- a/src/modules/restaurants/restaurants.module.ts +++ b/src/modules/restaurants/restaurants.module.ts @@ -1,4 +1,4 @@ -import { Module } from '@nestjs/common'; +import { Module, forwardRef } from '@nestjs/common'; import { RestaurantsService } from './providers/restaurants.service'; import { RestaurantsController } from './controllers/restaurants.controller'; import { MikroOrmModule } from '@mikro-orm/nestjs'; @@ -8,11 +8,13 @@ import { ScheduleRepository } from './repositories/schedule.repository'; import { Schedule } from './entities/schedule.entity'; import { ScheduleService } from './providers/schedule.service'; import { ScheduleController } from './controllers/schedule.controller'; +import { JwtModule } from '@nestjs/jwt'; +import { AuthModule } from '../auth/auth.module'; @Module({ controllers: [RestaurantsController, ScheduleController], providers: [RestaurantsService, RestRepository, ScheduleRepository, ScheduleService], - imports: [MikroOrmModule.forFeature([Restaurant, Schedule])], + imports: [MikroOrmModule.forFeature([Restaurant, Schedule]), JwtModule, forwardRef(() => AuthModule)], exports: [RestRepository, ScheduleRepository, ScheduleService], }) export class RestaurantsModule {}