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

0% Statements 0/18
100% Branches 0/0
0% Functions 0/2
0% Lines 0/16

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                                                                                                                                                                                           
import { Module, forwardRef } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import {
  HelpdeskConfiguration, HelpdeskConfigurationSchema,
  Ticket, TicketSchema,
  TicketComment, TicketCommentSchema,
  TicketMerge, TicketMergeSchema,
  TicketAttachment, TicketAttachmentSchema,
  TicketWatcher, TicketWatcherSchema,
  SupportGroup, SupportGroupSchema,
  SupportQueue, SupportQueueSchema,
  AgentAvailability, AgentAvailabilitySchema,
  BusinessHoursDefinition, BusinessHoursDefinitionSchema,
  SlaPolicy, SlaPolicySchema,
  TicketSlaInstance, TicketSlaInstanceSchema,
  EscalationPolicy, EscalationPolicySchema,
  EscalationExecution, EscalationExecutionSchema,
  ServiceCatalog, ServiceCatalogSchema,
  ServiceOffering, ServiceOfferingSchema,
  FieldServiceTerritory, FieldServiceTerritorySchema,
  TechnicianProfile, TechnicianProfileSchema,
  FsmVisit, FsmVisitSchema,
  ServiceWorkOrder, ServiceWorkOrderSchema,
  KnowledgeCategory, KnowledgeCategorySchema,
  KnowledgeArticle, KnowledgeArticleSchema,
  CustomerSatisfactionResponse, CustomerSatisfactionResponseSchema
} from './schemas';
 
import { HelpdeskTicketService } from './services/helpdesk-ticket.service';
import { HelpdeskRoutingService } from './services/helpdesk-routing.service';
import { HelpdeskSlaService } from './services/helpdesk-sla.service';
import { FieldServiceService } from './services/field-service.service';
import { HelpdeskFeedbackService } from './services/helpdesk-feedback.service';
 
import { HelpdeskController } from './controllers/helpdesk.controller';
import { MobileHelpdeskController } from './controllers/mobile-helpdesk.controller';
import { ClientHelpdeskController } from './controllers/client-helpdesk.controller';
 
import { MdmModule } from '../mdm/mdm.module';
import { EventBusModule } from '../../platform/events/event-bus.module';
 
@Module({
  imports: [
    MongooseModule.forFeature([
      { name: HelpdeskConfiguration.name, schema: HelpdeskConfigurationSchema },
      { name: Ticket.name, schema: TicketSchema },
      { name: TicketComment.name, schema: TicketCommentSchema },
      { name: TicketMerge.name, schema: TicketMergeSchema },
      { name: TicketAttachment.name, schema: TicketAttachmentSchema },
      { name: TicketWatcher.name, schema: TicketWatcherSchema },
      { name: SupportGroup.name, schema: SupportGroupSchema },
      { name: SupportQueue.name, schema: SupportQueueSchema },
      { name: AgentAvailability.name, schema: AgentAvailabilitySchema },
      { name: BusinessHoursDefinition.name, schema: BusinessHoursDefinitionSchema },
      { name: SlaPolicy.name, schema: SlaPolicySchema },
      { name: TicketSlaInstance.name, schema: TicketSlaInstanceSchema },
      { name: EscalationPolicy.name, schema: EscalationPolicySchema },
      { name: EscalationExecution.name, schema: EscalationExecutionSchema },
      { name: ServiceCatalog.name, schema: ServiceCatalogSchema },
      { name: ServiceOffering.name, schema: ServiceOfferingSchema },
      { name: FieldServiceTerritory.name, schema: FieldServiceTerritorySchema },
      { name: TechnicianProfile.name, schema: TechnicianProfileSchema },
      { name: FsmVisit.name, schema: FsmVisitSchema },
      { name: ServiceWorkOrder.name, schema: ServiceWorkOrderSchema },
      { name: KnowledgeCategory.name, schema: KnowledgeCategorySchema },
      { name: KnowledgeArticle.name, schema: KnowledgeArticleSchema },
      { name: CustomerSatisfactionResponse.name, schema: CustomerSatisfactionResponseSchema }
    ]),
    forwardRef(() => MdmModule),
    forwardRef(() => EventBusModule)
  ],
  controllers: [
    HelpdeskController,
    MobileHelpdeskController,
    ClientHelpdeskController
  ],
  providers: [
    HelpdeskTicketService,
    HelpdeskRoutingService,
    HelpdeskSlaService,
    FieldServiceService,
    HelpdeskFeedbackService
  ],
  exports: [
    HelpdeskTicketService,
    HelpdeskRoutingService,
    HelpdeskSlaService,
    FieldServiceService,
    HelpdeskFeedbackService,
    MongooseModule
  ]
})
export class HelpdeskModule {}