// SPDX-License-Identifier: Apache-2.0
import { GetHoldCountForByPartitionQueryHandler } from "../../../app/usecase/query/security/hold/getHoldCountForByPartition/GetHoldCountForByPartitionQueryHandler";
import { ControllerCreateHoldByPartitionCommandHandler } from "../../../app/usecase/command/security/operations/hold/controllerCreateHoldByPartition/ControllerCreateHoldByPartitionCommandHandler";
import { CreateHoldByPartitionCommandHandler } from "../../../app/usecase/command/security/operations/hold/createHoldByPartition/CreateHoldByPartitionCommandHandler";
import { CreateHoldFromByPartitionCommandHandler } from "../../../app/usecase/command/security/operations/hold/createHoldFromByPartition/CreateHoldFromByPartitionCommandHandler";
import { ProtectedCreateHoldByPartitionCommandHandler } from "../../../app/usecase/command/security/operations/hold/protectedCreateHoldByPartition/ProtectedCreateHoldByPartitionCommandHandler";
import { TOKENS } from "../Tokens";
import { GetHoldsIdForByPartitionQueryHandler } from "../../../app/usecase/query/security/hold/getHoldsIdForByPartition/GetHoldsIdForByPartitionQueryHandler";
import { GetHoldForByPartitionQueryHandler } from "../../../app/usecase/query/security/hold/getHoldForByPartition/GetHoldForByPartitionQueryHandler";
import { GetHeldAmountForQueryHandler } from "../../../app/usecase/query/security/hold/getHeldAmountFor/GetHeldAmountForQueryHandler";
import { GetHeldAmountForByPartitionQueryHandler } from "../../../app/usecase/query/security/hold/getHeldAmountForByPartition/GetHeldAmountForByPartitionQueryHandler";
import { ReleaseHoldByPartitionCommandHandler } from "../../../app/usecase/command/security/operations/hold/releaseHoldByPartition/ReleaseHoldByPartitionCommandHandler";
import { ReclaimHoldByPartitionCommandHandler } from "../../../app/usecase/command/security/operations/hold/reclaimHoldByPartition/ReclaimHoldByPartitionCommandHandler";
import { ExecuteHoldByPartitionCommandHandler } from "../../../app/usecase/command/security/operations/hold/executeHoldByPartition/ExecuteHoldByPartitionCommandHandler";
export const COMMAND_HANDLERS_HOLD = [
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: CreateHoldByPartitionCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: CreateHoldFromByPartitionCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: ControllerCreateHoldByPartitionCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: ProtectedCreateHoldByPartitionCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: ReleaseHoldByPartitionCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: ReclaimHoldByPartitionCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: ExecuteHoldByPartitionCommandHandler,
    },
];
export const QUERY_HANDLERS_HOLD = [
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetHeldAmountForQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetHeldAmountForByPartitionQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetHoldCountForByPartitionQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetHoldsIdForByPartitionQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetHoldForByPartitionQueryHandler,
    },
];
