summaryrefslogtreecommitdiff
path: root/src/nxmaccessmanager.cpp
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2019-01-31 16:54:31 -0600
committerSilarn <jrim@rimpo.org>2019-02-18 21:29:27 -0600
commitb7d2a608d8c0364d76950bc908c53203e3f467ff (patch)
treefce301a4a79191bd3930a3e3f9e07068f8a255c7 /src/nxmaccessmanager.cpp
parentf04c437960c0882e62af7ead176c3f22adcd681d (diff)
Fixe API Key storage and actually validate the response
Diffstat (limited to 'src/nxmaccessmanager.cpp')
-rw-r--r--src/nxmaccessmanager.cpp31
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()));
+ }
}
}