def favorite(): """Favorite a song.""" user = g.user if not user: flash('Sign in or sign up to favorite', 'dark') return redirect('/sign-up') song_key = request.json['key'] song_fav = Favorite(user_id=user.id, song_key=song_key) add_to_songs(song_key) user.favorites.append(song_fav) try: db.session.commit() return jsonify(action='favorited') except (IntegrityError, FlushError): db.session.rollback() song_fav = Favorite.query.filter_by(user_id=user.id, song_key=song_key) song_fav.delete() db.session.commit() return jsonify(action='unfavorited')
def delete_user(id): User.delete().where(User.id == id).execute() Media.delete().where(Media.user_id == id).execute() Favorite.delete().where(Favorite.user_id == id).execute() Comment.delete().where(Comment.user_id == id).execute() return jsonify(data={}, status={ 'code': 200, 'message': 'User deleted from all resources' })
def delete_favorite(id): try: query = Favorite.delete().where(Favorite.id == id) query.execute() except: return jsonify(data={}, status={"code": 401, "message": "Error: Resource not deleted"}) return jsonify(data={}, status={"code": 200, "message": "Resource deleted"})
def delete_media(id): try: query = Media.delete().where(Media.id == id) query.execute() query2 = Comment.delete().where(Comment.media_id == id) query2.execute() query3 = Favorite.delete().where(Favorite.media_id == id) query3.execute() return jsonify(data={}, status={"code": 200, "message": "resource deleted"}) except Media.DoesNotExist: return jsonify(data={}, status={"code": 401, "message": "There is no media at that id"})