import { Module, Res } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { ListMasterModule } from '../listmaster/listmaster.module'; import { EntityModule } from '../meta/entity.module'; import { ActionTemplateMappingController } from './controller/action-template-mapping.controller'; import { ActionController } from './controller/action.controller'; import { CommTemplateController } from './controller/comm-template.controller'; import { EntityModificationController } from './controller/entity-modification.controller'; import { StageGroupController } from './controller/stage-group.controller'; import { StageController } from './controller/stage.controller'; import { WorkflowListMasterController } from './controller/workflow-list-master.controller'; import { WorkflowMetaController } from './controller/workflow-meta.controller'; import { WorkflowController } from './controller/workflow.controller'; import { ActionCategory } from './entity/action-category.entity'; import { ActionTemplateMapping } from './entity/action-template-mapping.entity'; import { ActionEntity } from './entity/action.entity'; import { CommTemplate } from './entity/comm-template.entity'; import { EntityModification } from './entity/entity-modification.entity'; import { StageActionMapping } from './entity/stage-action-mapping.entity'; import { StageGroup } from './entity/stage-group.entity'; import { StageMovementData } from './entity/stage-movement-data.entity'; import { Stage } from './entity/stage.entity'; import { TemplateAttach } from './entity/template-attach-mapper.entity'; import { Workflow } from './entity/workflow.entity'; import { CommTemplateRepository } from './repository/comm-template.repository'; import { StageGroupRepository } from './repository/stage-group.repository'; import { StageRepository } from './repository/stage.repository'; import { WorkflowRepository } from './repository/workflow.repository'; import { ActionCategoryService } from './service/action-category.service'; import { ActionTemplateMappingService } from './service/action-template-mapping.service'; import { ActionService } from './service/action.service'; import { CommTemplateService } from './service/comm-template.service'; import { EntityModificationService } from './service/entity-modification.service'; import { PopulateWorkflowService } from './service/populate-workflow.service'; import { StageActionMappingService } from './service/stage-action-mapping.service'; import { StageGroupService } from './service/stage-group.service'; import { StageService } from './service/stage.service'; import { WorkflowListMasterService } from './service/workflow-list-master.service'; import { WorkflowMetaService } from './service/workflow-meta.service'; import { WorkflowService } from './service/workflow.service'; import { ActionCategoryController } from './controller/action-category.controller'; import { StageMovementRepository } from './repository/stage-movement.repository'; import { WorkflowLevelMappingEntity } from './entity/workflow-level-mapping.entity'; import { TaskDataEntity } from './entity/task-data.entity'; import { ActionDataEntity } from './entity/action-data.entity'; import { TaskController } from './controller/task.controller'; import { TaskService } from './service/task.service'; import { TaskRepository } from './repository/task.repository'; import { ActionRepository } from './repository/action.repository'; import { ActionDataRepository } from './repository/action-data.repository'; import { ActionDataService } from './service/action-data.service'; import { FormMasterController } from './controller/form-master.controller'; import { FormMasterService } from './service/form-master.service'; import { FormMasterRepository } from './repository/form-master.repository'; import { ActionResourcesMapping } from './entity/action-resources-mapping.entity'; import { ActionResourcesMappingService } from './service/action-resources-mapping.service'; import { ActionResourcesMappingController } from './controller/action-resource-mapping.controller'; import { ActionCategoryRepository } from './repository/action-category.repository'; import { ActivityLog } from './entity/activity-log.entity'; import { ActivityLogService } from './service/activity-log.service'; import { ActivityLogRepository } from './repository/activity-log.repository'; import { ActivityLogController } from './controller/activity-log.controller'; import { NotificationModule } from '../notification/notification.module'; import { MapperModule } from '../mapper/mapper.module'; import { WorkflowAutomationModule } from '../workflow-automation/workflow-automation.module'; import { ListMasterData } from '../listmaster/entity/list-master.entity'; import { ListMasterItems } from '../listmaster/entity/list-master-items.entity'; @Module({ imports: [ TypeOrmModule.forFeature([ Workflow, ActionEntity, ActionCategory, Stage, StageGroup, CommTemplate, ActionTemplateMapping, StageActionMapping, StageMovementData, EntityModification, TemplateAttach, WorkflowLevelMappingEntity, TaskDataEntity, ActionDataEntity, ActionResourcesMapping, ActivityLog, ListMasterData, ListMasterItems ]), ListMasterModule, EntityModule, NotificationModule, MapperModule, WorkflowAutomationModule, ], providers: [ { provide: 'ActionCategoryService', useClass: ActionCategoryService }, { provide: 'CommTemplateService', useClass: CommTemplateService }, { provide: 'StageActionMappingService', useClass: StageActionMappingService, }, { provide: 'ActionService', useClass: ActionService }, { provide: 'StageService', useClass: StageService }, { provide: 'TaskService', useClass: TaskService }, { provide: 'StageGroupService', useClass: StageGroupService }, { provide: 'WorkflowService', useClass: WorkflowService }, { provide: 'EntityModificationService', useClass: EntityModificationService, }, { provide: 'FormMasterService', useClass: FormMasterService }, { provide: 'ActionResourcesMappingService', useClass: ActionResourcesMappingService, }, { provide: 'ActivityLogService', useClass: ActivityLogService, }, WorkflowListMasterService, ActionTemplateMappingService, WorkflowRepository, CommTemplateService, CommTemplateRepository, StageGroupRepository, StageRepository, WorkflowService, WorkflowMetaService, PopulateWorkflowService, StageMovementRepository, TaskRepository, ActionRepository, ActionDataRepository, ActionDataService, FormMasterRepository, ActionCategoryRepository, ActivityLogRepository, ], exports: [ 'ActionCategoryService', 'CommTemplateService', 'StageActionMappingService', 'ActionService', 'StageService', 'StageGroupService', 'EntityModificationService', 'FormMasterService', 'ActionResourcesMappingService', 'TaskService', 'ActivityLogService', WorkflowRepository, StageGroupRepository, StageRepository, WorkflowMetaService, PopulateWorkflowService, ActionCategoryRepository, ActivityLogRepository, ActionDataService, ], controllers: [ WorkflowListMasterController, ActionTemplateMappingController, WorkflowController, CommTemplateController, StageGroupController, StageController, ActionController, WorkflowMetaController, EntityModificationController, ActionCategoryController, TaskController, FormMasterController, ActionResourcesMappingController, ActivityLogController, ], }) export class WorkflowModule {}