fix: fixed expired status when configs without an end date

This commit is contained in:
vkamn
2026-03-26 17:23:19 +08:00
parent a231bf9ab7
commit 041219187b
3 changed files with 7 additions and 0 deletions
+1
View File
@@ -56,6 +56,7 @@ namespace apiDefs
constexpr QLatin1String activeDeviceCount("active_device_count");
constexpr QLatin1String maxDeviceCount("max_device_count");
constexpr QLatin1String subscriptionEndDate("subscription_end_date");
constexpr QLatin1String subscriptionExpiredByServer("subscription_expired_by_server");
constexpr QLatin1String subscription("subscription");
constexpr QLatin1String endDate("end_date");
constexpr QLatin1String issuedConfigs("issued_configs");
@@ -799,6 +799,9 @@ bool ApiConfigsController::updateServiceFromGateway(const int serverIndex, const
} else {
if (errorCode == ErrorCode::ApiSubscriptionExpiredError) {
if (!apiConfig.value(apiDefs::key::isInAppPurchase).toBool(false)) {
apiConfig.insert(apiDefs::key::subscriptionExpiredByServer, true);
serverConfig.insert(configKey::apiConfig, apiConfig);
m_serversModel->editServer(serverConfig, serverIndex);
emit subscriptionExpiredOnServer();
} else {
emit errorOccurred(errorCode);
+3
View File
@@ -186,6 +186,9 @@ QVariant ServersModel::data(const QModelIndex &index, int role) const
if (apiConfig.value(apiDefs::key::isInAppPurchase).toBool(false)) {
return false;
}
if (apiConfig.value(apiDefs::key::subscriptionExpiredByServer).toBool(false)) {
return true;
}
const QString endDate =
apiConfig.value(apiDefs::key::subscription).toObject().value(apiDefs::key::endDate).toString();
if (endDate.isEmpty()) {