import { Module } from "@nestjs/common"
import { AddOnsPricingService } from "./v1/add-ons-pricing.service"
import { AddOnsPricingController } from "./v1/add-ons-pricing.controller"
import { TypeOrmModule } from "@nestjs/typeorm"
import { VehicleRepository } from "../vehicle-type/repositories/vehicle-type.repository"
import { CityRepository } from "../city/repositories/city.repository"
import { PricingPlanRepository } from "../plans/repositories/plan.repository"
import { AddOnRepository } from "../add-ons/repositories/add-ons.repository"
import { AddOnsPricingRepository } from "./repositories/add-ons-pricing.repository"
import { AddOnsPricing } from "./entities/add-ons-pricing.entity"
import { VehicleType } from "../vehicle-type/entities/vehicle-type.entity"
import { City } from "../city/entities/city.entity"
import { Plan } from "../plans/entities/plan.entity"
import { AddOn } from "../add-ons/entities/add-ons.entity"
import { AuthRepository } from "../auth/repositories/auth.repository"
import { UserLoginRepository } from "../auth/repositories/user-login.repository"
import { UserOldPasswordRepository } from "../auth/repositories/old-passwords.repository"
import { RolePermissionRepository } from "../role-permission/repositories/role-permission.repository"
import { Auth } from "../auth/entities/auth.entity"
import { UserLogin } from "../auth/entities/user-login.entity"
import { UserOldPassword } from "../auth/entities/user-old-password.entity"
import { RolePermission } from "../role-permission/entities/role-permission.entity"
import { RoleRepository } from "../role/repositories/role.repository"
import { TeamMemberRepository } from "../team-member/repositories/team_member.repository"
import { Role } from "../role/entities/role.entity"
import { TeamMember } from "../team-member/entities/team_member.entity"
import { AuthService } from "../auth/v1/auth.service"

@Module({
  imports: [
    TypeOrmModule.forFeature([
      AddOnsPricing,
      VehicleType,
      City,
      Plan,
      AddOn,
      Auth,
      UserLogin,
      UserOldPassword,
      RolePermission,
      Role,
      TeamMember,
    ]),
  ],
  providers: [
    AddOnsPricingService,
    VehicleRepository,
    CityRepository,
    PricingPlanRepository,
    AddOnRepository,
    AddOnsPricingRepository,
    AuthService,
    AuthRepository,
    UserLoginRepository,
    UserOldPasswordRepository,
    RolePermissionRepository,
    RoleRepository,
    TeamMemberRepository,
  ],
  controllers: [AddOnsPricingController],
})
export class AddOnsPricingModule {}
