// SPDX-License-Identifier: Apache-2.0
import { AddToControlListCommandHandler } from "../../../app/usecase/command/security/operations/addToControlList/AddToControlListCommandHandler";
import { TOKENS } from "../Tokens";
import { RemoveFromControlListCommandHandler } from "../../../app/usecase/command/security/operations/removeFromControlList/RemoveFromControlListCommandHandler";
import { UpdateExternalControlListsCommandHandler } from "../../../app/usecase/command/security/externalControlLists/updateExternalControlLists/UpdateExternalControlListsCommandHandler";
import { AddExternalControlListCommandHandler } from "../../../app/usecase/command/security/externalControlLists/addExternalControlList/AddExternalControlListCommandHandler";
import { RemoveExternalControlListCommandHandler } from "../../../app/usecase/command/security/externalControlLists/removeExternalControlList/RemoveExternalControlListCommandHandler";
import { GetControlListCountQueryHandler } from "../../../app/usecase/query/security/controlList/getControlListCount/GetControlListCountQueryHandler";
import { GetControlListMembersQueryHandler } from "../../../app/usecase/query/security/controlList/getControlListMembers/GetControlListMembersQueryHandler";
import { IsInControlListQueryHandler } from "../../../app/usecase/query/account/controlList/IsInControlListQueryHandler";
import { GetControlListTypeQueryHandler } from "../../../app/usecase/query/security/controlList/getControlListType/GetControlListTypeQueryHandler";
import { IsExternalControlListQueryHandler } from "../../../app/usecase/query/security/externalControlLists/isExternalControlList/IsExternalControlListQueryHandler";
import { GetExternalControlListsCountQueryHandler } from "../../../app/usecase/query/security/externalControlLists/getExternalControlListsCount/GetExternalControlListsCountQueryHandler";
import { GetExternalControlListsMembersQueryHandler } from "../../../app/usecase/query/security/externalControlLists/getExternalControlListsMembers/GetExternalControlListsMembersQueryHandler";
import { AddToBlackListMockCommandHandler } from "../../../app/usecase/command/security/externalControlLists/mock/addToBlackListMock/AddToBlackListMockCommandHandler";
import { AddToWhiteListMockCommandHandler } from "../../../app/usecase/command/security/externalControlLists/mock/addToWhiteListMock/AddToWhiteListMockCommandHandler";
import { CreateExternalWhiteListMockCommandHandler } from "../../../app/usecase/command/security/externalControlLists/mock/createExternalWhiteListMock/CreateExternalWhiteListMockCommandHandler";
import { CreateExternalBlackListMockCommandHandler } from "../../../app/usecase/command/security/externalControlLists/mock/createExternalBlackListMock/CreateExternalBlackListMockCommandHandler";
import { RemoveFromBlackListMockCommandHandler } from "../../../app/usecase/command/security/externalControlLists/mock/removeFromBlackListMock/RemoveFromBlackListMockCommandHandler";
import { RemoveFromWhiteListMockCommandHandler } from "../../../app/usecase/command/security/externalControlLists/mock/removeFromWhiteListMock/RemoveFromWhiteListMockCommandHandler";
import { IsAuthorizedBlackListMockQueryHandler } from "../../../app/usecase/query/security/externalControlLists/mock/isAuthorizedBlackListMock/IsAuthorizedBlackListMockQueryHandler";
import { IsAuthorizedWhiteListMockQueryHandler } from "../../../app/usecase/query/security/externalControlLists/mock/isAuthorizedWhiteListMock/IsAuthorizedWhiteListMockQueryHandler";
export const COMMAND_HANDLERS_CONTROL_LIST = [
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: AddToControlListCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: RemoveFromControlListCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: UpdateExternalControlListsCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: AddExternalControlListCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: RemoveExternalControlListCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: AddToBlackListMockCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: AddToWhiteListMockCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: CreateExternalWhiteListMockCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: CreateExternalBlackListMockCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: RemoveFromBlackListMockCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: RemoveFromWhiteListMockCommandHandler,
    },
];
export const QUERY_HANDLERS_CONTROL_LIST = [
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetControlListCountQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetControlListMembersQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: IsInControlListQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetControlListTypeQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: IsExternalControlListQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetExternalControlListsCountQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetExternalControlListsMembersQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: IsAuthorizedBlackListMockQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: IsAuthorizedWhiteListMockQueryHandler,
    },
];
