示例#1
0
文件: web.py 项目: sparce/imperium
def addcard_deck(deck_id):
    if current_user():
        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)

        card = request.get_json()
        try:
            deck = DeckService.addcard(deck,card)
        except (DeckError) as e:
            raise InvalidUsage(str(e), status_code=403)

        result = deck_schema.dump(deck)
        return jsonify(result.data)
    else:
        raise InvalidUsage('You are not authenticated', status_code=401)
示例#2
0
def addcard_deck(deck):
    """Adds cards to deck"""
    return DeckService.addcard(deck, request.get_json())