def GetCategoryList(self, request): limit = 10 if request.limit is not None: limit = request.limit curs = None if request.cursor is not None: try: curs = Cursor(urlsafe=request.cursor) except BadValueError: raise endpoints.BadRequestException('Invalid cursor %s.' % request.cursor) if (curs is not None): categories, next_curs, more = Category.query(Category.user == self.GetUserId()).fetch_page(limit, start_cursor=curs) else: categories, next_curs, more = Category.query(Category.user == self.GetUserId()).fetch_page(limit) items = [entity.ConvertToResponse() for entity in categories] if more: return CategoryListResponse(category_list=items, cursor=next_curs.urlsafe(), has_more=more) else: return CategoryListResponse(category_list=items, has_more=more)
def DeleteUser(self, request): '''API method to delete current user and all his data''' categories = Category.query(Category.user == self.GetUserId()).fetch() for category in categories: category.key.delete() tasks = Task.query(Task.user == self.GetUserId()).fetch() for task in tasks: task.key.delete() user = User.query(User.username == endpoints.get_current_user().email()).get() user.key.delete() return message_types.VoidMessage()