MCPcopy Create free account
hub / github.com/FreesmTeam/FreesmLauncher / latestVersions

Method latestVersions

launcher/modplatform/modrinth/ModrinthAPI.cpp:71–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69}
70
71Task::Ptr ModrinthAPI::latestVersions(const QStringList& hashes,
72 QString hash_format,
73 std::optional<std::list<Version>> mcVersions,
74 std::optional<ModPlatform::ModLoaderTypes> loaders,
75 std::shared_ptr<QByteArray> response)
76{
77 auto netJob = makeShared<NetJob>(QString("Modrinth::GetLatestVersions"), APPLICATION->network());
78
79 QJsonObject body_obj;
80
81 Json::writeStringList(body_obj, "hashes", hashes);
82 Json::writeString(body_obj, "algorithm", hash_format);
83
84 if (loaders.has_value())
85 Json::writeStringList(body_obj, "loaders", getModLoaderStrings(loaders.value()));
86
87 if (mcVersions.has_value()) {
88 QStringList game_versions;
89 for (auto& ver : mcVersions.value()) {
90 game_versions.append(mapMCVersionToModrinth(ver));
91 }
92 Json::writeStringList(body_obj, "game_versions", game_versions);
93 }
94
95 QJsonDocument body(body_obj);
96 auto body_raw = body.toJson();
97
98 netJob->addNetAction(
99 Net::ApiUpload::makeByteArray(QString(BuildConfig.MODRINTH_PROD_URL + "/version_files/update"), response, body_raw));
100
101 return netJob;
102}
103
104Task::Ptr ModrinthAPI::getProjects(QStringList addonIds, std::shared_ptr<QByteArray> response) const
105{

Callers 1

Calls 8

QStringClass · 0.85
writeStringListFunction · 0.85
writeStringFunction · 0.85
networkMethod · 0.80
valueMethod · 0.80
appendMethod · 0.80
toJsonMethod · 0.80
addNetActionMethod · 0.80

Tested by

no test coverage detected