48 lines
1.3 KiB
C
48 lines
1.3 KiB
C
|
#pragma once
|
||
|
|
||
|
#include <QJsonDocument>
|
||
|
|
||
|
#include <modplatform/ResourceAPI.h>
|
||
|
|
||
|
class SearchTask : public Task {
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
void executeTask() override { emitSucceeded(); }
|
||
|
};
|
||
|
|
||
|
class DummyResourceAPI : public ResourceAPI {
|
||
|
public:
|
||
|
static auto searchRequestResult()
|
||
|
{
|
||
|
static QByteArray json_response =
|
||
|
"{\"hits\":["
|
||
|
"{"
|
||
|
"\"author\":\"flowln\","
|
||
|
"\"description\":\"the bestest mod\","
|
||
|
"\"project_id\":\"something\","
|
||
|
"\"project_type\":\"mod\","
|
||
|
"\"slug\":\"bip_bop\","
|
||
|
"\"title\":\"AAAAAAAA\","
|
||
|
"\"versions\":[\"2.71\"]"
|
||
|
"}"
|
||
|
"]}";
|
||
|
|
||
|
return QJsonDocument::fromJson(json_response);
|
||
|
}
|
||
|
|
||
|
DummyResourceAPI() : ResourceAPI() {}
|
||
|
[[nodiscard]] auto getSortingMethods() const -> QList<SortingMethod> override { return {}; };
|
||
|
|
||
|
[[nodiscard]] Task::Ptr searchProjects(SearchArgs&&, SearchCallbacks&& callbacks) const override
|
||
|
{
|
||
|
auto task = new SearchTask;
|
||
|
QObject::connect(task, &Task::succeeded, [=] {
|
||
|
auto json = searchRequestResult();
|
||
|
callbacks.on_succeed(json);
|
||
|
});
|
||
|
QObject::connect(task, &Task::finished, task, &Task::deleteLater);
|
||
|
return task;
|
||
|
}
|
||
|
};
|