from flask import make_response, request, abort from flask.views import View from pycs import db from pycs.database.Result import Result from pycs.frontend.notifications.NotificationManager import NotificationManager class RemoveResult(View): """ removes a result from the database """ # pylint: disable=arguments-differ methods = ['POST'] def dispatch_request(self, result_id: int): # extract request data data = request.get_json(force=True) if 'remove' not in data or data['remove'] is not True: abort(400) # find result result = Result.query.get(result_id) if result is None: return abort(404) # start transaction with db.session.begin_nested(): result.remove() NotificationManager.removed("result", result.serialize()) return make_response()