fix: allow remove expired api configs (#1907)

This commit is contained in:
vkamn
2025-10-03 14:45:12 +08:00
committed by GitHub
parent 50d1be7b4a
commit e024f71ce1
3 changed files with 10 additions and 6 deletions

View File

@@ -532,7 +532,7 @@ bool ApiConfigsController::updateServiceFromTelegram(const int serverIndex)
}
}
bool ApiConfigsController::deactivateDevice()
bool ApiConfigsController::deactivateDevice(const bool isRemoveEvent)
{
auto serverIndex = m_serversModel->getProcessedServerIndex();
auto serverConfigObject = m_serversModel->getServerConfig(serverIndex);
@@ -543,8 +543,12 @@ bool ApiConfigsController::deactivateDevice()
}
if (isSubscriptionExpired(apiConfigObject)) {
emit errorOccurred(ErrorCode::ApiSubscriptionExpiredError);
return false;
if (isRemoveEvent) {
return true;
} else {
emit errorOccurred(ErrorCode::ApiSubscriptionExpiredError);
return false;
}
}
GatewayRequestData gatewayRequestData { QSysInfo::productType(),

View File

@@ -30,7 +30,7 @@ public slots:
bool updateServiceFromGateway(const int serverIndex, const QString &newCountryCode, const QString &newCountryName,
bool reloadServiceConfig = false);
bool updateServiceFromTelegram(const int serverIndex);
bool deactivateDevice();
bool deactivateDevice(const bool isRemoveEvent);
bool deactivateExternalDevice(const QString &uuid, const QString &serverCountryCode);
bool isConfigValid();

View File

@@ -359,7 +359,7 @@ PageType {
PageController.showNotificationMessage(qsTr("Cannot unlink device during active connection"))
} else {
PageController.showBusyIndicator(true)
if (ApiConfigsController.deactivateDevice()) {
if (ApiConfigsController.deactivateDevice(false)) {
ApiSettingsController.getAccountInfo(true)
}
PageController.showBusyIndicator(false)
@@ -396,7 +396,7 @@ PageType {
PageController.showNotificationMessage(qsTr("Cannot remove server during active connection"))
} else {
PageController.showBusyIndicator(true)
if (ApiConfigsController.deactivateDevice()) {
if (ApiConfigsController.deactivateDevice(true)) {
InstallController.removeProcessedServer()
}
PageController.showBusyIndicator(false)