Newer
Older
from app.apis import check_jwt, item_response, list_response
from app.core import rich_schemas
from app.core.parsers import competition_parser, competition_search_parser
from flask_jwt_extended import jwt_required
from flask_restx import Resource
list_schema = CompetitionDTO.list_schema
@api.route("/")
def post(self):
args = competition_parser.parse_args(strict=True)
# Add competition
# Add default slide
return item_response(schema.dump(item))
@api.route("/<competition_id>")
@api.param("competition_id")
def get(self, competition_id):
item = dbc.get.competition(competition_id)
return item_response(rich_schema.dump(item))
args = competition_parser.parse_args(strict=True)
item = dbc.get.one(Competition, competition_id)
return item_response(schema.dump(item))
def delete(self, competition_id):
item = dbc.get.one(Competition, competition_id)
return "deleted"
@api.route("/search")
class CompetitionSearch(Resource):
def get(self):
args = competition_search_parser.parse_args(strict=True)
return list_response(list_schema.dump(items), total)
@api.route("/<competition_id>/copy")
@api.param("competition_id")
class SlidesOrder(Resource):
@check_jwt(editor=True)
def post(self, competition_id):
item_competition = dbc.get.competition(competition_id)
item_competition_copy = dbc.copy.competition(item_competition)
return item_response(schema.dump(item_competition_copy))