diff --git a/server/app/apis/questions.py b/server/app/apis/questions.py index b1847b2ece6a9dd4f9b682d6b8abd9a25551588e..1398be8600a9c34332decfa6973181e522bdd34c 100644 --- a/server/app/apis/questions.py +++ b/server/app/apis/questions.py @@ -3,7 +3,7 @@ import app.core.http_codes as codes from app.apis import admin_required, item_response, list_response from app.core.dto import QuestionDTO from app.core.models import Question -from app.core.parsers import user_parser, user_search_parser +from app.core.parsers import question_parser from flask_jwt_extended import get_jwt_identity, jwt_required from flask_restx import Namespace, Resource @@ -40,6 +40,24 @@ list_schema = QuestionDTO.list_schema # return item_response(schema.dump(item)) +@api.route("/") +@api.param("CID") +class CompetitionsList(Resource): + @jwt_required + def post(self, CID): + args = question_parser.parse_args(strict=True) + + name = args.get("name") + # total_score = args.get("total_score") + slide_id = args.get("slide_id") + type_id = args.get("type_id") + + item_slide = dbc.get.slide(CID, slide_id) + item = dbc.add.question(name, item_slide.order, type_id, item_slide) + + return item_response(schema.dump(item)) + + @api.route("/<QID>") @api.param("CID,QID") class Questions(Resource): diff --git a/server/app/core/parsers.py b/server/app/core/parsers.py index d4aaf0ec1dc4e1144e073e02908a0c2bc5eb3a7a..16490390eb596b9e088e5a59b6ac4d729b324243 100644 --- a/server/app/core/parsers.py +++ b/server/app/core/parsers.py @@ -52,3 +52,11 @@ slide_parser = reqparse.RequestParser() slide_parser.add_argument("order", type=int, default=None) slide_parser.add_argument("title", type=str, default=None) slide_parser.add_argument("timer", type=int, default=None) + + +###QUESTION#### +question_parser = reqparse.RequestParser() +question_parser.add_argument("name", type=str) +# question_parser.add_argument("total_score", type=int) +question_parser.add_argument("slide_id", type=int) +question_parser.add_argument("type_id", type=int)