# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc

from ..uac import UACService_pb2 as uac_dot_UACService__pb2


class UACServiceStub(object):
  # missing associated documentation comment in .proto file
  pass

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

    Args:
      channel: A grpc.Channel.
    """
    self.getCurrentUser = channel.unary_unary(
        '/ai.verta.uac.UACService/getCurrentUser',
        request_serializer=uac_dot_UACService__pb2.Empty.SerializeToString,
        response_deserializer=uac_dot_UACService__pb2.UserInfo.FromString,
        )
    self.addDevKey = channel.unary_unary(
        '/ai.verta.uac.UACService/addDevKey',
        request_serializer=uac_dot_UACService__pb2.Empty.SerializeToString,
        response_deserializer=uac_dot_UACService__pb2.UserInfo.FromString,
        )
    self.deletePrimaryDevKey = channel.unary_unary(
        '/ai.verta.uac.UACService/deletePrimaryDevKey',
        request_serializer=uac_dot_UACService__pb2.Empty.SerializeToString,
        response_deserializer=uac_dot_UACService__pb2.UserInfo.FromString,
        )
    self.deleteSecondaryDevKey = channel.unary_unary(
        '/ai.verta.uac.UACService/deleteSecondaryDevKey',
        request_serializer=uac_dot_UACService__pb2.Empty.SerializeToString,
        response_deserializer=uac_dot_UACService__pb2.UserInfo.FromString,
        )
    self.addDevKeyForUser = channel.unary_unary(
        '/ai.verta.uac.UACService/addDevKeyForUser',
        request_serializer=uac_dot_UACService__pb2.ChangeDevKeyForUser.SerializeToString,
        response_deserializer=uac_dot_UACService__pb2.UserInfo.FromString,
        )
    self.deletePrimaryDevKeyForUser = channel.unary_unary(
        '/ai.verta.uac.UACService/deletePrimaryDevKeyForUser',
        request_serializer=uac_dot_UACService__pb2.ChangeDevKeyForUser.SerializeToString,
        response_deserializer=uac_dot_UACService__pb2.UserInfo.FromString,
        )
    self.deleteSecondaryDevKeyForUser = channel.unary_unary(
        '/ai.verta.uac.UACService/deleteSecondaryDevKeyForUser',
        request_serializer=uac_dot_UACService__pb2.ChangeDevKeyForUser.SerializeToString,
        response_deserializer=uac_dot_UACService__pb2.UserInfo.FromString,
        )
    self.getUser = channel.unary_unary(
        '/ai.verta.uac.UACService/getUser',
        request_serializer=uac_dot_UACService__pb2.GetUser.SerializeToString,
        response_deserializer=uac_dot_UACService__pb2.UserInfo.FromString,
        )
    self.getUsers = channel.unary_unary(
        '/ai.verta.uac.UACService/getUsers',
        request_serializer=uac_dot_UACService__pb2.GetUsers.SerializeToString,
        response_deserializer=uac_dot_UACService__pb2.GetUsers.Response.FromString,
        )
    self.getUsersFuzzy = channel.unary_unary(
        '/ai.verta.uac.UACService/getUsersFuzzy',
        request_serializer=uac_dot_UACService__pb2.GetUsersFuzzy.SerializeToString,
        response_deserializer=uac_dot_UACService__pb2.GetUsersFuzzy.Response.FromString,
        )
    self.createUser = channel.unary_unary(
        '/ai.verta.uac.UACService/createUser',
        request_serializer=uac_dot_UACService__pb2.CreateUser.SerializeToString,
        response_deserializer=uac_dot_UACService__pb2.CreateUser.Response.FromString,
        )
    self.updateUser = channel.unary_unary(
        '/ai.verta.uac.UACService/updateUser',
        request_serializer=uac_dot_UACService__pb2.UpdateUser.SerializeToString,
        response_deserializer=uac_dot_UACService__pb2.UpdateUser.Response.FromString,
        )
    self.deleteUser = channel.unary_unary(
        '/ai.verta.uac.UACService/deleteUser',
        request_serializer=uac_dot_UACService__pb2.DeleteUser.SerializeToString,
        response_deserializer=uac_dot_UACService__pb2.DeleteUser.Response.FromString,
        )


class UACServiceServicer(object):
  # missing associated documentation comment in .proto file
  pass

  def getCurrentUser(self, request, context):
    """Get the current user information verifying JWT token
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def addDevKey(self, request, context):
    """adds new user developer key
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def deletePrimaryDevKey(self, request, context):
    """deletes primary developer key
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def deleteSecondaryDevKey(self, request, context):
    """deletes secondary developer key
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def addDevKeyForUser(self, request, context):
    """adds new user developer key
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def deletePrimaryDevKeyForUser(self, request, context):
    """deletes primary developer key
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def deleteSecondaryDevKeyForUser(self, request, context):
    """deletes primary developer key
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def getUser(self, request, context):
    """Get the current user information verifying JWT token
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def getUsers(self, request, context):
    # missing associated documentation comment in .proto file
    pass
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def getUsersFuzzy(self, request, context):
    # missing associated documentation comment in .proto file
    pass
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def createUser(self, request, context):
    """For now, any user can create a new user
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def updateUser(self, request, context):
    """Only current user can update themselves
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def deleteUser(self, request, context):
    """Only current user can delete themselves
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')


def add_UACServiceServicer_to_server(servicer, server):
  rpc_method_handlers = {
      'getCurrentUser': grpc.unary_unary_rpc_method_handler(
          servicer.getCurrentUser,
          request_deserializer=uac_dot_UACService__pb2.Empty.FromString,
          response_serializer=uac_dot_UACService__pb2.UserInfo.SerializeToString,
      ),
      'addDevKey': grpc.unary_unary_rpc_method_handler(
          servicer.addDevKey,
          request_deserializer=uac_dot_UACService__pb2.Empty.FromString,
          response_serializer=uac_dot_UACService__pb2.UserInfo.SerializeToString,
      ),
      'deletePrimaryDevKey': grpc.unary_unary_rpc_method_handler(
          servicer.deletePrimaryDevKey,
          request_deserializer=uac_dot_UACService__pb2.Empty.FromString,
          response_serializer=uac_dot_UACService__pb2.UserInfo.SerializeToString,
      ),
      'deleteSecondaryDevKey': grpc.unary_unary_rpc_method_handler(
          servicer.deleteSecondaryDevKey,
          request_deserializer=uac_dot_UACService__pb2.Empty.FromString,
          response_serializer=uac_dot_UACService__pb2.UserInfo.SerializeToString,
      ),
      'addDevKeyForUser': grpc.unary_unary_rpc_method_handler(
          servicer.addDevKeyForUser,
          request_deserializer=uac_dot_UACService__pb2.ChangeDevKeyForUser.FromString,
          response_serializer=uac_dot_UACService__pb2.UserInfo.SerializeToString,
      ),
      'deletePrimaryDevKeyForUser': grpc.unary_unary_rpc_method_handler(
          servicer.deletePrimaryDevKeyForUser,
          request_deserializer=uac_dot_UACService__pb2.ChangeDevKeyForUser.FromString,
          response_serializer=uac_dot_UACService__pb2.UserInfo.SerializeToString,
      ),
      'deleteSecondaryDevKeyForUser': grpc.unary_unary_rpc_method_handler(
          servicer.deleteSecondaryDevKeyForUser,
          request_deserializer=uac_dot_UACService__pb2.ChangeDevKeyForUser.FromString,
          response_serializer=uac_dot_UACService__pb2.UserInfo.SerializeToString,
      ),
      'getUser': grpc.unary_unary_rpc_method_handler(
          servicer.getUser,
          request_deserializer=uac_dot_UACService__pb2.GetUser.FromString,
          response_serializer=uac_dot_UACService__pb2.UserInfo.SerializeToString,
      ),
      'getUsers': grpc.unary_unary_rpc_method_handler(
          servicer.getUsers,
          request_deserializer=uac_dot_UACService__pb2.GetUsers.FromString,
          response_serializer=uac_dot_UACService__pb2.GetUsers.Response.SerializeToString,
      ),
      'getUsersFuzzy': grpc.unary_unary_rpc_method_handler(
          servicer.getUsersFuzzy,
          request_deserializer=uac_dot_UACService__pb2.GetUsersFuzzy.FromString,
          response_serializer=uac_dot_UACService__pb2.GetUsersFuzzy.Response.SerializeToString,
      ),
      'createUser': grpc.unary_unary_rpc_method_handler(
          servicer.createUser,
          request_deserializer=uac_dot_UACService__pb2.CreateUser.FromString,
          response_serializer=uac_dot_UACService__pb2.CreateUser.Response.SerializeToString,
      ),
      'updateUser': grpc.unary_unary_rpc_method_handler(
          servicer.updateUser,
          request_deserializer=uac_dot_UACService__pb2.UpdateUser.FromString,
          response_serializer=uac_dot_UACService__pb2.UpdateUser.Response.SerializeToString,
      ),
      'deleteUser': grpc.unary_unary_rpc_method_handler(
          servicer.deleteUser,
          request_deserializer=uac_dot_UACService__pb2.DeleteUser.FromString,
          response_serializer=uac_dot_UACService__pb2.DeleteUser.Response.SerializeToString,
      ),
  }
  generic_handler = grpc.method_handlers_generic_handler(
      'ai.verta.uac.UACService', rpc_method_handlers)
  server.add_generic_rpc_handlers((generic_handler,))
