All files / libs/payout-calculation/statements/core/src/modules/review statement-review.module.ts

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

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 591x 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 nestForwardRef, Module } from '@nestjs/common';
import { CqrsModule } from '@nestjs/cqrs';
import { TypeOrmModule } from '@nestjs/typeorm';
 
import { Notification, Period, Plan, Statement, Workflow } from '@amalia/core/models';
import { AuthCoreModule } from '@amalia/kernel/auth/core';
import { QueueModule } from '@amalia/kernel/queue/core';
import { NotificationModule } from '@amalia/kernel/user-notifications/in-app/core';
import { WorkflowCampaignCoreModule } from '@amalia/payout-calculation/workflow-campaign/core';
import { PeriodsModule } from '@amalia/payout-definition/periods/core';
import { CompaniesModule } from '@amalia/tenants/companies/core';
import { HierarchyContextModule } from '@amalia/tenants/teams/hierarchy/core';
import { UsersModule } from '@amalia/tenants/users/core';
 
import { StatementsModule } from '../statements/statements.module';
 
import { EmptyStatementWorkflowStepsHandler } from './emptyStatementWorkflowStepsHandler';
import { StatementsReviewController } from './statements-review.controller';
import { StatementsReviewService } from './statements-review.service';
import { AutoStartWorkflowCampaignsAndNotifyFirstStepReviewersUseCase } from './use-cases/auto-start-worklow-campaigns-and-notify-first-step-reviewers/auto-start-workflow-campaigns-and-notify-first-step-reviewers.use-case';
import { FullyReviewOneStatementUseCase } from './use-cases/fully-review-one-statement/fully-review-one-statement.use-case';
import { GetStatementReviewersUseCase } from './use-cases/get-statement-reviewers/get-statement-reviewers.use-case';
import { GetStatementsToReviewUseCase } from './use-cases/get-statements-to-review/get-statements-to-review.use-case';
import { NotifyFirstStepReviewersStatementStandaloneReviewUseCase } from './use-cases/notify-first-step-reviewers-statement-standalone-review.use-case.ts/notify-first-step-reviewers-statement-standalone-review.use-case';
import { NotifyFirstStepReviewersWorkflowCampaignStartedUseCase } from './use-cases/notify-first-step-reviewers-workflow-campaign-started/notify-first-step-reviewers-workflow-campaign-started.use-case';
import { NotifyPendingReviewsUseCase } from './use-cases/notify-pending-reviews/notify-pending-reviews.use-case';
import { NotifyStatementReviewersUseCase } from './use-cases/notify-statement-reviewers/notify-statement-reviewers.use-case';
 
@Module({
  imports: [
    TypeOrmModule.forFeature([Statement, Notification, Plan, Period, Workflow]),
    CqrsModule,
    QueueModule,
    UsersModule,
    CompaniesModule,
    PeriodsModule,
    nestForwardRef(() => StatementsModule),
    NotificationModule,
    AuthCoreModule,
    HierarchyContextModule,
    WorkflowCampaignCoreModule,
  ],
  providers: [
    EmptyStatementWorkflowStepsHandler,
    StatementsReviewService,
    NotifyPendingReviewsUseCase,
    GetStatementsToReviewUseCase,
    NotifyStatementReviewersUseCase,
    GetStatementReviewersUseCase,
    FullyReviewOneStatementUseCase,
    NotifyFirstStepReviewersWorkflowCampaignStartedUseCase,
    AutoStartWorkflowCampaignsAndNotifyFirstStepReviewersUseCase,
    NotifyFirstStepReviewersStatementStandaloneReviewUseCase,
  ],
  controllers: [StatementsReviewController],
  exports: [GetStatementReviewersUseCase],
})
export class StatementReviewModule {}