def all_questions(question_id): if request.method == 'GET': if question_id is None: questions = Question.query.all() else: questions = Question.query.filter_by(id=question_id).all() return serialize_questions(questions) if request.method == 'POST': posted_questions = json.loads(request.get_data(as_text=True)) for question in posted_questions['questions']: new_question = Question(test_id=question['test_id'], text=question['text'], weight=question['weight'], multi_correct=question['multi_correct']) db.session.add(new_question) db.session.commit() return '201' if request.method == 'PUT': updates = json.loads(request.get_data(as_text=True)) question = Question.query.filter_by(id=question_id).first() for update in updates['update']: if update['what'] == 'text': question.text = update['new'] if update['what'] == 'weight': question.weight = update['new'] if update['what'] == 'test_id': question.test_id = update['new'] if update['what'] == 'multi_correct': question.multi_correct = update['new'] db.session.commit() return '200'
def test_questions(test_id): if request.method == 'GET': test = Test.query.filter_by(id=test_id).first() questions = test.questions return serialize_questions(questions)