Ejemplo n.º 1
0
def remove_like(post_uid):

    user = get_user()

    try:
        like = Like.get(post = Post.get(uid=post_uid), user = user)
        like.delete_instance()
        like.save()
        return jsonify({"error": False, "message": "Like successfully removed"}), 200
    except:
        return jsonify({"error": True, "message": "Something went wrong."}), 500
Ejemplo n.º 2
0
def add_like(post_uid):

    user = get_user()

    try:
        try:
            like = Like.get(user=user, post=Post.get(uid=post_uid))
            return jsonify({'error': False, 'message': 'Post successfully liked.'}), 200
        except:
            pass
        new_like = Like(user=user, post=Post.get(uid=post_uid))
        new_like.save() 
        return jsonify({'error': False, 'message': 'Post successfully liked.'}), 200
    except:
        return jsonify({'error': True, 'message': 'An unknown error occurred.'}), 500
Ejemplo n.º 3
0
def get_user_posts():
    user = get_user()
    res = []
    for post in user.posts:
        has_liked = False
        try:
            like = Like.get(user=user, post=post)
            has_liked = True
        except:
            pass
        res.append({
            **post.to_dict,
            'has_liked': has_liked,
            'total_likes': post.likes.count()
        })
    res.sort(key=lambda p: p['total_likes'], reverse=True)
    return jsonify(res), 200
Ejemplo n.º 4
0
def get(uid):
    try:
        try:
            post = Post.get(uid = uid)
        except:
            return jsonify({"error": True, "message": "post not found"}), 404
        user = get_user()
        try:
            like = Like.get(post=post, user=user)
            if like.user == user and like.post == post:
                has_liked = True
        except:
            has_liked = False
        return jsonify({
            **post.to_dict,
            'has_liked': has_liked,
            'total_likes': post.likes.count()
        })
    except: 
        return jsonify({"error": True, "message": "I don't f*****g know"}), 504
Ejemplo n.º 5
0
def get_list():

    res = []
    user = get_user()
    for post in Post.select():
        try:
            like = Like.get(post=post, user=user)
            if like.user == user and like.post == post:
                has_liked = True
            else:
                has_liked = False
        except:
            has_liked = False

        res.append({
            **post.to_dict,
            'has_liked': has_liked,
            'total_likes': post.likes.count()
        })

    res.sort(key=lambda p: p['total_likes'], reverse=True)

    return jsonify(res)