mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-23 00:47:21 -06:00
WebAPI: send names of missing required params
Small quality of life improvement. PR #23192.
This commit is contained in:
committed by
GitHub
parent
56277d5e2b
commit
93a72673d4
@@ -35,6 +35,7 @@
|
|||||||
#include <QList>
|
#include <QList>
|
||||||
#include <QMetaObject>
|
#include <QMetaObject>
|
||||||
|
|
||||||
|
#include "base/global.h"
|
||||||
#include "apierror.h"
|
#include "apierror.h"
|
||||||
|
|
||||||
void APIResult::clear()
|
void APIResult::clear()
|
||||||
@@ -75,14 +76,17 @@ const DataMap &APIController::data() const
|
|||||||
|
|
||||||
void APIController::requireParams(const QList<QString> &requiredParams) const
|
void APIController::requireParams(const QList<QString> &requiredParams) const
|
||||||
{
|
{
|
||||||
const bool hasAllRequiredParams = std::all_of(requiredParams.cbegin(), requiredParams.cend()
|
QStringList missingParams;
|
||||||
, [this](const QString &requiredParam)
|
missingParams.reserve(requiredParams.size());
|
||||||
{
|
|
||||||
return params().contains(requiredParam);
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!hasAllRequiredParams)
|
for (const QString &requiredParam : requiredParams)
|
||||||
throw APIError(APIErrorType::BadParams);
|
{
|
||||||
|
if (!params().contains(requiredParam))
|
||||||
|
missingParams.append(requiredParam);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!missingParams.isEmpty())
|
||||||
|
throw APIError(APIErrorType::BadParams, tr("Missing required parameters: %1").arg(missingParams.join(u", "_s)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void APIController::setResult(const QString &result)
|
void APIController::setResult(const QString &result)
|
||||||
|
|||||||
Reference in New Issue
Block a user