def create_game_result(): result = Result.query.filter_by(id=request.form['id']).first() if not result: if request.form['finished'] == '0': result = Result( input_phrase='', user_id=request.form['user_id'], initiating=False, game_id=request.form['game_id'], accuracy=0, finished=False, wpm=0, duration=0, created_at=datetime.datetime.now()) else: result = Result( input_phrase=request.form['input_phrase'], user_id=request.form['user_id'], initiating=True, game_id=request.form['game_id'], accuracy=request.form['accuracy'], finished=True, wpm=request.form['wpm'], duration=request.form['duration'], created_at=datetime.datetime.now()) increment_games_played(request.form['user_id']) db.session.add(result) else: result.finished = True result.input_phrase = request.form['input_phrase'] result.accuracy=request.form['accuracy'] result.wpm=request.form['wpm'] result.duration=request.form['duration'] if not result.initiating: if result.finished: increment_games_played(request.form['user_id']) game = Game.query.filter_by(id=result.game_id).first() game.active = False game.responded_to = datetime.datetime.now() db.session.commit() data = { 'id' : result.id, 'status' : 'success' } resp = jsonify(data) resp.status_code = 200 return resp