import sys
from PyQt6.QtWidgets import QApplication, QMessageBox
from core.db_factory import get_database_adapter
from core.tenant_manager import TenantManager
from core.profile_sync_service import ProfileSyncService

def main():
    app = QApplication(sys.argv)
    
    tenant = TenantManager()
    if not tenant.is_license_valid() or not tenant.is_profile_sync_enabled():
        QMessageBox.warning(None, "Hata", "Geçerli bir bulut lisansı bulunamadı.")
        return
        
    db = get_database_adapter()
    db.connect()
    
    service = ProfileSyncService(db, tenant)
    local_profiles = service.fetch_local_profiles()
    
    success_count = 0
    for pid, prof in local_profiles.items():
        try:
            print(f"{prof['name']} profili telefona zorla gönderiliyor...")
            service.push_profile_to_vps(prof)
            success_count += 1
        except Exception as e:
            print(f"Hata ({prof['name']}): {e}")
            
    QMessageBox.information(None, "Tamamlandı", 
        f"{success_count} adet şube verisi web sunucusuna başarıyla zorla eşitlendi!\n\n"
        f"Lütfen telefondan sayfayı yenileyin, tüm bakiyeler bilgisayarla birebir aynı olacaktır."
    )

if __name__ == "__main__":
    main()



