Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @issues_bp.route('/<int:issue_id>/vote/', methods=['POST'])
- @login_required
- def voting(issue_id):
- issue = Issue()
- vote_filter = db.session.query(Vote). \
- filter(and_(Vote.target_id == issue_id, Vote.author_id == g.user.id)
- ).all()
- if vote_filter:
- return jsonify({'msg': 'Already voted'})
- else:
- vote = Vote(author=g.user, vote=True, target=issue)
- vote.target_id = issue_id
- db.session.add(vote)
- db.session.commit()
- return jsonify({}), 201
- @issues_bp.route('/<int:issue_id>/unvote/', methods=['DELETE'])
- @login_required
- def remove_vote(issue_id):
- vote_filter = db.session.query(Vote). \
- filter(and_(Vote.target_id == issue_id, Vote.author_id == g.user.id))
- result = vote_filter.delete(synchronize_session='fetch')
- if result:
- db.session.commit()
- return jsonify({'status': 0})
- else:
- db.session.rollback()
- return jsonify({'msg': 'vote not found', 'status': 1})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement