WebAPI: add new method setTags to upsert tags on torrents

This is another optimization for torrent management on large scale instances with the goal to minimize the amount of required API calls. Ref #22128.

This new function and endpoint torrents/setTags does an upsert to replace the torrent tags and handles the removal and add internally, instead of doing multiple calls to add and remove tags on torrents from the client.

PR #22156.

---------

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
This commit is contained in:
ze0s
2025-01-24 15:24:35 +01:00
committed by GitHub
parent 05787d94ec
commit 82c36aea89
3 changed files with 24 additions and 1 deletions

View File

@@ -54,7 +54,7 @@
#include "base/utils/version.h"
#include "api/isessionmanager.h"
inline const Utils::Version<3, 2> API_VERSION {2, 11, 3};
inline const Utils::Version<3, 2> API_VERSION {2, 11, 4};
class QTimer;
@@ -212,6 +212,7 @@ private:
{{u"torrents"_s, u"setShareLimits"_s}, Http::METHOD_POST},
{{u"torrents"_s, u"setSSLParameters"_s}, Http::METHOD_POST},
{{u"torrents"_s, u"setSuperSeeding"_s}, Http::METHOD_POST},
{{u"torrents"_s, u"setTags"_s}, Http::METHOD_POST},
{{u"torrents"_s, u"setUploadLimit"_s}, Http::METHOD_POST},
{{u"transfer"_s, u"setDownloadLimit"_s}, Http::METHOD_POST},
{{u"transfer"_s, u"setSpeedLimitsMode"_s}, Http::METHOD_POST},