#!/usr/bin/env python3
"""
Simple script to check if Neo4j migration has been completed
Returns exit code 0 if data exists, 1 if migration is needed
"""

import os
import sys
from neo4j import GraphDatabase

def check_migration_status():
    """Check if Neo4j has any price tier data (namespaced or non-namespaced)"""
    try:
        # Connect to Neo4j
        uri = os.getenv('NEO4J_URI', 'bolt://localhost:7687')
        user = os.getenv('NEO4J_USER', 'neo4j')
        password = os.getenv('NEO4J_PASSWORD', 'password')
        
        driver = GraphDatabase.driver(uri, auth=(user, password))
        
        with driver.session() as session:
            # Check for non-namespaced PriceTier nodes
            result1 = session.run('MATCH (p:PriceTier) RETURN count(p) as count')
            non_namespaced = result1.single()['count']
            
            # Check for TSS namespaced PriceTier nodes
            result2 = session.run('MATCH (p:PriceTier:TSS) RETURN count(p) as count')
            tss_count = result2.single()['count']
            
            total = non_namespaced + tss_count
            
            print(f'Found {total} price tiers ({non_namespaced} non-namespaced, {tss_count} TSS)')
            
            # Return 0 if data exists (migration complete), 1 if no data (migration needed)
            if total > 0:
                print('Migration appears to be complete')
                return 0
            else:
                print('No data found - migration needed')
                return 1
                
        driver.close()
        
    except Exception as e:
        print(f'Error checking migration status: {e}')
        return 1

if __name__ == '__main__':
    sys.exit(check_migration_status())
