import { Module } from '@nestjs/common'; import { DatabaseModule } from './config/config.module'; import { EnterpriseModule } from './module/enterprise/enterprise.module'; import { UtilsModule } from './utils/utils.module'; import { UserModule } from './module/user/user.module'; import { EntityModule } from './module/meta/entity.module'; import { ModuleModule } from './module/module/module.module'; import { NotificationModule } from './module/notification/notification.module'; import Properties from './resources/properties.module'; import { LayoutModule } from './module/layout/layout.module'; import { ListMasterModule } from './module/listmaster/listmaster.module'; import { ThirdPartyModule } from './module/third-party-module/third-party.module'; import { FilterModule } from './module/filter/filter.module'; import { LeadModule } from './module/lead/lead.module'; import { LayoutPreferenceModule } from './module/layout_preference/layout_preference.module'; import { WorkflowModule } from './module/workflow/workflow.module'; import { IcsMeetingModule } from './module/ics/ics.module'; import { DashboardModule } from './module/dashboard/dashboard.module'; import { IntegrationModule } from './module/integration/integration.module'; import { ScheduleModule } from '@nestjs/schedule'; import { AuthModule } from './module/auth/auth.module'; import { MapperModule } from './module/mapper/mapper.module'; import { BullModule } from '@nestjs/bull'; import { bullConfigFactory } from './config/bull.config'; import { WorkflowScheduleModule } from './module/workflow-schedule/workflow-schedule.module'; import { MicroserviceClientsModule } from './module/microservice-client/microservice-clients.module'; import { WorkflowAutomationModule } from './module/workflow-automation/workflow-automation.module'; import { LinkedAttributesModule } from './module/linked_attributes/linked_attributes.module'; import { EntityJSONModule } from './module/entity_json/entity_json.module'; import { ExportModule } from './module/export/export.module'; @Module({ imports: [ EntityModule, DatabaseModule, EnterpriseModule, UtilsModule, UserModule, ModuleModule, NotificationModule, Properties, LayoutModule, ListMasterModule, ThirdPartyModule, FilterModule, LeadModule, LayoutPreferenceModule, WorkflowModule, IcsMeetingModule, DashboardModule, IntegrationModule, AuthModule, MapperModule, ScheduleModule.forRoot(), // Bull Queue Module for scheduled workflows BullModule.forRootAsync(bullConfigFactory), // Workflow Schedule Module - Provides scheduling capabilities // Set is_workflow: true to run cron processor on this server WorkflowScheduleModule.forRoot({ is_workflow: true }), // Workflow Automation Module - For on-trigger and scheduled workflows WorkflowAutomationModule, MicroserviceClientsModule, LinkedAttributesModule, EntityJSONModule, ExportModule ], }) export class AppModule {}