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({})
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({})
def _create_node(): node = Node("test node") node.updated_at = datetime.utcnow() node.proposal = '{}' return node