diff options
| author | Silarn <jrim@rimpo.org> | 2018-08-20 18:34:31 -0500 |
|---|---|---|
| committer | Silarn <jrim@rimpo.org> | 2019-02-18 21:26:44 -0600 |
| commit | 9fe2f6126dc7b9396d188b57ccb097f0035f57b7 (patch) | |
| tree | dfb6038767f55238506122682b644ac86415050b /src/modinforegular.cpp | |
| parent | bd9cc6254c8ded2f726e2b001a4ecf61ac0e5a1d (diff) | |
Initial Nexus API changes:
- Switch to SSO with WebSocket
- Update endpoints (all but version checking)
Diffstat (limited to 'src/modinforegular.cpp')
| -rw-r--r-- | src/modinforegular.cpp | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/modinforegular.cpp b/src/modinforegular.cpp index 529f20cb..3523feae 100644 --- a/src/modinforegular.cpp +++ b/src/modinforegular.cpp @@ -216,8 +216,10 @@ void ModInfoRegular::nxmDescriptionAvailable(QString, int, QVariant, QVariant re setNewestVersion(VersionInfo(result["version"].toString())); setNexusDescription(result["description"].toString()); - if ((m_EndorsedState != ENDORSED_NEVER) && (result.contains("voted_by_user"))) { - setEndorsedState(result["voted_by_user"].toBool() ? ENDORSED_TRUE : ENDORSED_FALSE); + if ((m_EndorsedState != ENDORSED_NEVER) && (result.contains("endorsement"))) { + QVariantMap endorsement = result["endorsement"].toMap(); + QString endorsementStatus = endorsement["endorse_status"].toString(); + setEndorsedState(endorsementStatus.compare("Endorsed") == 0 ? ENDORSED_TRUE : ENDORSED_FALSE); } m_LastNexusQuery = QDateTime::currentDateTime(); //m_MetaInfoChanged = true; @@ -228,10 +230,17 @@ void ModInfoRegular::nxmDescriptionAvailable(QString, int, QVariant, QVariant re void ModInfoRegular::nxmEndorsementToggled(QString, int, QVariant, QVariant resultData) { - m_EndorsedState = resultData.toBool() ? ENDORSED_TRUE : ENDORSED_FALSE; - m_MetaInfoChanged = true; - saveMeta(); - emit modDetailsUpdated(true); + QMap results = resultData.toMap(); + if (results["code"].toInt() == 200 || results["code"].toInt() == 201) { + if (results["status"].toString().compare("Endorsed") == 0) { + m_EndorsedState = ENDORSED_TRUE; + } else { + m_EndorsedState = ENDORSED_FALSE; + } + m_MetaInfoChanged = true; + saveMeta(); + emit modDetailsUpdated(true); + } } @@ -435,7 +444,7 @@ bool ModInfoRegular::remove() void ModInfoRegular::endorse(bool doEndorse) { if (doEndorse != (m_EndorsedState == ENDORSED_TRUE)) { - m_NexusBridge.requestToggleEndorsement(m_GameName, getNexusID(), doEndorse, QVariant(1)); + m_NexusBridge.requestToggleEndorsement(m_GameName, getNexusID(), m_Version.canonicalString(), doEndorse, QVariant(1)); } } |
