import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';

import { Campaign } from '../../entities/campaign.entity';
import { Users } from '../../entities/users.entity';
import { CampaignInfluencer } from 'src/entities/campaign_influencer.entity';
import { CampaignInfluencerBookmarks } from 'src/entities/campaign_influencer_bookmark.entity';
import { UsersModule } from 'src/common/services/users/users.module';
import { Draft } from 'src/entities/draft.entity';
import { DraftComments } from 'src/entities/draft_comments.entity';
import { DraftVersions } from 'src/entities/draft_versions.entity';
import { Posts } from 'src/entities/posts.entity';
import { SocialMedias } from 'src/entities/social-medias.entity';
import { RejectCompletionRequest } from '../../entities/reject-completion-request.entity';
import { SocketGateway } from 'src/common/services/socket/socket.gateway';
import { InfluenceSaveCampaigns } from 'src/entities/influencer-save-campaigns.entity';
import { DisputeController } from './dispute.controller';
import { DisputeRepository } from './dispute.repository';
import { DisputeService } from './dispute.services';
import { Dispute } from 'src/entities/dispute.entity';
import { DisputeHistory } from 'src/entities/dispute-history.entity';
import { CanpaignModule } from '../campaign/campaign.module';

@Module({
  imports: [TypeOrmModule.forFeature([Campaign, Users, CampaignInfluencer, CampaignInfluencerBookmarks, Draft, DraftComments, DraftVersions, Posts, SocialMedias, RejectCompletionRequest, InfluenceSaveCampaigns, Dispute, DisputeHistory]), UsersModule, CanpaignModule],
  controllers: [DisputeController],
  providers: [DisputeService, DisputeRepository, SocketGateway],
  exports: [DisputeService],
})
export class DisputeModule { }