MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / latestVersion

Method latestVersion

launcher/modplatform/modrinth/ModrinthAPI.cpp:38–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36}
37
38auto ModrinthAPI::latestVersion(QString hash,
39 QString hash_format,
40 std::list<Version> mcVersions,
41 ModLoaderTypes loaders,
42 QByteArray* response) -> NetJob::Ptr
43{
44 auto* netJob = new NetJob(QString("Modrinth::GetLatestVersion"), APPLICATION->network());
45
46 QJsonObject body_obj;
47
48 Json::writeStringList(body_obj, "loaders", getModLoaderStrings(loaders));
49
50 QStringList game_versions;
51 for (auto& ver : mcVersions) {
52 game_versions.append(ver.toString());
53 }
54 Json::writeStringList(body_obj, "game_versions", game_versions);
55
56 QJsonDocument body(body_obj);
57 auto body_raw = body.toJson();
58
59 netJob->addNetAction(Net::Upload::makeByteArray(
60 QString(BuildConfig.MODRINTH_PROD_URL + "/version_file/%1/update?algorithm=%2").arg(hash, hash_format), response, body_raw));
61
62 QObject::connect(netJob, &NetJob::finished, [response] { delete response; });
63
64 return netJob;
65}
66
67auto ModrinthAPI::latestVersions(const QStringList& hashes,
68 QString hash_format,

Callers

nothing calls this directly

Calls 7

QStringClass · 0.85
writeStringListFunction · 0.85
networkMethod · 0.80
appendMethod · 0.80
toJsonMethod · 0.80
addNetActionMethod · 0.80
toStringMethod · 0.45

Tested by

no test coverage detected