// SPDX-License-Identifier: Apache-2.0
import { UpdateExternalKycListsCommandHandler } from "../../../app/usecase/command/security/externalKycLists/updateExternalKycLists/UpdateExternalKycListsCommandHandler";
import { TOKENS } from "../Tokens";
import { AddExternalKycListCommandHandler } from "../../../app/usecase/command/security/externalKycLists/addExternalKycList/AddExternalKycListCommandHandler";
import { RemoveExternalKycListCommandHandler } from "../../../app/usecase/command/security/externalKycLists/removeExternalKycList/RemoveExternalKycListCommandHandler";
import { ActivateInternalKycCommandHandler } from "../../../app/usecase/command/security/kyc/activateInternalKyc/ActivateInternalKycCommandHandler";
import { DeactivateInternalKycCommandHandler } from "../../../app/usecase/command/security/kyc/deactivateInternalKyc/DeactivateInternalKycCommandHandler";
import { GrantKycCommandHandler } from "../../../app/usecase/command/security/kyc/grantKyc/GrantKycCommandHandler";
import { RevokeKycCommandHandler } from "../../../app/usecase/command/security/kyc/revokeKyc/RevokeKycCommandHandler";
import { GrantKycMockCommandHandler } from "../../../app/usecase/command/security/externalKycLists/mock/grantKycMock/GrantKycMockCommandHandler";
import { RevokeKycMockCommandHandler } from "../../../app/usecase/command/security/externalKycLists/mock/revokeKycMock/RevokeKycMockCommandHandler";
import { CreateExternalKycListMockCommandHandler } from "../../../app/usecase/command/security/externalKycLists/mock/createExternalKycMock/CreateExternalKycMockCommandHandler";
import { GetKycStatusMockQueryHandler } from "../../../app/usecase/query/security/externalKycLists/mock/getKycStatusMock/GetKycStatusMockQueryHandler";
import { GetKycForQueryHandler } from "../../../app/usecase/query/security/kyc/getKycFor/GetKycForQueryHandler";
import { GetKycAccountsCountQueryHandler } from "../../../app/usecase/query/security/kyc/getKycAccountsCount/GetKycAccountsCountQueryHandler";
import { GetKycAccountsDataQueryHandler } from "../../../app/usecase/query/security/kyc/getKycAccountsData/GetKycAccountsDataQueryHandler";
import { GetKycStatusForQueryHandler } from "../../../app/usecase/query/security/kyc/getKycStatusFor/GetKycStatusForQueryHandler";
import { GetIssuerListCountQueryHandler } from "../../../app/usecase/query/security/ssi/getIssuerListCount/GetIssuerListCountQueryHandler";
import { GetIssuerListMembersQueryHandler } from "../../../app/usecase/query/security/ssi/getIssuerListMembers/GetIssuerListMembersQueryHandler";
import { GetRevocationRegistryAddressQueryHandler } from "../../../app/usecase/query/security/ssi/getRevocationRegistryAddress/GetRevocationRegistryAddressQueryHandler";
import { IsIssuerQueryHandler } from "../../../app/usecase/query/security/ssi/isIssuer/IsIssuerQueryHandler";
import { GetExternalKycListsCountQueryHandler } from "../../../app/usecase/query/security/externalKycLists/getExternalKycListsCount/GetExternalKycListsCountQueryHandler";
import { GetExternalKycListsMembersQueryHandler } from "../../../app/usecase/query/security/externalKycLists/getExternalKycListsMembers/GetExternalKycListsMembersQueryHandler";
import { IsExternalKycListQueryHandler } from "../../../app/usecase/query/security/externalKycLists/isExternalKycList/IsExternalKycListQueryHandler";
import { IsExternallyGrantedQueryHandler } from "../../../app/usecase/query/security/externalKycLists/isExternallyGranted/IsExternallyGrantedQueryHandler";
import { IsInternalKycActivatedQueryHandler } from "../../../app/usecase/query/security/kyc/isInternalKycActivated/IsInternalKycActivatedQueryHandler";
import { AddIssuerCommandHandler } from "../../../app/usecase/command/security/ssi/addIssuer/AddIssuerCommandHandler";
import { RemoveIssuerCommandHandler } from "../../../app/usecase/command/security/ssi/removeIssuer/RemoveIssuerCommandHandler";
import { SetRevocationRegistryAddressCommandHandler } from "../../../app/usecase/command/security/ssi/setRevocationRegistryAddress/SetRevocationRegistryAddressCommandHandler";
import { ActionContentHashExistsQueryHandler } from "../../../app/usecase/query/security/actionContentHashExists/ActionContentHashExistsQueryHandler";
export const COMMAND_HANDLERS_KYC = [
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: UpdateExternalKycListsCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: AddExternalKycListCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: RemoveExternalKycListCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: ActivateInternalKycCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: DeactivateInternalKycCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: GrantKycCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: RevokeKycCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: GrantKycMockCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: RevokeKycMockCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: CreateExternalKycListMockCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: AddIssuerCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: RemoveIssuerCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: SetRevocationRegistryAddressCommandHandler,
    },
];
export const QUERY_HANDLERS_KYC = [
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetKycStatusMockQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetKycForQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetKycAccountsCountQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetKycAccountsDataQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetKycStatusForQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetIssuerListCountQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetIssuerListMembersQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetRevocationRegistryAddressQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: IsIssuerQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetExternalKycListsCountQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetExternalKycListsMembersQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: IsExternalKycListQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: IsExternallyGrantedQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: IsInternalKycActivatedQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: ActionContentHashExistsQueryHandler,
    },
];
