import { Module } from "@nestjs/common";
import { TypeOrmModule } from "@nestjs/typeorm";
import { HttpModule } from "@nestjs/axios";
import { FilesModule } from "../files/files.module";
import { MinioModule } from "../minio/minio.module";
import { CompaniesController } from "./companies.controller";
import { CompaniesService } from "./companies.service";
import { CompaniesRepository } from "./companies.repository";
import { ExternalProfileRepository } from "./external-profile.repository";
import { CompanyDashboardRepository } from "./company-dashboard.repository";
import { Company } from "./entities/company.entity";
import { ExternalProfile } from "./entities/external-profile.entity";
import { CompanyProfile } from "./entities/company-profile.entity";
import { Booking } from "../bookings/entities/booking.entity";
import { CompanyProfileRepository } from "./company-profile.repository";
import { ETradeService } from "./services/etrade.service";

@Module({
  imports: [
    TypeOrmModule.forFeature([Company, ExternalProfile, CompanyProfile, Booking]),
    HttpModule,
    FilesModule,
    MinioModule,
  ],
  controllers: [CompaniesController],
  providers: [
    CompaniesService,
    CompaniesRepository,
    ExternalProfileRepository,
    CompanyProfileRepository,
    CompanyDashboardRepository,
    ETradeService,
  ],
  exports: [CompaniesService],
})
export class CompaniesModule { }
