Semi fixed the Modrinth dependency implementation

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97
2023-04-17 00:49:35 +03:00
parent bcea19b957
commit 7bd26ce468
4 changed files with 25 additions and 15 deletions

View File

@ -459,11 +459,18 @@ QList<ModPlatform::IndexedVersion> ResourceModel::getDependecies(QDir& dir, QLis
// Use default if no callbacks are set
if (!callbacks.on_succeed)
callbacks.on_succeed = [this, dependency, succeeded](auto& doc, auto pack) {
callbacks.on_succeed = [this, dependency, succeeded](auto& doc, auto& pack) {
ModPlatform::IndexedVersion ver;
try {
auto arr = doc.isObject() ? Json::ensureArray(doc.object(), "data") : doc.array();
auto arr = dependency.version.length() != 0 && doc.isObject()
? Json::toJsonArray(QList<QJsonObject>() << doc.object())
: doc.isObject() ? Json::ensureArray(doc.object(), "data")
: doc.array();
ver = loadDependencyVersions(dependency, arr);
if (!ver.addonId.isValid()) {
qWarning() << "Error while reading " << debugName() << " resource version empty ";
qDebug() << doc;
}
} catch (const JSONValidationError& e) {
qDebug() << doc;
qWarning() << "Error while reading " << debugName() << " resource version: " << e.cause();