// SPDX-License-Identifier: Apache-2.0
import { TOKENS } from "../Tokens";
import { SetAmortizationCommandHandler } from "../../../app/usecase/command/amortization/set/SetAmortizationCommandHandler";
import { CancelAmortizationCommandHandler } from "../../../app/usecase/command/amortization/cancel/CancelAmortizationCommandHandler";
import { SetAmortizationHoldCommandHandler } from "../../../app/usecase/command/amortization/setHold/SetAmortizationHoldCommandHandler";
import { ReleaseAmortizationHoldCommandHandler } from "../../../app/usecase/command/amortization/releaseHold/ReleaseAmortizationHoldCommandHandler";
import { GetAmortizationQueryHandler } from "../../../app/usecase/query/amortization/getAmortization/GetAmortizationQueryHandler";
import { GetAmortizationForQueryHandler } from "../../../app/usecase/query/amortization/getAmortizationFor/GetAmortizationForQueryHandler";
import { GetAmortizationsForQueryHandler } from "../../../app/usecase/query/amortization/getAmortizationsFor/GetAmortizationsForQueryHandler";
import { GetAmortizationsCountQueryHandler } from "../../../app/usecase/query/amortization/getAmortizationsCount/GetAmortizationsCountQueryHandler";
import { GetAmortizationHoldersQueryHandler } from "../../../app/usecase/query/amortization/getAmortizationHolders/GetAmortizationHoldersQueryHandler";
import { GetTotalAmortizationHoldersQueryHandler } from "../../../app/usecase/query/amortization/getTotalAmortizationHolders/GetTotalAmortizationHoldersQueryHandler";
import { GetAmortizationPaymentAmountQueryHandler } from "../../../app/usecase/query/amortization/getAmortizationPaymentAmount/GetAmortizationPaymentAmountQueryHandler";
import { GetActiveAmortizationHoldHoldersQueryHandler } from "../../../app/usecase/query/amortization/getActiveAmortizationHoldHolders/GetActiveAmortizationHoldHoldersQueryHandler";
import { GetTotalActiveAmortizationHoldHoldersQueryHandler } from "../../../app/usecase/query/amortization/getTotalActiveAmortizationHoldHolders/GetTotalActiveAmortizationHoldHoldersQueryHandler";
import { GetActiveAmortizationIdsQueryHandler } from "../../../app/usecase/query/amortization/getActiveAmortizationIds/GetActiveAmortizationIdsQueryHandler";
import { GetTotalActiveAmortizationIdsQueryHandler } from "../../../app/usecase/query/amortization/getTotalActiveAmortizationIds/GetTotalActiveAmortizationIdsQueryHandler";
export const COMMAND_HANDLERS_AMORTIZATION = [
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: SetAmortizationCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: CancelAmortizationCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: SetAmortizationHoldCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: ReleaseAmortizationHoldCommandHandler,
    },
];
export const QUERY_HANDLERS_AMORTIZATION = [
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetAmortizationQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetAmortizationForQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetAmortizationsForQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetAmortizationsCountQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetAmortizationHoldersQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetTotalAmortizationHoldersQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetAmortizationPaymentAmountQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetActiveAmortizationHoldHoldersQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetTotalActiveAmortizationHoldHoldersQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetActiveAmortizationIdsQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetTotalActiveAmortizationIdsQueryHandler,
    },
];
