make compatible with Talk 12 (NC 22) #31
|
@ -148,7 +148,7 @@ void RoomService::loadRooms() {
|
|||
connect(&m_nam, &QNetworkAccessManager::finished, account->capabilities(), &Capabilities::checkTalkCapHash);
|
||||
|
||||
QUrl endpoint = QUrl(account->host());
|
||||
QString apiV = account->capabilities()->hasConversationV2() ? "v2" : "v1";
|
||||
QString apiV = "v" + QString::number(account->capabilities()->getConversationApiLevel());
|
||||
endpoint.setPath(endpoint.path() + "/ocs/v2.php/apps/spreed/api/" + apiV + "/room");
|
||||
endpoint.setQuery("format=json");
|
||||
QNetworkRequest request = RequestFactory::getRequest(endpoint, account);
|
||||
|
|
|
@ -14,16 +14,25 @@ bool Capabilities::areAvailable() const {
|
|||
return m_available;
|
||||
}
|
||||
|
||||
bool Capabilities::hasConversationV2() const {
|
||||
if(!m_available) {
|
||||
qDebug() << "capabilities have not been requested yet!";
|
||||
return false;
|
||||
}
|
||||
|
||||
return m_capabilities
|
||||
int Capabilities::getConversationApiLevel() const
|
||||
{
|
||||
if (m_capabilities
|
||||
.find("spreed").value().toObject()
|
||||
.find("features").value().toArray()
|
||||
.toVariantList().contains("conversation-v2");
|
||||
.toVariantList().contains("conversation-v4"))
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
|
||||
if (m_capabilities
|
||||
.find("spreed").value().toObject()
|
||||
.find("features").value().toArray()
|
||||
.toVariantList().contains("conversation-v2"))
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
QColor Capabilities::primaryColor() const {
|
||||
|
|
|
@ -16,7 +16,7 @@ public:
|
|||
bool areAvailable() const;
|
||||
void request();
|
||||
NextcloudAccount *m_account;
|
||||
bool hasConversationV2() const;
|
||||
int getConversationApiLevel() const;
|
||||
QColor primaryColor() const;
|
||||
QUrl logoUrl() const;
|
||||
QString name() const;
|
||||
|
|
|
@ -83,7 +83,7 @@ void Participants::pullParticipants(QString token, int accountId)
|
|||
m_reply->abort();
|
||||
}
|
||||
QUrl endpoint = QUrl(m_activeAccount->host());
|
||||
QString apiV = m_activeAccount->capabilities()->hasConversationV2() ? "v2" : "v1";
|
||||
QString apiV = "v" + QString::number(m_activeAccount->capabilities()->getConversationApiLevel());
|
||||
endpoint.setPath(endpoint.path() + "/ocs/v2.php/apps/spreed/api/" + apiV+ "/room/" + token + "/participants");
|
||||
QUrlQuery q(endpoint);
|
||||
q.addQueryItem("format", "json");
|
||||
|
|
Loading…
Reference in New Issue