def addcardextra_deck(deck_id): if not current_user(): raise InvalidUsage('You are not authenticated', status_code=401) deck = Deck.query.get(deck_id) if deck is None: abort(404) if locked(deck): raise InvalidUsage("Deck is locked!", status_code=403) coach = Coach.query.options(raiseload(Coach.cards),raiseload(Coach.packs)).filter_by(disc_id=current_user()['id']).one_or_none() if deck.tournament_signup.coach!=coach: raise InvalidUsage("Unauthorized access!", status_code=403) name = request.get_json()['name'] try: deck = DeckService.addextracard(deck,name) except (DeckError) as e: raise InvalidUsage(str(e), status_code=403) result = deck_schema.dump(deck) return jsonify(result.data)
def addcardextra_deck(deck): """Adds extra card to deck""" return DeckService.addextracard(deck, request.get_json()['name'])