2023-01-23 14:03:55 +00:00
|
|
|
// SPDX-FileCopyrightText: 2023 flowln <flowlnlnln@gmail.com>
|
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
|
2022-11-25 12:23:46 +00:00
|
|
|
#include "FlameResourceModels.h"
|
2022-12-16 22:03:52 +00:00
|
|
|
|
2022-05-08 08:22:50 +01:00
|
|
|
#include "Json.h"
|
2022-12-16 22:03:52 +00:00
|
|
|
|
2022-12-18 18:41:46 +00:00
|
|
|
#include "modplatform/flame/FlameAPI.h"
|
2022-03-07 22:29:59 +00:00
|
|
|
#include "modplatform/flame/FlameModIndex.h"
|
|
|
|
|
2022-12-16 22:03:52 +00:00
|
|
|
namespace ResourceDownload {
|
2022-01-16 10:20:21 +00:00
|
|
|
|
2022-12-18 18:41:46 +00:00
|
|
|
FlameModModel::FlameModModel(BaseInstance const& base) : ModModel(base, new FlameAPI) {}
|
2022-03-03 02:01:23 +00:00
|
|
|
|
2022-12-16 22:03:52 +00:00
|
|
|
void FlameModModel::loadIndexedPack(ModPlatform::IndexedPack& m, QJsonObject& obj)
|
2022-03-07 22:29:59 +00:00
|
|
|
{
|
|
|
|
FlameMod::loadIndexedPack(m, obj);
|
2022-03-07 22:55:20 +00:00
|
|
|
}
|
2022-03-07 22:29:59 +00:00
|
|
|
|
2022-07-19 16:29:31 +01:00
|
|
|
// We already deal with the URLs when initializing the pack, due to the API response's structure
|
2022-12-16 22:03:52 +00:00
|
|
|
void FlameModModel::loadExtraPackInfo(ModPlatform::IndexedPack& m, QJsonObject& obj)
|
2022-07-19 16:29:31 +01:00
|
|
|
{
|
|
|
|
FlameMod::loadBody(m, obj);
|
|
|
|
}
|
|
|
|
|
2022-12-16 22:03:52 +00:00
|
|
|
void FlameModModel::loadIndexedPackVersions(ModPlatform::IndexedPack& m, QJsonArray& arr)
|
2022-03-07 22:29:59 +00:00
|
|
|
{
|
2022-12-18 18:41:46 +00:00
|
|
|
FlameMod::loadIndexedPackVersions(m, arr, APPLICATION->network(), &m_base_instance);
|
2022-03-07 22:55:20 +00:00
|
|
|
}
|
2022-03-07 22:29:59 +00:00
|
|
|
|
2022-12-16 22:03:52 +00:00
|
|
|
auto FlameModModel::documentToArray(QJsonDocument& obj) const -> QJsonArray
|
2022-03-07 22:29:59 +00:00
|
|
|
{
|
2022-05-08 08:22:50 +01:00
|
|
|
return Json::ensureArray(obj.object(), "data");
|
2022-03-07 22:29:59 +00:00
|
|
|
}
|
|
|
|
|
2022-12-16 23:26:10 +00:00
|
|
|
FlameResourcePackModel::FlameResourcePackModel(const BaseInstance& base) : ResourcePackResourceModel(base, new FlameAPI) {}
|
|
|
|
|
|
|
|
void FlameResourcePackModel::loadIndexedPack(ModPlatform::IndexedPack& m, QJsonObject& obj)
|
|
|
|
{
|
|
|
|
FlameMod::loadIndexedPack(m, obj);
|
|
|
|
}
|
|
|
|
|
|
|
|
// We already deal with the URLs when initializing the pack, due to the API response's structure
|
|
|
|
void FlameResourcePackModel::loadExtraPackInfo(ModPlatform::IndexedPack& m, QJsonObject& obj)
|
|
|
|
{
|
|
|
|
FlameMod::loadBody(m, obj);
|
|
|
|
}
|
|
|
|
|
|
|
|
void FlameResourcePackModel::loadIndexedPackVersions(ModPlatform::IndexedPack& m, QJsonArray& arr)
|
|
|
|
{
|
|
|
|
FlameMod::loadIndexedPackVersions(m, arr, APPLICATION->network(), &m_base_instance);
|
|
|
|
}
|
|
|
|
|
|
|
|
auto FlameResourcePackModel::documentToArray(QJsonDocument& obj) const -> QJsonArray
|
|
|
|
{
|
|
|
|
return Json::ensureArray(obj.object(), "data");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2022-12-16 22:03:52 +00:00
|
|
|
} // namespace ResourceDownload
|