From a7cefa7fcf8a290a13624b9c0226834b5eb2fbbb Mon Sep 17 00:00:00 2001 From: slava Date: Wed, 13 May 2026 02:17:17 +0700 Subject: [PATCH] Delete all synced bank profiles from server when removing a device. --- services/net/NetworkService.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/services/net/NetworkService.cpp b/services/net/NetworkService.cpp index fc2c704..5f76a4c 100644 --- a/services/net/NetworkService.cpp +++ b/services/net/NetworkService.cpp @@ -1514,6 +1514,20 @@ void NetworkService::deleteDeviceFromServer() { return; } + // Сначала удаляем на сервере все банковские профили девайса, которые уже + // были синхронизированы (есть bank_profile_id). Несинхронизированные — + // пропускаем, на сервере их нет. + const QList profiles = BankProfileDAO::getApplicationsByDeviceId(device.id); + for (const BankProfileInfo &bp : profiles) { + if (bp.bankProfileId.isEmpty()) continue; + const QJsonValue bpResult = deleteJson(m_apiBase + m_pathBankProfile + "/" + bp.bankProfileId, true); + if (bpResult.isUndefined()) { + qWarning() << "[deleteDeviceFromServer] failed to delete bank_profile on server:" << bp.bankProfileId << bp.code; + } else { + qDebug() << "[deleteDeviceFromServer] deleted bank_profile on server:" << bp.bankProfileId << bp.code; + } + } + const QJsonValue result = deleteJson(m_apiBase + m_pathDevice + device.apiId, true); if (result.isUndefined()) { qWarning() << "[deleteDeviceFromServer] failed to delete device on server:" << device.apiId;