import pymysql

# إنشاء قاعدة البيانات
try:
    connection = pymysql.connect(
        host='localhost',
        user='root',
        password='',
        charset='utf8mb4'
    )
    
    cursor = connection.cursor()
    
    # إنشاء قاعدة البيانات
    cursor.execute('CREATE DATABASE IF NOT EXISTS smartlife_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci')
    print('✅ Database "smartlife_db" created successfully!')
    
    # استخدام قاعدة البيانات
    cursor.execute('USE smartlife_db')
    
    # قراءة وتنفيذ ملف SQL
    print('📥 Reading SQL file...')
    with open('d:\\work\\smartlife\\database\\smartlife_db.sql', 'r', encoding='utf-8') as f:
        sql_content = f.read()
    
    # تقسيم الأوامر وتنفيذها
    print('⚙️ Executing SQL commands...')
    statements = sql_content.split(';')
    
    for i, statement in enumerate(statements):
        statement = statement.strip()
        if statement and not statement.startswith('--'):
            try:
                cursor.execute(statement)
            except Exception as e:
                if 'already exists' not in str(e).lower():
                    print(f'Warning on statement {i}: {str(e)[:100]}')
    
    connection.commit()
    
    # التحقق من الجداول
    cursor.execute('SHOW TABLES')
    tables = cursor.fetchall()
    print(f'\n✅ Database setup complete! Created {len(tables)} tables:')
    for table in tables:
        print(f'  ✓ {table[0]}')
    
    # التحقق من مستخدم Admin
    cursor.execute('SELECT COUNT(*) FROM users WHERE role = "super_admin"')
    admin_count = cursor.fetchone()[0]
    print(f'\n👤 Admin users: {admin_count}')
    
    if admin_count == 0:
        print('⚠️ No admin user found. Creating default admin...')
        # كلمة المرور المشفرة لـ "admin123"
        cursor.execute("""
            INSERT INTO users (id, email, password_hash, full_name, full_name_ar, role, language, is_active)
            VALUES (
                UUID(),
                'admin@smartlife.local',
                '$2b$12$LQv3c1yqBWVHxkd0LHAkCOYz6TtxMQJqhN8/LewY5GyYIxF6O86PS',
                'System Administrator',
                'مدير النظام',
                'super_admin',
                'ar',
                TRUE
            )
        """)
        connection.commit()
        print('✅ Admin user created!')
    
    cursor.close()
    connection.close()
    
    print('\n' + '='*50)
    print('🎉 Setup Complete!')
    print('='*50)
    print('Login credentials:')
    print('  Email: admin@smartlife.local')
    print('  Password: admin123')
    print('='*50)
    
except Exception as e:
    print(f'❌ Error: {e}')
    print('\n💡 Make sure XAMPP MySQL is running!')
