// SPDX-License-Identifier: Apache-2.0
import { TOKENS } from "../Tokens";
import { HasRoleQueryHandler } from "../../../app/usecase/query/security/roles/hasRole/HasRoleQueryHandler";
import { GetRoleCountForQueryHandler } from "../../../app/usecase/query/security/roles/getRoleCountFor/GetRoleCountForQueryHandler";
import { GetRolesForQueryHandler } from "../../../app/usecase/query/security/roles/getRolesFor/GetRolesForQueryHandler";
import { RevokeRoleCommandHandler } from "../../../app/usecase/command/security/roles/revokeRole/RevokeRoleCommandHandler";
import { ApplyRolesCommandHandler } from "../../../app/usecase/command/security/roles/applyRoles/ApplyRolesCommandHandler";
import { GrantRoleCommandHandler } from "../../../app/usecase/command/security/roles/grantRole/GrantRoleCommandHandler";
import { GetRoleMemberCountQueryHandler } from "../../../app/usecase/query/security/roles/getRoleMemberCount/GetRoleMemberCountQueryHandler";
import { GetRoleMembersQueryHandler } from "../../../app/usecase/query/security/roles/getRoleMembers/GetRoleMembersQueryHandler";
export const COMMAND_HANDLERS_RBAC = [
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: GrantRoleCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: ApplyRolesCommandHandler,
    },
    {
        token: TOKENS.COMMAND_HANDLER,
        useClass: RevokeRoleCommandHandler,
    },
];
export const QUERY_HANDLERS_RBAC = [
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: HasRoleQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetRoleCountForQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetRolesForQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetRoleMemberCountQueryHandler,
    },
    {
        token: TOKENS.QUERY_HANDLER,
        useClass: GetRoleMembersQueryHandler,
    },
];
