import { Module } from "@nestjs/common";
import { MongooseModule } from "@nestjs/mongoose";
import { TrainingPlanController } from "./training-plan.controller";
import { TrainingPlanService } from "./training-plan.service";
import { TrainingPlan, TrainingPlanSchema } from "./schemas/training-plan.schema";
import { Exercise, ExerciseSchema } from "src/exercise/schemas/exercise.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";
import {
  WorkoutSession,
  WorkoutSessionSchema,
} from "src/workout-session/schemas/workout-session.schema";
import { StorageModule } from "src/storage/storage.module";


@Module({
  imports: [
    MongooseModule.forFeature([
      { name: TrainingPlan.name, schema: TrainingPlanSchema },
      { name: Exercise.name, schema: ExerciseSchema },
      { name: User.name, schema: UserSchema },
      { name: WorkoutSession.name, schema: WorkoutSessionSchema },
    ]),
    StorageModule,
  ],
  controllers: [TrainingPlanController],
  providers: [
    TrainingPlanService,
    ResponseService,
    TranslationService,
    JwtUtilsService,
  ],
  exports: [TrainingPlanService],
})
export class TrainingPlanModule {}
