libfuoten 0.8.1
Qt based library to access the ownCloud/Nextcloud News App API
Loading...
Searching...
No Matches
RenameFeed Class Reference

#include <Fuoten/API/RenameFolder>

Inheritance diagram for RenameFeed:
Component

Properties

qint64 feedId
QString newName
Properties inherited from Component
Fuoten::AbstractConfigurationconfiguration
Fuoten::Errorerror
bool inOperation
Fuoten::AbstractNotificatornotificator
quint16 requestTimeout
Fuoten::AbstractStoragestorage
bool useStorage
Fuoten::WipeManagerwipeManager

Public Member Functions

 RenameFeed (QObject *parent=nullptr)
 ~RenameFeed () override
Q_INVOKABLE void execute () override
qint64 feedId () const
QString newName () const
void setFeedId (qint64 nFeedId)
void setNewName (const QString &nNewName)
Public Member Functions inherited from Component
 Component (QObject *parent=nullptr)
 ~Component () override
AbstractConfigurationconfiguration () const
Errorerror () const
bool inOperation () const
bool isUseStorageEnabled () const
AbstractNotificatornotificator () const
quint16 requestTimeout () const
void setConfiguration (AbstractConfiguration *nAbstractConfiguration)
void setNotificator (AbstractNotificator *notificator)
void setRequestTimeout (quint16 seconds)
void setStorage (AbstractStorage *localStorage)
void setUseStorage (bool useStorage)
void setWipeManager (WipeManager *wipeManager)
AbstractStoragestorage () const
WipeManagerwipeManager () const

Signals

void feedIdChanged (qint64 feedId)
void newNameChanged (const QString &newName)
void succeeded (qint64 id, const QString &newName)
Signals inherited from Component
void configurationChanged (Fuoten::AbstractConfiguration *configuration)
void errorChanged (Fuoten::Error *error)
void failed (Fuoten::Error *error)
void inOperationChanged (bool inOperation)
void notificatorChanged (Fuoten::AbstractNotificator *notificator)
void requestTimeoutChanged (quint16 requestTimeout)
void sslErrors (QNetworkReply *reply, const QList< QSslError > &errors)
void storageChanged (Fuoten::AbstractStorage *storage)
void succeeded (const QJsonDocument &result)
void useStorageChanged (bool useStorage)
void wipeManagerChanged (Fuoten::WipeManager *wipeManager)

Protected Member Functions

bool checkInput () override
void extractError (QNetworkReply *reply) override
void successCallback () override
Protected Member Functions inherited from Component
void addRequestHeader (const QByteArray &headerName, const QByteArray &headerValue)
void addRequestHeaders (const QHash< QByteArray, QByteArray > &headers)
virtual bool checkOutput ()
QJsonDocument jsonResult () const
void notify (AbstractNotificator::Type type, QtMsgType severity, const QVariant &data) const
void notify (const Error *e) const
QHash< QByteArray, QByteArray > requestHeaders () const
void sendRequest ()
void setApiRoute (const QString &route)
void setApiRoute (const QStringList &routeParts)
void setError (Error *nError)
void setExpectedJSONType (ExpectedJSONType type)
void setInOperation (bool nInOperation)
void setNetworkOperation (QNetworkAccessManager::Operation operation)
void setPayload (const QByteArray &payload)
void setPayload (const QJsonObject &payload)
void setRequestHeaders (const QHash< QByteArray, QByteArray > &headers)
void setRequiresAuth (bool reqAuth)
void setUrlQuery (const QUrlQuery &query)

Additional Inherited Members

Public Types inherited from Component
enum  ExpectedJSONType : quint8 { Empty = 0 , Array = 1 , Object = 2 }
Static Public Member Functions inherited from Component
static AbstractConfigurationdefaultConfiguration ()
static AbstractNotificatordefaultNotificator ()
static AbstractStoragedefaultStorage ()
static WipeManagerdefaultWipeManager ()
static AbstractNamFactorynetworkAccessManagerFactory ()
static void setDefaultConfiguration (AbstractConfiguration *config)
static void setDefaultNotificator (AbstractNotificator *notificator)
static void setDefaultStorage (AbstractStorage *storage)
static void setDefaultWipeManager (WipeManager *wipeManager)
static void setNetworkAccessManagerFactory (AbstractNamFactory *factory)

Detailed Description

Renames a feed on the News App server.

To rename a feed, set the RenameFeed::feedId and RenameFeed::newName as well as the Component::configuration property. Optionally set the Component::storage property to save the renamed folder. After setting the mandatory properties, call execute() to perform the API request.

If an AbstractStorage object is present, AbstractStorage::feedRenamed() will be used in the successCallback() to save the new feed name. If the request succeeded, the RenameFeed::succeeded() signal will be emitted. If something failed, the Component::failed() signal will be emitted and Component::error will contain a valid pointer to an Error object.

Mandatory properties
RenamFeed::folderId, RenameFeed::newName
API route
/feeds/{feedId}/rename
Method
PUT

Property Documentation

◆ feedId

qint64 feedId
readwrite

The ID of the feed that should be renamed.

Access functions:
qint64feedId() const
voidsetFeedId(qint64 nFeedId)
Notifier signal:
voidfeedIdChanged(qint64 feedId)

◆ newName

QString newName
readwrite

The new name for the feed.

Access functions:
QStringnewName() const
voidsetNewName(const QString &nNewName)
Notifier signal:
voidnewNameChanged(const QString &newName)

Constructor & Destructor Documentation

◆ RenameFeed()

RenameFeed ( QObject * parent = nullptr)
explicit

Constructs an API request object with the given parent to rename a feed on the remote server.

◆ ~RenameFeed()

~RenameFeed ( )
override

Destroys the RenameFeed object.

Member Function Documentation

◆ checkInput()

bool checkInput ( )
overrideprotectedvirtual

Checks for valid feedId and newName properties.

Will at first perform the checks from Component::checkInput() and will than check if RenameFeed::feedId is greater than zero and RenameFeed::newName is not empty.

Reimplemented from Component.

◆ execute()

void execute ( )
overridevirtual

Executes the API request.

To perform a successful API request, RenameFeed::feedId and RenameFeed::newName have to be valid.

Execution will not run while Component::inOperation returns true and will itself set that property to true when the request starts.

Implements Component.

◆ extractError()

void extractError ( QNetworkReply * reply)
overrideprotectedvirtual

Extracts possible errors replied by the News App API.

Reimplemented from Component.

◆ feedId()

qint64 feedId ( ) const

Returns the ID of the feed that should be renamed.

See also
feedId

◆ feedIdChanged

void feedIdChanged ( qint64 feedId)
signal

This signal is emitted if the feedId property changes.

Parameters
feedIdthe ID of the feed to change the name
See also
feedId

◆ newName()

QString newName ( ) const

Returns the new name for the feed.

See also
newName

◆ newNameChanged

void newNameChanged ( const QString & newName)
signal

This signal is emitted if the newName property changes.

Parameters
newNamethe new name for the feed
See also
newName

◆ setFeedId()

void setFeedId ( qint64 nFeedId)

Sets the ID of the feed that should be renamed.

Parameters
nFeedIdID of the feed
See also
feedId

◆ setNewName()

void setNewName ( const QString & nNewName)

Sets the new name for the feed.

Parameters
nNewNamethe new name for the feed \ſa newName

◆ succeeded

void succeeded ( qint64 id,
const QString & newName )
signal

Will be emitted when the request was successful.

Will contain the ID of the renamed folder as well as the new name.

Parameters
idthe ID of the feed that has changed the name
newNamethe new name for the feed
See also
Component::failed()

◆ successCallback()

void successCallback ( )
overrideprotectedvirtual

Finishes the renaming if it was successful.

If Component::storage points to a valid object, it will use AbstractStorage::feedRenamed() to store the renamed feed. Afterwards it will set Component::inOperation to false and will emit the RenameFeed::succeeded() signal.

Implements Component.