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

0% Statements 0/12
100% Branches 0/0
100% Functions 0/0
0% Lines 0/10

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                                                                                                                                                                                     
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { BullModule } from '@nestjs/bullmq';
import { AssetsController } from './controllers/assets.controller';
import { MobileAssetsController } from '../../interfaces/mobile-api/employee/mobile-assets.controller';
import { EventBusModule } from '../../platform/events/event-bus.module';
import { AuditLogModule } from '../../platform/audit/audit-log.module';
 
import {
  AssetConfiguration, AssetConfigurationSchema,
  AssetCategory, AssetCategorySchema,
  Asset, AssetSchema,
  AssetComponent, AssetComponentSchema,
  AssetAssignment, AssetAssignmentSchema,
  AssetTransfer, AssetTransferSchema,
  MaintenanceSchedule, MaintenanceScheduleSchema,
  AssetWorkOrder, AssetWorkOrderSchema,
  AssetWarranty, AssetWarrantySchema,
  AssetAmcContract, AssetAmcContractSchema,
  AssetInsurancePolicy, AssetInsurancePolicySchema,
  AssetInspectionPlan, AssetInspectionPlanSchema,
  AssetVerificationSession, AssetVerificationSessionSchema,
  DepreciationSchedule, DepreciationScheduleSchema,
  DepreciationRun, DepreciationRunSchema,
  AssetDisposal, AssetDisposalSchema
} from './schemas';
 
import {
  AssetService,
  AssetCapitalizationService,
  AssetAssignmentService,
  AssetMaintenanceService,
  AssetContractsService,
  AssetVerificationService,
  AssetDepreciationService,
  AssetDisposalService
} from './services';
 
@Module({
  imports: [
    MongooseModule.forFeature([
      { name: AssetConfiguration.name, schema: AssetConfigurationSchema },
      { name: AssetCategory.name, schema: AssetCategorySchema },
      { name: Asset.name, schema: AssetSchema },
      { name: AssetComponent.name, schema: AssetComponentSchema },
      { name: AssetAssignment.name, schema: AssetAssignmentSchema },
      { name: AssetTransfer.name, schema: AssetTransferSchema },
      { name: MaintenanceSchedule.name, schema: MaintenanceScheduleSchema },
      { name: AssetWorkOrder.name, schema: AssetWorkOrderSchema },
      { name: AssetWarranty.name, schema: AssetWarrantySchema },
      { name: AssetAmcContract.name, schema: AssetAmcContractSchema },
      { name: AssetInsurancePolicy.name, schema: AssetInsurancePolicySchema },
      { name: AssetInspectionPlan.name, schema: AssetInspectionPlanSchema },
      { name: AssetVerificationSession.name, schema: AssetVerificationSessionSchema },
      { name: DepreciationSchedule.name, schema: DepreciationScheduleSchema },
      { name: DepreciationRun.name, schema: DepreciationRunSchema },
      { name: AssetDisposal.name, schema: AssetDisposalSchema }
    ]),
    BullModule.registerQueue(
      { name: 'asset.acquisition-process' },
      { name: 'asset.capitalization-process' },
      { name: 'asset.maintenance-schedule' },
      { name: 'asset.depreciation-calculate' }
    ),
    EventBusModule,
    AuditLogModule
  ],
  controllers: [AssetsController, MobileAssetsController],
  providers: [
    AssetService,
    AssetCapitalizationService,
    AssetAssignmentService,
    AssetMaintenanceService,
    AssetContractsService,
    AssetVerificationService,
    AssetDepreciationService,
    AssetDisposalService
  ],
  exports: [
    AssetService,
    AssetCapitalizationService,
    AssetAssignmentService,
    AssetMaintenanceService,
    AssetContractsService,
    AssetVerificationService,
    AssetDepreciationService,
    AssetDisposalService
  ]
})
export class AssetsModule {}