API for renaming ownCloud feeds.

This commit is contained in:
Martin Rotter 2016-04-19 10:27:33 +02:00
parent 5a04882bc6
commit 6e83005d99
2 changed files with 31 additions and 4 deletions

View File

@ -36,7 +36,7 @@ OwnCloudNetworkFactory::OwnCloudNetworkFactory()
: m_url(QString()), m_fixedUrl(QString()), m_forceServerSideUpdate(false),
m_authUsername(QString()), m_authPassword(QString()), m_urlUser(QString()), m_urlStatus(QString()),
m_urlFolders(QString()), m_urlFeeds(QString()), m_urlMessages(QString()), m_urlFeedsUpdate(QString()),
m_urlDeleteFeed(QString()), m_userId(QString()) {
m_urlDeleteFeed(QString()), m_urlRenameFeed(QString()), m_userId(QString()) {
}
OwnCloudNetworkFactory::~OwnCloudNetworkFactory() {
@ -64,6 +64,7 @@ void OwnCloudNetworkFactory::setUrl(const QString &url) {
m_urlMessages = m_fixedUrl + API_PATH + "items?id=%1&batchSize=%2&type=%3";
m_urlFeedsUpdate = m_fixedUrl + API_PATH + "feeds/update?userId=%1&feedId=%2";
m_urlDeleteFeed = m_fixedUrl + API_PATH + "feeds/%1";
m_urlRenameFeed = m_fixedUrl + API_PATH + "feeds/%1/rename";
setUserId(QString());
}
@ -223,6 +224,32 @@ bool OwnCloudNetworkFactory::createFeed(const QString &url, int parent_id) {
}
}
bool OwnCloudNetworkFactory::renameFeed(const QString &new_name, int feed_id) {
QString final_url = m_urlRenameFeed.arg(QString::number(feed_id));
QByteArray result_raw;
QJsonObject json;
json["feedTitle"] = new_name;
NetworkResult network_reply = NetworkFactory::performNetworkOperation(final_url,
qApp->settings()->value(GROUP(Feeds),
SETTING(Feeds::UpdateTimeout)).toInt(),
QJsonDocument(json).toJson(QJsonDocument::Compact),
QSL("application/json"), result_raw,
QNetworkAccessManager::PutOperation,
true, m_authUsername, m_authPassword,
true);
m_lastError = network_reply.first;
if (network_reply.first != QNetworkReply::NoError) {
qWarning("ownCloud: Renaming of feed failed with error %d.", network_reply.first);
return false;
}
else {
return true;
}
}
OwnCloudGetMessagesResponse OwnCloudNetworkFactory::getMessages(int feed_id) {
if (forceServerSideUpdate()) {
triggerFeedUpdate(feed_id);

View File

@ -119,11 +119,10 @@ class OwnCloudNetworkFactory {
// Get feeds & categories (used for sync-in).
OwnCloudGetFeedsCategoriesResponse feedsCategories();
// Delete a feed.
// Feed operations.
bool deleteFeed(int feed_id);
// Creates new feed.
bool createFeed(const QString &url, int parent_id);
bool renameFeed(const QString &new_name, int feed_id);
// Get messages for given feed.
OwnCloudGetMessagesResponse getMessages(int feed_id);
@ -150,6 +149,7 @@ class OwnCloudNetworkFactory {
QString m_urlMessages;
QString m_urlFeedsUpdate;
QString m_urlDeleteFeed;
QString m_urlRenameFeed;
QString m_userId;
};