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

Method latestVersion

launcher/modplatform/modrinth/ModrinthAPI.cpp:41–69  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39}
40
41Task::Ptr ModrinthAPI::latestVersion(QString hash,
42 QString hash_format,
43 std::optional<std::list<Version>> mcVersions,
44 std::optional<ModPlatform::ModLoaderTypes> loaders,
45 std::shared_ptr<QByteArray> response)
46{
47 auto netJob = makeShared<NetJob>(QString("Modrinth::GetLatestVersion"), APPLICATION->network());
48
49 QJsonObject body_obj;
50
51 if (loaders.has_value())
52 Json::writeStringList(body_obj, "loaders", getModLoaderStrings(loaders.value()));
53
54 if (mcVersions.has_value()) {
55 QStringList game_versions;
56 for (auto& ver : mcVersions.value()) {
57 game_versions.append(mapMCVersionToModrinth(ver));
58 }
59 Json::writeStringList(body_obj, "game_versions", game_versions);
60 }
61
62 QJsonDocument body(body_obj);
63 auto body_raw = body.toJson();
64
65 netJob->addNetAction(Net::ApiUpload::makeByteArray(
66 QString(BuildConfig.MODRINTH_PROD_URL + "/version_file/%1/update?algorithm=%2").arg(hash, hash_format), response, body_raw));
67
68 return netJob;
69}
70
71Task::Ptr ModrinthAPI::latestVersions(const QStringList& hashes,
72 QString hash_format,

Callers

nothing calls this directly

Calls 7

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

Tested by

no test coverage detected