def post(self): try: user_id = get_jwt_identity() body = request.get_json() search_all = Search.objects(owner=user_id).first() if search_all == None: search_all = Search(owner=user_id).save() Search.objects(owner=user_id).update_one( push__history_search=body["keyword"]) users = json.loads( User.objects(username__icontains=body["keyword"]).to_json()) posts = json.loads( Post.objects(described__icontains=body["keyword"]).to_json()) for index, post in enumerate(posts): like = Like.objects.get(post=post["id"]) is_liked = like.is_liked(user_id) posts[index]["is_liked"] = is_liked data = [] for index, user in enumerate(users): if str(user["id"]) == str(user_id): del users[index] items = {} items["username"] = user["username"] items["id"] = user["id"] friend = Friend.objects.get(owner=user["id"]) if friend.is_friend(user_id): items["is_friend"] = True else: items["is_friend"] = False data.append(items) self.res["user"] = data self.res["posts"] = posts[::-1] except DoesNotExist: self.res = response.user_is_invalid except Exception: self.res = response.internal_server() raise Exception return jsonify(self.res)
def get(self, id): try: user_id = get_jwt_identity() like = Like.objects.get(post=id) for userEmbed in like.user_like: if str(userEmbed["user"]) == user_id: self.check_user = True like.update(pull__user_like=userEmbed) if not self.check_user: raise Exception post = Post.objects(id=id).first() if post.like < 0: raise Exception post.update(dec__like=1) self.res = resCon.like_convert(post) except DoesNotExist: self.res = response.post_is_not_exit() except Exception: self.res = response.internal_server() return jsonify(self.res)