Ejemplo n.º 1
0
  def SignUp(self, request, context):
    """Creates a new db user object"""
    log = get_logger()
    result = TokenReply()
    try:
      log = log.bind(password=request.password, email=request.email)
      if len(request.password) < 6:
        raise ValueError(f"Password too short. Received length {request.password}")

      token = User.create(email=request.email.lower(), password=request.password,
                          phone=request.phone, name=request.name)
      if token:
        result = TokenReply(token=token)
    except IntegrityError as err:
      context.set_code(grpc.StatusCode.INVALID_ARGUMENT)
      context.set_details(f"Duplicate email {request.email}")
    except ValueError as err:
      context.set_code(grpc.StatusCode.INVALID_ARGUMENT)
      context.set_details(str(err))
    except Exception as err:
      context.set_code(grpc.StatusCode.INTERNAL)
      context.set_details(str(err))
    finally:
      handle_resp('signup', context, log)
      return result
Ejemplo n.º 2
0
async def register(*_, create: dict = None) -> User:
    create_user = CreateUser(**create)
    create_user.password = Password.encode(create_user.password)
    return User.create(**create_user.dict())