add setComment API endpoint

This commit is contained in:
HamletDuFromage 2025-07-24 10:24:16 +02:00
commit a3eb27a04d
5 changed files with 25 additions and 0 deletions

View file

@ -144,6 +144,7 @@ namespace BitTorrent
virtual QDateTime creationDate() const = 0; virtual QDateTime creationDate() const = 0;
virtual QString creator() const = 0; virtual QString creator() const = 0;
virtual QString comment() const = 0; virtual QString comment() const = 0;
virtual void setComment(const QString &comment) = 0;
virtual bool isPrivate() const = 0; virtual bool isPrivate() const = 0;
virtual qlonglong totalSize() const = 0; virtual qlonglong totalSize() const = 0;
virtual qlonglong wantedSize() const = 0; virtual qlonglong wantedSize() const = 0;

View file

@ -2959,3 +2959,8 @@ QFuture<std::invoke_result_t<Func>> TorrentImpl::invokeAsync(Func &&func) const
return future; return future;
} }
void TorrentImpl::setComment(const QString &comment)
{
m_comment = comment;
}

View file

@ -106,6 +106,7 @@ namespace BitTorrent
QDateTime creationDate() const override; QDateTime creationDate() const override;
QString creator() const override; QString creator() const override;
QString comment() const override; QString comment() const override;
void setComment(const QString &comment) override;
bool isPrivate() const override; bool isPrivate() const override;
qlonglong totalSize() const override; qlonglong totalSize() const override;
qlonglong wantedSize() const override; qlonglong wantedSize() const override;

View file

@ -2143,3 +2143,20 @@ void TorrentsController::onMetadataDownloaded(const BitTorrent::TorrentInfo &inf
iter.value().setTorrentInfo(info); iter.value().setTorrentInfo(info);
} }
} }
void TorrentsController::setCommentAction()
{
requireParams({u"hash"_s, u"comment"_s});
const auto id = BitTorrent::TorrentID::fromString(params()[u"hash"_s]);
QString comment = params()[u"comment"_s].trimmed();
BitTorrent::Torrent *const torrent = BitTorrent::Session::instance()->getTorrent(id);
if (!torrent)
throw APIError(APIErrorType::NotFound);
comment.replace(QRegularExpression(u"\r?\n|\r"_s), u" "_s);
torrent->setComment(comment);
setResult(QString());
}

View file

@ -71,6 +71,7 @@ private slots:
void recheckAction(); void recheckAction();
void reannounceAction(); void reannounceAction();
void renameAction(); void renameAction();
void setCommentAction();
void setCategoryAction(); void setCategoryAction();
void createCategoryAction(); void createCategoryAction();
void editCategoryAction(); void editCategoryAction();