Exemple #1
0
def node_register(caller_identity):
    payload = request.get_json(force=True)

    proposal = payload.get('service_proposal', None)
    if proposal is None:
        return jsonify(error='missing service_proposal'), 400

    node_key = proposal.get('provider_id', None)
    if node_key is None:
        return jsonify(error='missing provider_id'), 400

    if node_key.lower() != caller_identity:
        message = 'provider_id does not match current identity'
        return jsonify(error=message), 403

    node = Node.query.get(node_key)
    if not node:
        node = Node(node_key)

    node.ip = request.remote_addr
    node.proposal = json.dumps(proposal)
    node.updated_at = datetime.utcnow()
    db.session.add(node)
    db.session.commit()

    return jsonify({})
Exemple #2
0
def node_register():
    payload = request.get_json(force=True)
    node_key = payload.get('node_key', '')
    connection_config = payload.get('connection_config', '')

    if node_key == '':
        return jsonify(error='node key is empty'), 400

    rp = RegisteredParticipant.query.get(node_key)
    if rp:
        if rp.node_ip != request.remote_addr:
            return jsonify(error='node key and ip address mismatch'), 400

    node = Node.query.get(node_key)
    if not node:
        node = Node(node_key)

    node.ip = request.remote_addr
    node.connection_config = connection_config
    node.updated_at = datetime.utcnow()
    db.session.add(node)
    db.session.commit()

    return jsonify({})
Exemple #3
0
def _create_node():
    node = Node("test node")
    node.updated_at = datetime.utcnow()
    node.proposal = '{}'
    return node