All files / src/domains/recruitment recruitment.module.ts

0% Statements 0/11
100% Branches 0/0
100% Functions 0/0
0% Lines 0/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128                                                                                                                                                                                                                                                               
import { Module, Global } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { RecruitmentService } from './recruitment.service';
import {
  RecruitmentController,
  PublicCareersController,
  MobileRecruitmentController,
  CandidatePortalController,
  AgencyPortalController
} from './recruitment.controller';
import {
  RecruitmentConfiguration, RecruitmentConfigurationSchema,
  CandidatePrivacyConfiguration, CandidatePrivacyConfigurationSchema,
  WorkforcePlan, WorkforcePlanSchema,
  WorkforcePlanLine, WorkforcePlanLineSchema,
  ManpowerBudget, ManpowerBudgetSchema,
  HiringPlan, HiringPlanSchema,
  JobRequisition, JobRequisitionSchema,
  JobRequisitionSkill, JobRequisitionSkillSchema,
  JobRequisitionExperience, JobRequisitionExperienceSchema,
  Position, PositionSchema,
  PositionAssignmentHistory, PositionAssignmentHistorySchema,
  JobPosting, JobPostingSchema,
  Candidate, CandidateSchema,
  CandidateResume, CandidateResumeSchema,
  CandidateEducation, CandidateEducationSchema,
  CandidateExperience, CandidateExperienceSchema,
  CandidateDuplicateMatch, CandidateDuplicateMatchSchema,
  ResumeParseJob, ResumeParseJobSchema,
  JobApplication, JobApplicationSchema,
  ApplicationAnswer, ApplicationAnswerSchema,
  HiringPipeline, HiringPipelineSchema,
  HiringStage, HiringStageSchema,
  ApplicationStageInstance, ApplicationStageInstanceSchema,
  ScreeningRule, ScreeningRuleSchema,
  AiResumeAnalysis, AiResumeAnalysisSchema,
  ReferralCampaign, ReferralCampaignSchema,
  EmployeeReferral, EmployeeReferralSchema,
  RecruitmentAgency, RecruitmentAgencySchema,
  AgencyContract, AgencyContractSchema,
  AgencyCandidateSubmission, AgencyCandidateSubmissionSchema,
  TalentPool, TalentPoolSchema,
  TalentPoolMember, TalentPoolMemberSchema,
  AssessmentDefinition, AssessmentDefinitionSchema,
  AssessmentAssignment, AssessmentAssignmentSchema,
  InterviewPlan, InterviewPlanSchema,
  InterviewRound, InterviewRoundSchema,
  InterviewSchedule, InterviewScheduleSchema,
  InterviewFeedback, InterviewFeedbackSchema,
  BackgroundCheckRequest, BackgroundCheckRequestSchema,
  ReferenceCheck, ReferenceCheckSchema,
  Offer, OfferSchema,
  PreboardingTemplate, PreboardingTemplateSchema,
  PreboardingPlan, PreboardingPlanSchema,
  PreboardingTask, PreboardingTaskSchema,
  CandidateEmployeeLink, CandidateEmployeeLinkSchema
} from './schemas';
 
import { HrModule } from '../hr/hr.module';
import { CalendarPlatformModule } from '../../platform/calendar/calendar.module';
import { EventBusModule } from '../../platform/events/event-bus.module';
 
@Global()
@Module({
  imports: [
    HrModule,
    CalendarPlatformModule,
    EventBusModule,
    MongooseModule.forFeature([
      { name: RecruitmentConfiguration.name, schema: RecruitmentConfigurationSchema },
      { name: CandidatePrivacyConfiguration.name, schema: CandidatePrivacyConfigurationSchema },
      { name: WorkforcePlan.name, schema: WorkforcePlanSchema },
      { name: WorkforcePlanLine.name, schema: WorkforcePlanLineSchema },
      { name: ManpowerBudget.name, schema: ManpowerBudgetSchema },
      { name: HiringPlan.name, schema: HiringPlanSchema },
      { name: JobRequisition.name, schema: JobRequisitionSchema },
      { name: JobRequisitionSkill.name, schema: JobRequisitionSkillSchema },
      { name: JobRequisitionExperience.name, schema: JobRequisitionExperienceSchema },
      { name: Position.name, schema: PositionSchema },
      { name: PositionAssignmentHistory.name, schema: PositionAssignmentHistorySchema },
      { name: JobPosting.name, schema: JobPostingSchema },
      { name: Candidate.name, schema: CandidateSchema },
      { name: CandidateResume.name, schema: CandidateResumeSchema },
      { name: CandidateEducation.name, schema: CandidateEducationSchema },
      { name: CandidateExperience.name, schema: CandidateExperienceSchema },
      { name: CandidateDuplicateMatch.name, schema: CandidateDuplicateMatchSchema },
      { name: ResumeParseJob.name, schema: ResumeParseJobSchema },
      { name: JobApplication.name, schema: JobApplicationSchema },
      { name: ApplicationAnswer.name, schema: ApplicationAnswerSchema },
      { name: HiringPipeline.name, schema: HiringPipelineSchema },
      { name: HiringStage.name, schema: HiringStageSchema },
      { name: ApplicationStageInstance.name, schema: ApplicationStageInstanceSchema },
      { name: ScreeningRule.name, schema: ScreeningRuleSchema },
      { name: AiResumeAnalysis.name, schema: AiResumeAnalysisSchema },
      { name: ReferralCampaign.name, schema: ReferralCampaignSchema },
      { name: EmployeeReferral.name, schema: EmployeeReferralSchema },
      { name: RecruitmentAgency.name, schema: RecruitmentAgencySchema },
      { name: AgencyContract.name, schema: AgencyContractSchema },
      { name: AgencyCandidateSubmission.name, schema: AgencyCandidateSubmissionSchema },
      { name: TalentPool.name, schema: TalentPoolSchema },
      { name: TalentPoolMember.name, schema: TalentPoolMemberSchema },
      { name: AssessmentDefinition.name, schema: AssessmentDefinitionSchema },
      { name: AssessmentAssignment.name, schema: AssessmentAssignmentSchema },
      { name: InterviewPlan.name, schema: InterviewPlanSchema },
      { name: InterviewRound.name, schema: InterviewRoundSchema },
      { name: InterviewSchedule.name, schema: InterviewScheduleSchema },
      { name: InterviewFeedback.name, schema: InterviewFeedbackSchema },
      { name: BackgroundCheckRequest.name, schema: BackgroundCheckRequestSchema },
      { name: ReferenceCheck.name, schema: ReferenceCheckSchema },
      { name: Offer.name, schema: OfferSchema },
      { name: PreboardingTemplate.name, schema: PreboardingTemplateSchema },
      { name: PreboardingPlan.name, schema: PreboardingPlanSchema },
      { name: PreboardingTask.name, schema: PreboardingTaskSchema },
      { name: CandidateEmployeeLink.name, schema: CandidateEmployeeLinkSchema }
    ])
  ],
  controllers: [
    RecruitmentController,
    PublicCareersController,
    MobileRecruitmentController,
    CandidatePortalController,
    AgencyPortalController
  ],
  providers: [RecruitmentService],
  exports: [RecruitmentService]
})
export class RecruitmentModule {}