All files / libs/payout-calculation/compute-engine/core-engine/src/engine compute-engine.module.ts

100% Statements 78/78
100% Branches 1/1
100% Functions 0/0
100% Lines 78/78

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 791x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
import { forwardRef as forwardRefNest, Module } from '@nestjs/common';
import { CqrsModule } from '@nestjs/cqrs';
import { TypeOrmModule } from '@nestjs/typeorm';
 
import { PlansAssignmentsModule } from '@amalia/assignments/plans/core';
import { Calculation } from '@amalia/core/models';
import { CustomObjectsModule } from '@amalia/data-capture/records/core';
import { OverwritesModule } from '@amalia/data-correction/overwrites/core';
import { AuthCoreModule } from '@amalia/kernel/auth/core';
import { QueueModule } from '@amalia/kernel/queue/core';
import { CalculationsLifecycleModule } from '@amalia/payout-calculation/compute-engine/core-lifecycle';
import { PlanTemplateModule } from '@amalia/payout-calculation/compute-engine/core-plan-template';
import {
  StatementCalculationCacheModule,
  StoppableCalculationMapper,
} from '@amalia/payout-calculation/compute-engine/core-statement-calculation-cache';
import { StatementDatasetsModule, StatementsModule } from '@amalia/payout-calculation/statements/core';
import { DesignerModule } from '@amalia/payout-definition/designer/core';
import { PeriodsModule } from '@amalia/payout-definition/periods/core';
import { TeamAssignmentsCoreModule } from '@amalia/tenants/assignments/teams/core';
import { AdminScopesAuthModule } from '@amalia/tenants/companies/admin-scopes/auth';
import { CompaniesModule } from '@amalia/tenants/companies/core';
import { TeamsCoreModule } from '@amalia/tenants/teams/core';
 
import { ComputationService } from './computation/computation.service';
import { ComputeTokenService } from './computation/compute-token/ComputeToken.service';
import { DatasetService } from './computation/datasets/dataset.service';
import { FilterDatasetService } from './computation/datasets/query/filter/filterDataset.service';
import { FilterDatasetOverwritesService } from './computation/datasets/query/filter/filterDatasetOverwrites.service';
import { RelationshipService } from './computation/datasets/query/filter/relationship.service';
import { MetricsDatasetService } from './computation/datasets/query/metrics/metricsDataset.service';
import { QuotaDatasetService } from './computation/datasets/query/quota/quotaDataset.service';
import { PaymentReleaseHandler } from './handlers/paymentRelease.handler';
import { SchedulePaymentReleaseHandler } from './handlers/schedulePaymentRelease.handler';
import { ReleaseService } from './release/release.service';
import { StatementSaveModule } from './statementSave/statementSave.module';
import { RunCalculationBatchUseCase } from './usecases/RunCalculationBatch.use-case';
 
@Module({
  imports: [
    TypeOrmModule.forFeature([Calculation]),
    AuthCoreModule,
    CqrsModule,
    forwardRefNest(() => StatementSaveModule),
    OverwritesModule,
    CustomObjectsModule,
    PlansAssignmentsModule,
    PeriodsModule,
    CompaniesModule,
    PlanTemplateModule,
    StatementCalculationCacheModule,
    CalculationsLifecycleModule,
    DesignerModule,
    QueueModule,
    StatementsModule,
    StatementDatasetsModule,
    TeamsCoreModule,
    TeamAssignmentsCoreModule,
    AdminScopesAuthModule,
  ],
  providers: [
    RunCalculationBatchUseCase,
    PaymentReleaseHandler,
    SchedulePaymentReleaseHandler,
    FilterDatasetService,
    MetricsDatasetService,
    QuotaDatasetService,
    DatasetService,
    RelationshipService,
    FilterDatasetOverwritesService,
    StoppableCalculationMapper,
    ComputationService,
    ComputeTokenService,
    ReleaseService,
  ],
  exports: [ReleaseService],
})
export class ComputeEngineModule {}