"""
اختبار وتحديث إعدادات SMTP في قاعدة البيانات
"""
import asyncio
import sys
sys.path.insert(0, '.')

async def update_smtp_settings():
    from app.database import AsyncSessionLocal as async_session_maker
    from app.models.settings import TenantSettings
    from sqlalchemy import select, update
    
    async with async_session_maker() as session:
        # جلب جميع الإعدادات
        result = await session.execute(select(TenantSettings))
        all_settings = result.scalars().all()
        
        print(f"Found {len(all_settings)} tenant settings")
        
        for settings in all_settings:
            print(f"\n=== Tenant ID: {settings.tenant_id} ===")
            print(f"SMTP Enabled: {settings.smtp_enabled}")
            print(f"SMTP Host: {settings.smtp_host}")
            print(f"SMTP Port: {settings.smtp_port}")
            print(f"SMTP Username: {settings.smtp_username}")
            print(f"SMTP Password: {'*' * len(settings.smtp_password) if settings.smtp_password else 'NOT SET'}")
            
            # تحديث كلمة المرور إذا كانت فارغة أو خاطئة
            if settings.smtp_username == 'ithelpdesk@ai4ksa.com':
                settings.smtp_password = 'ithelpdesk@123'
                settings.smtp_enabled = True
                print("\n✓ Updated SMTP password")
        
        await session.commit()
        print("\n✓ Changes committed to database")

if __name__ == "__main__":
    asyncio.run(update_smtp_settings())
