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

from _qwak_proto.qwak.feature_store.entities import entity_service_pb2 as qwak_dot_feature__store_dot_entities_dot_entity__service__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.CreateEntity = channel.unary_unary(
                '/qwak.feature.store.entities.EntityService/CreateEntity',
                request_serializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.CreateEntityRequest.SerializeToString,
                response_deserializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.CreateEntityResponse.FromString,
                )
        self.UpdateEntity = channel.unary_unary(
                '/qwak.feature.store.entities.EntityService/UpdateEntity',
                request_serializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.UpdateEntityRequest.SerializeToString,
                response_deserializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.UpdateEntityResponse.FromString,
                )
        self.DeleteEntity = channel.unary_unary(
                '/qwak.feature.store.entities.EntityService/DeleteEntity',
                request_serializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.DeleteEntityRequest.SerializeToString,
                response_deserializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.DeleteEntityResponse.FromString,
                )
        self.GetEntityById = channel.unary_unary(
                '/qwak.feature.store.entities.EntityService/GetEntityById',
                request_serializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.GetEntityByIdRequest.SerializeToString,
                response_deserializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.GetEntityByIdResponse.FromString,
                )
        self.GetEntityByName = channel.unary_unary(
                '/qwak.feature.store.entities.EntityService/GetEntityByName',
                request_serializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.GetEntityByNameRequest.SerializeToString,
                response_deserializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.GetEntityByNameResponse.FromString,
                )
        self.ListEntities = channel.unary_unary(
                '/qwak.feature.store.entities.EntityService/ListEntities',
                request_serializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.ListEntitiesRequest.SerializeToString,
                response_deserializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.ListEntitiesResponse.FromString,
                )


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

    def CreateEntity(self, request, context):
        """Create an entity in the registry
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateEntity(self, request, context):
        """Update an existing entity
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteEntity(self, request, context):
        """Delete an entity
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetEntityById(self, request, context):
        """Get an entity by name
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetEntityByName(self, request, context):
        """Get an entity by ID
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListEntities(self, request, context):
        """List all entities
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_EntityServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreateEntity': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateEntity,
                    request_deserializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.CreateEntityRequest.FromString,
                    response_serializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.CreateEntityResponse.SerializeToString,
            ),
            'UpdateEntity': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateEntity,
                    request_deserializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.UpdateEntityRequest.FromString,
                    response_serializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.UpdateEntityResponse.SerializeToString,
            ),
            'DeleteEntity': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteEntity,
                    request_deserializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.DeleteEntityRequest.FromString,
                    response_serializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.DeleteEntityResponse.SerializeToString,
            ),
            'GetEntityById': grpc.unary_unary_rpc_method_handler(
                    servicer.GetEntityById,
                    request_deserializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.GetEntityByIdRequest.FromString,
                    response_serializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.GetEntityByIdResponse.SerializeToString,
            ),
            'GetEntityByName': grpc.unary_unary_rpc_method_handler(
                    servicer.GetEntityByName,
                    request_deserializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.GetEntityByNameRequest.FromString,
                    response_serializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.GetEntityByNameResponse.SerializeToString,
            ),
            'ListEntities': grpc.unary_unary_rpc_method_handler(
                    servicer.ListEntities,
                    request_deserializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.ListEntitiesRequest.FromString,
                    response_serializer=qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.ListEntitiesResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'qwak.feature.store.entities.EntityService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def CreateEntity(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, '/qwak.feature.store.entities.EntityService/CreateEntity',
            qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.CreateEntityRequest.SerializeToString,
            qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.CreateEntityResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateEntity(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, '/qwak.feature.store.entities.EntityService/UpdateEntity',
            qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.UpdateEntityRequest.SerializeToString,
            qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.UpdateEntityResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteEntity(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, '/qwak.feature.store.entities.EntityService/DeleteEntity',
            qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.DeleteEntityRequest.SerializeToString,
            qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.DeleteEntityResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetEntityById(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, '/qwak.feature.store.entities.EntityService/GetEntityById',
            qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.GetEntityByIdRequest.SerializeToString,
            qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.GetEntityByIdResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetEntityByName(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, '/qwak.feature.store.entities.EntityService/GetEntityByName',
            qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.GetEntityByNameRequest.SerializeToString,
            qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.GetEntityByNameResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListEntities(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, '/qwak.feature.store.entities.EntityService/ListEntities',
            qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.ListEntitiesRequest.SerializeToString,
            qwak_dot_feature__store_dot_entities_dot_entity__service__pb2.ListEntitiesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
