import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { DashboardController } from './dashboard.controller';
import { DashboardService } from './dashboard.service';
import { UserEntity } from '../user/entities/user.entity';
import { JobPosts } from '../job_posts/entities/job_posts.entity';
import { JobApplications } from '../job_applications/entities/job_applications.entity';
import { JobAlert } from '../job_alerts/entities/job_alerts.entity';
import { Messages } from '../messages/entities/messages.entity';
import { SavedCandidate } from '../saved_candidates/entities/saved_candidates.entity';
import { JobSaved } from '../job_saved/entities/job_saved.entity';
import { SeekerProfiles } from '../seeker_profiles/entities/seeker_profiles.entity';
import { SeekerResume } from '../seeker_resumes/entities/seeker_resumes.entity';
import { SeekerExperience } from '../seeker_experience/entities/seeker_experience.entity';
import { SeekerEducation } from '../seeker_education/entities/seeker_education.entity';
import { Education } from '../education/entities/education.entity';
import { Wallet } from '../wallet/entities/wallet.entity';
import { SocialPlatform } from '../social_platform/entities/social_platform.entity';
import { SeekerSocialLinks } from '../seeker_social_links/entities/seeker_social_links.entity';
import { SeekerAddress } from '../seeker_address/entities/seeker_address.entity';
import { SeekerSkill } from '../seeker_skills/entities/seeker_skills.entity';
import { SeekerLanguage } from '../seeker_language/entities/seeker_language.entity';
import { Companies } from '../companies/entities/companies.entity';
import { CompanySocialLink } from '../company_social_links/entities/company_social_links.entity';
import { JobViews } from '../job_views/entities/job_views.entity';
import { Franchises } from '../franchises/entities/franchises.entity';
import { OtpRequests } from '../otp_requests/entities/otp_requests.entity';
import { ImageProcessorService } from '../../utility/image-processor.service';
import { AnalyticsModule } from '../analytics/analytics.module';
import { Associates } from '../associates/entities/associates.entity';
import { CompanyKeyPeople } from '../companies/entities/company-key-people.entity';
import { ActivityLogsModule } from '../activity_logs/activity_logs.module';
import { AiInterviewSchedulesModule } from '../ai_interview_schedules/ai_interview_schedules.module';
import { JobPostAiSettings } from '../job_post_ai_settings/entities/job_post_ai_settings.entity';
import { Roles } from '../roles/entities/roles.entity';
import { SeekerRoleExperience } from '../seeker_role_experience/entities/seeker_role_experience.entity';
import { NotificationModule } from '../notifications/notifications.module';
import { SeekerAddressModule } from '../seeker_address/seeker_address.module';
import { EmailModule } from '../email/email.module';
import { UserNotificationsModule } from '../user_notifications/user_notifications.module';
@Module({
  imports: [
    TypeOrmModule.forFeature([
      UserEntity,
      JobPosts,
      JobApplications,
      JobAlert,
      Messages,
      SavedCandidate,
      SeekerProfiles,
      JobSaved,
      SeekerResume,
      SeekerExperience,
      SeekerEducation,
      SocialPlatform,
      SeekerSocialLinks,
      SeekerAddress,
      SeekerSkill,
      SeekerLanguage,
      Companies,
      CompanySocialLink,
      JobViews,
      Franchises,
      OtpRequests,
      Associates,
      CompanyKeyPeople,
      JobPostAiSettings,
      Roles,
      SeekerRoleExperience,
      Wallet,
      Education,
    ]),
    AnalyticsModule,
    ActivityLogsModule,
    AiInterviewSchedulesModule,
    NotificationModule,
    SeekerAddressModule,
    EmailModule,
    UserNotificationsModule,
  ],
  controllers: [DashboardController],
  providers: [DashboardService, ImageProcessorService],
  exports: [DashboardService],
})
export class DashboardModule {}
