# endpoints/nodes.py from flask import Blueprint, request, jsonify from app import get_driver, neo4j_logger bp = Blueprint('nodes', __name__) @bp.route('/nodes') def get_nodes(): node_type = request.args.get('type') if not node_type: return jsonify({"error": "Node type is required"}), 400 driver = get_driver() with driver.session() as session: query = f"MATCH (n:{node_type}) RETURN n" neo4j_logger.info(f"Executing query: {query}") nodes = session.run(query) # Convert the nodes to a list of dictionaries nodes_list = [ { 'id': record['n'].id, 'labels': list(record['n'].labels), **{key: value for key, value in record['n'].items()} } for record in nodes ] return jsonify({"nodes": nodes_list})