diff options
| author | Silarn <jrim@rimpo.org> | 2019-01-31 16:54:31 -0600 |
|---|---|---|
| committer | Silarn <jrim@rimpo.org> | 2019-02-18 21:29:27 -0600 |
| commit | b7d2a608d8c0364d76950bc908c53203e3f467ff (patch) | |
| tree | fce301a4a79191bd3930a3e3f9e07068f8a255c7 /src/nxmaccessmanager.cpp | |
| parent | f04c437960c0882e62af7ead176c3f22adcd681d (diff) | |
Fixe API Key storage and actually validate the response
Diffstat (limited to 'src/nxmaccessmanager.cpp')
| -rw-r--r-- | src/nxmaccessmanager.cpp | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/nxmaccessmanager.cpp b/src/nxmaccessmanager.cpp index d9bb2905..77ffbebc 100644 --- a/src/nxmaccessmanager.cpp +++ b/src/nxmaccessmanager.cpp @@ -249,23 +249,26 @@ void NXMAccessManager::validateFinished() if (m_ValidateReply != nullptr) { QJsonDocument jdoc = QJsonDocument::fromJson(m_ValidateReply->readAll()); QJsonObject credentialsData = jdoc.object(); - QString test = jdoc.toJson(); - QString name = credentialsData.value("name").toString(); - bool premium = credentialsData.value("is_premium?").toBool(); + if (credentialsData.contains("user_id")) { + QString name = credentialsData.value("name").toString(); + bool premium = credentialsData.value("is_premium").toBool(); - std::tuple<int, int, int, int> limits(std::make_tuple( - m_ValidateReply->rawHeader("x-rl-daily-remaining").toInt(), - m_ValidateReply->rawHeader("x-rl-daily-limit").toInt(), - m_ValidateReply->rawHeader("x-rl-hourly-remaining").toInt(), - m_ValidateReply->rawHeader("x-rl-hourly-limit").toInt() - )); + std::tuple<int, int, int, int> limits(std::make_tuple( + m_ValidateReply->rawHeader("x-rl-daily-remaining").toInt(), + m_ValidateReply->rawHeader("x-rl-daily-limit").toInt(), + m_ValidateReply->rawHeader("x-rl-hourly-remaining").toInt(), + m_ValidateReply->rawHeader("x-rl-hourly-limit").toInt() + )); - emit credentialsReceived(name, premium, limits); + emit credentialsReceived(name, premium, limits); - m_ValidateReply->deleteLater(); - m_ValidateReply = nullptr; + m_ValidateReply->deleteLater(); + m_ValidateReply = nullptr; - m_ValidateState = VALIDATE_VALID; - emit validateSuccessful(true); + m_ValidateState = VALIDATE_VALID; + emit validateSuccessful(true); + } else { + emit validateFailed(tr("Validation failed, please reauthenticate in the Settings -> Nexus tab: %1").arg(credentialsData.value("message").toString())); + } } } |
