Exemple #1
0
def post_move():
    new_move = request.get_json()
    move = Move.query.get(new_move['id'])

    if move:
        return jsonify(result='success')

    if not move:
        move = Move.deserialize(new_move)

    if not move.valid:
        return jsonify(result='failed',
                       message=f"move {move.id} isn't valid."), 400

    db.session.add(move)
    try:
        db.session.commit()
    except IntegrityError:
        return jsonify(result='failed',
                       message="This node already has this move."), 400
    sent_node = Node()
    if 'sent_node' in new_move:
        sent_node.url = new_move['sent_node']

    move_broadcast.delay(move.id,
                         sent_node_url=sent_node.url,
                         my_node_url=f'{request.scheme}://{request.host}')
    return jsonify(result='success')
Exemple #2
0
def post_move():
    new_move = request.get_json()
    move = Move.query.get(new_move['id'])

    if move:
        return jsonify(result='success')

    if not move:
        move = Move(
            id=new_move['id'],
            user=new_move['user'],
            name=new_move['name'],
            signature=new_move['signature'],
            tax=new_move['tax'],
            details=new_move['details'],
            created_at=datetime.datetime.strptime(new_move['created_at'],
                                                  '%Y-%m-%d %H:%M:%S.%f'),
        )

    if not move.valid:
        return jsonify(result='failed',
                       message=f"move {move.id} isn't valid."), 400

    db.session.add(move)
    db.session.commit()

    sent_node = Node()
    if 'sent_node' in new_move:
        sent_node.url = new_move['sent_node']

    move_broadcast.delay(move.id,
                         sent_node_url=sent_node.url,
                         my_node_url=f'{request.scheme}://{request.host}')
    return jsonify(result='success')