feat: add verion_type / release_type to IndexedVersion
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
This commit is contained in:
@ -109,8 +109,11 @@ void Modrinth::loadIndexedPackVersions(ModPlatform::IndexedPack& pack,
|
||||
unsortedVersions.append(file);
|
||||
}
|
||||
auto orderSortPredicate = [](const ModPlatform::IndexedVersion& a, const ModPlatform::IndexedVersion& b) -> bool {
|
||||
bool a_better_release = true;
|
||||
if (a.verison_type.has_value() && b.verison_type.has_value())
|
||||
a_better_release = a.verison_type.value() < b.verison_type.value();
|
||||
// dates are in RFC 3339 format
|
||||
return a.date > b.date;
|
||||
return a.date > b.date && a_better_release;
|
||||
};
|
||||
std::sort(unsortedVersions.begin(), unsortedVersions.end(), orderSortPredicate);
|
||||
pack.versions = unsortedVersions;
|
||||
@ -138,6 +141,10 @@ auto Modrinth::loadIndexedPackVersion(QJsonObject& obj, QString preferred_hash_t
|
||||
}
|
||||
file.version = Json::requireString(obj, "name");
|
||||
file.version_number = Json::requireString(obj, "version_number");
|
||||
auto verison_type = ModPlatform::IndexedVersionType(Json::requireString(obj, "version_type"));
|
||||
if (verison_type.isValid())
|
||||
file.verison_type = verison_type;
|
||||
|
||||
file.changelog = Json::requireString(obj, "changelog");
|
||||
|
||||
auto files = Json::requireArray(obj, "files");
|
||||
|
Reference in New Issue
Block a user