import { Module } from "@nestjs/common";
import { MongooseModule } from "@nestjs/mongoose";
import { ExerciseController } from "./exercise.controller";
import { ExerciseService } from "./exercise.service";
import { Exercise, ExerciseSchema } from "./schemas/exercise.schema";
import { ExerciseCategory, ExerciseCategorySchema } from "./schemas/exercise-category.schema";
import { BodyPart, BodyPartSchema } from "./schemas/body-part.schema";
import { ResponseService } from "src/common/service/response.service";
import { TranslationService } from "src/common/service/translation.service";
import { JwtUtilsService } from "src/common/service/jwt.util.service";
import { User, UserSchema } from "src/user/schemas/user.schema";

@Module({
  imports: [
    MongooseModule.forFeature([
      { name: Exercise.name, schema: ExerciseSchema },
      { name: ExerciseCategory.name, schema: ExerciseCategorySchema },
      { name: BodyPart.name, schema: BodyPartSchema },
      { name: User.name, schema: UserSchema },
    ]),
  ],
  controllers: [ExerciseController],
  providers: [
    ExerciseService,
    ResponseService,
    TranslationService,
    JwtUtilsService,
  ],
  exports: [ExerciseService],
})
export class ExerciseModule {}
