# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from scalekit.v1.users import users_pb2 as scalekit_dot_v1_dot_users_dot_users__pb2


class UserServiceStub(object):
    """Missing associated documentation comment in .proto file."""

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.GetUser = channel.unary_unary(
                '/scalekit.v1.users.UserService/GetUser',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.GetUserRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.GetUserResponse.FromString,
                )
        self.ListUsers = channel.unary_unary(
                '/scalekit.v1.users.UserService/ListUsers',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListUsersRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListUsersResponse.FromString,
                )
        self.SearchUsers = channel.unary_unary(
                '/scalekit.v1.users.UserService/SearchUsers',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.SearchUsersRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.SearchUsersResponse.FromString,
                )
        self.SearchOrganizationUsers = channel.unary_unary(
                '/scalekit.v1.users.UserService/SearchOrganizationUsers',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.SearchOrganizationUsersRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.SearchOrganizationUsersResponse.FromString,
                )
        self.UpdateUser = channel.unary_unary(
                '/scalekit.v1.users.UserService/UpdateUser',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.UpdateUserRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.UpdateUserResponse.FromString,
                )
        self.DeleteUser = channel.unary_unary(
                '/scalekit.v1.users.UserService/DeleteUser',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.DeleteUserRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.CreateMembership = channel.unary_unary(
                '/scalekit.v1.users.UserService/CreateMembership',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.CreateMembershipRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.CreateMembershipResponse.FromString,
                )
        self.DeleteMembership = channel.unary_unary(
                '/scalekit.v1.users.UserService/DeleteMembership',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.DeleteMembershipRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.UpdateMembership = channel.unary_unary(
                '/scalekit.v1.users.UserService/UpdateMembership',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.UpdateMembershipRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.UpdateMembershipResponse.FromString,
                )
        self.CreateUserAndMembership = channel.unary_unary(
                '/scalekit.v1.users.UserService/CreateUserAndMembership',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.CreateUserAndMembershipRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.CreateUserAndMembershipResponse.FromString,
                )
        self.ListOrganizationUsers = channel.unary_unary(
                '/scalekit.v1.users.UserService/ListOrganizationUsers',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListOrganizationUsersRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListOrganizationUsersResponse.FromString,
                )
        self.ResendInvite = channel.unary_unary(
                '/scalekit.v1.users.UserService/ResendInvite',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.ResendInviteRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.ResendInviteResponse.FromString,
                )
        self.ListUserRoles = channel.unary_unary(
                '/scalekit.v1.users.UserService/ListUserRoles',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListUserRolesRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListUserRolesResponse.FromString,
                )
        self.AssignUserRoles = channel.unary_unary(
                '/scalekit.v1.users.UserService/AssignUserRoles',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.AssignUserRolesRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.AssignUserRolesResponse.FromString,
                )
        self.RemoveUserRole = channel.unary_unary(
                '/scalekit.v1.users.UserService/RemoveUserRole',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.RemoveUserRoleRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.ListUserPermissions = channel.unary_unary(
                '/scalekit.v1.users.UserService/ListUserPermissions',
                request_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListUserPermissionsRequest.SerializeToString,
                response_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListUserPermissionsResponse.FromString,
                )


class UserServiceServicer(object):
    """Missing associated documentation comment in .proto file."""

    def GetUser(self, request, context):
        """Users
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListUsers(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SearchUsers(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SearchOrganizationUsers(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateUser(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteUser(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateMembership(self, request, context):
        """Memberships
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteMembership(self, request, context):
        """TODO Check cascade behaviour currently its ignored
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateMembership(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateUserAndMembership(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListOrganizationUsers(self, request, context):
        """only memberships of the organization
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ResendInvite(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListUserRoles(self, request, context):
        """User Role Management
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AssignUserRoles(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RemoveUserRole(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListUserPermissions(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_UserServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetUser': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUser,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.GetUserRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.GetUserResponse.SerializeToString,
            ),
            'ListUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.ListUsers,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListUsersRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListUsersResponse.SerializeToString,
            ),
            'SearchUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.SearchUsers,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.SearchUsersRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.SearchUsersResponse.SerializeToString,
            ),
            'SearchOrganizationUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.SearchOrganizationUsers,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.SearchOrganizationUsersRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.SearchOrganizationUsersResponse.SerializeToString,
            ),
            'UpdateUser': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateUser,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.UpdateUserRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.UpdateUserResponse.SerializeToString,
            ),
            'DeleteUser': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteUser,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.DeleteUserRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'CreateMembership': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateMembership,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.CreateMembershipRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.CreateMembershipResponse.SerializeToString,
            ),
            'DeleteMembership': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteMembership,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.DeleteMembershipRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'UpdateMembership': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateMembership,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.UpdateMembershipRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.UpdateMembershipResponse.SerializeToString,
            ),
            'CreateUserAndMembership': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateUserAndMembership,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.CreateUserAndMembershipRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.CreateUserAndMembershipResponse.SerializeToString,
            ),
            'ListOrganizationUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.ListOrganizationUsers,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListOrganizationUsersRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListOrganizationUsersResponse.SerializeToString,
            ),
            'ResendInvite': grpc.unary_unary_rpc_method_handler(
                    servicer.ResendInvite,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.ResendInviteRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.ResendInviteResponse.SerializeToString,
            ),
            'ListUserRoles': grpc.unary_unary_rpc_method_handler(
                    servicer.ListUserRoles,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListUserRolesRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListUserRolesResponse.SerializeToString,
            ),
            'AssignUserRoles': grpc.unary_unary_rpc_method_handler(
                    servicer.AssignUserRoles,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.AssignUserRolesRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.AssignUserRolesResponse.SerializeToString,
            ),
            'RemoveUserRole': grpc.unary_unary_rpc_method_handler(
                    servicer.RemoveUserRole,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.RemoveUserRoleRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'ListUserPermissions': grpc.unary_unary_rpc_method_handler(
                    servicer.ListUserPermissions,
                    request_deserializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListUserPermissionsRequest.FromString,
                    response_serializer=scalekit_dot_v1_dot_users_dot_users__pb2.ListUserPermissionsResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'scalekit.v1.users.UserService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class UserService(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def GetUser(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/GetUser',
            scalekit_dot_v1_dot_users_dot_users__pb2.GetUserRequest.SerializeToString,
            scalekit_dot_v1_dot_users_dot_users__pb2.GetUserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListUsers(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/ListUsers',
            scalekit_dot_v1_dot_users_dot_users__pb2.ListUsersRequest.SerializeToString,
            scalekit_dot_v1_dot_users_dot_users__pb2.ListUsersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SearchUsers(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/SearchUsers',
            scalekit_dot_v1_dot_users_dot_users__pb2.SearchUsersRequest.SerializeToString,
            scalekit_dot_v1_dot_users_dot_users__pb2.SearchUsersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SearchOrganizationUsers(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/SearchOrganizationUsers',
            scalekit_dot_v1_dot_users_dot_users__pb2.SearchOrganizationUsersRequest.SerializeToString,
            scalekit_dot_v1_dot_users_dot_users__pb2.SearchOrganizationUsersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateUser(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/UpdateUser',
            scalekit_dot_v1_dot_users_dot_users__pb2.UpdateUserRequest.SerializeToString,
            scalekit_dot_v1_dot_users_dot_users__pb2.UpdateUserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteUser(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/DeleteUser',
            scalekit_dot_v1_dot_users_dot_users__pb2.DeleteUserRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateMembership(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/CreateMembership',
            scalekit_dot_v1_dot_users_dot_users__pb2.CreateMembershipRequest.SerializeToString,
            scalekit_dot_v1_dot_users_dot_users__pb2.CreateMembershipResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteMembership(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/DeleteMembership',
            scalekit_dot_v1_dot_users_dot_users__pb2.DeleteMembershipRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateMembership(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/UpdateMembership',
            scalekit_dot_v1_dot_users_dot_users__pb2.UpdateMembershipRequest.SerializeToString,
            scalekit_dot_v1_dot_users_dot_users__pb2.UpdateMembershipResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateUserAndMembership(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/CreateUserAndMembership',
            scalekit_dot_v1_dot_users_dot_users__pb2.CreateUserAndMembershipRequest.SerializeToString,
            scalekit_dot_v1_dot_users_dot_users__pb2.CreateUserAndMembershipResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListOrganizationUsers(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/ListOrganizationUsers',
            scalekit_dot_v1_dot_users_dot_users__pb2.ListOrganizationUsersRequest.SerializeToString,
            scalekit_dot_v1_dot_users_dot_users__pb2.ListOrganizationUsersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ResendInvite(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/ResendInvite',
            scalekit_dot_v1_dot_users_dot_users__pb2.ResendInviteRequest.SerializeToString,
            scalekit_dot_v1_dot_users_dot_users__pb2.ResendInviteResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListUserRoles(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/ListUserRoles',
            scalekit_dot_v1_dot_users_dot_users__pb2.ListUserRolesRequest.SerializeToString,
            scalekit_dot_v1_dot_users_dot_users__pb2.ListUserRolesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AssignUserRoles(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/AssignUserRoles',
            scalekit_dot_v1_dot_users_dot_users__pb2.AssignUserRolesRequest.SerializeToString,
            scalekit_dot_v1_dot_users_dot_users__pb2.AssignUserRolesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemoveUserRole(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/RemoveUserRole',
            scalekit_dot_v1_dot_users_dot_users__pb2.RemoveUserRoleRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListUserPermissions(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/scalekit.v1.users.UserService/ListUserPermissions',
            scalekit_dot_v1_dot_users_dot_users__pb2.ListUserPermissionsRequest.SerializeToString,
            scalekit_dot_v1_dot_users_dot_users__pb2.ListUserPermissionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
