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

0% Statements 0/65
0% Branches 0/1
0% Functions 0/1
0% Lines 0/65

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                                                                                                                                   
import { Module } from '@nestjs/common';
import { CqrsModule } from '@nestjs/cqrs';
import { TypeOrmModule } from '@nestjs/typeorm';

import { PlansAssignmentsModule } from '@amalia/assignments/plans/core';
import { Calculation, Period, Plan } from '@amalia/core/models';
import { DataConnectorModule } from '@amalia/data-capture/connectors/core';
import { RefreshmentsModule } from '@amalia/data-capture/imports/core';
import { QueueModule } from '@amalia/kernel/queue/core';
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 { CompaniesModule } from '@amalia/tenants/companies/core';
import { AuditCoreModule } from '@amalia/tenants/monitoring/audit/core';
import { TeamsCoreModule } from '@amalia/tenants/teams/core';
import { UsersModule } from '@amalia/tenants/users/core';

import { CalculationsController } from './calculations.controller';
import { CalculationsProbe } from './calculations.probe';
import { CalculationsService } from './calculations.service';
import { CreateCalculationDto } from './dto/createCalculation.dto';
import { ResumeCalculationsHandler } from './handlers/resumeCalculation.handler';
import { ScheduleCalculationsHandler } from './handlers/scheduleCalculations.handler';
import { AnalyzeCalculationUseCase } from './usecases/analyze-calculation.use-case';
import { CreateCalculationUseCase } from './usecases/create-calculation/create-calculation.use-case';
import { StopCalculationsUseCase } from './usecases/stop-calculations.use-case';
import { TriggerStepUseCase } from './usecases/trigger-step.use-case';
import { UserCreatesCalculationUseCase } from './usecases/user-creates-calculation.use-case';

export { CalculationsProbe, CreateCalculationDto, UserCreatesCalculationUseCase };

@Module({
  imports: [
    TypeOrmModule.forFeature([Calculation, Period, Plan]),
    CqrsModule,
    QueueModule,
    DesignerModule,
    PeriodsModule,
    CompaniesModule,
    StatementsModule,
    StatementDatasetsModule,
    PlansAssignmentsModule,
    AuditCoreModule,
    UsersModule,
    TeamsCoreModule,
    TeamAssignmentsCoreModule,
    RefreshmentsModule,
    DataConnectorModule,
  ],
  providers: [
    CalculationsService,
    CalculationsProbe,
    TriggerStepUseCase,
    CreateCalculationUseCase,
    UserCreatesCalculationUseCase,
    StopCalculationsUseCase,
    AnalyzeCalculationUseCase,
    ScheduleCalculationsHandler,
    ResumeCalculationsHandler,
  ],
  exports: [CalculationsProbe, TriggerStepUseCase, UserCreatesCalculationUseCase],
  controllers: [CalculationsController],
})
export class CalculationsLifecycleModule {}