import { Module } from "@nestjs/common"
import { TypeOrmModule } from "@nestjs/typeorm"
import { ModuleService } from "../../../modules/module/v1/module.service"
import { ModuleRepository } from "../../../modules/module/repositories/module.repository"
import { Modules } from "src/modules/module/entities/module.entity"
import { ModuleSeedService } from "./modules-seed.service"
import { Role } from "src/modules/role/entities/role.entity"
import { Auth } from "src/modules/auth/entities/auth.entity"
import { TeamMember } from "src/modules/team-member/entities/team_member.entity"
import { Department } from "src/modules/department/entities/department.entity"
import { BusinessVertical } from "src/modules/business-verticals/entities/business-verticals.entity"
import { Address } from "src/modules/team-member/entities/address.entity"
import { City } from "src/modules/city/entities/city.entity"
import { State } from "src/modules/state/entities/state.entity"
import { Country } from "src/modules/country/entities/country.entity"
import { Currency } from "src/modules/currency/entities/currency.entity"
import { FleetManagement } from "src/modules/fleet-management/entities/fleet-management.entity"
import { VehicleManufacturer } from "src/modules/vehicle-manufacturer/entities/vehicle-manufacturer.entity"
import { VehicleModel } from "src/modules/vehicle-model/entities/vehicle-model.entity"
import { AddOn } from "src/modules/add-ons/entities/add-ons.entity"
import { VehicleType } from "src/modules/vehicle-type/entities/vehicle-type.entity"
import { VehicleStatus } from "src/modules/vehicle-status/entities/vehicle-status.entity"
import { VehicleInsurance } from "src/modules/vehicle-insurance/entities/vehicle-insurance.entity"
import { VehicleMaintenance } from "src/modules/vehicle-maintenance/entities/vehicle-maintenance.entity"
import { Hospital } from "src/modules/hospitals/entities/hospital.entity"
import { IdProof } from "src/modules/team-member/entities/id-proof.entity"
import { UserLogin } from "src/modules/auth/entities/user-login.entity"
import { UserOldPassword } from "src/modules/auth/entities/user-old-password.entity"
import { RolePermission } from "src/modules/role-permission/entities/role-permission.entity"
import { Permission } from "src/modules/permission/entities/permission.entity"
import { HospitalContactRepository } from "src/modules/hospital-contacts/repositories/hospital-contact.repository"
import { HospitalContactsService } from "src/modules/hospital-contacts/v1/hospital-contacts.service"
import { HospitalContact } from "src/modules/hospital-contacts/entities/hospital-contact.entity"
import { HospitalRepository } from "src/modules/hospitals/repositories/hospital.repository"

@Module({
  imports: [
    TypeOrmModule.forFeature([
      Modules,
      Role,
      Auth,
      TeamMember,
      Department,
      BusinessVertical,
      Address,
      City,
      State,
      Country,
      Currency,
      FleetManagement,
      VehicleManufacturer,
      VehicleModel,
      AddOn,
      VehicleType,
      VehicleStatus,
      VehicleInsurance,
      VehicleMaintenance,
      Hospital,
      IdProof,
      UserLogin,
      UserOldPassword,
      RolePermission,
      Permission,
      HospitalContact,
    ]),
  ],
  providers: [
    ModuleSeedService,
    ModuleService,
    ModuleRepository,
    HospitalContactRepository,
    HospitalContactsService,
    HospitalRepository,
  ],
  exports: [ModuleSeedService],
})
export class ModuleSeedModule {}
