aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/flame/FlameAPI.cpp
diff options
context:
space:
mode:
authorflow <flowlnlnln@gmail.com>2022-07-21 16:40:28 -0300
committerflow <flowlnlnln@gmail.com>2022-09-20 18:36:07 -0300
commit242fb156a281ef188c9fd75969c5d70ba6f8c140 (patch)
tree8e94da04993b3f418bdd06a49c32bec183b42480 /launcher/modplatform/flame/FlameAPI.cpp
parent208ed73e59c46ee7966f463558c07805a9b541e6 (diff)
downloadPrismLauncher-242fb156a281ef188c9fd75969c5d70ba6f8c140.tar.gz
PrismLauncher-242fb156a281ef188c9fd75969c5d70ba6f8c140.tar.bz2
PrismLauncher-242fb156a281ef188c9fd75969c5d70ba6f8c140.zip
feat: add 'getFiles' by fileIds route in Flame API
Signed-off-by: flow <flowlnlnln@gmail.com>
Diffstat (limited to 'launcher/modplatform/flame/FlameAPI.cpp')
-rw-r--r--launcher/modplatform/flame/FlameAPI.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/launcher/modplatform/flame/FlameAPI.cpp b/launcher/modplatform/flame/FlameAPI.cpp
index 9c74918b..f8f50dc6 100644
--- a/launcher/modplatform/flame/FlameAPI.cpp
+++ b/launcher/modplatform/flame/FlameAPI.cpp
@@ -183,3 +183,26 @@ auto FlameAPI::getProjects(QStringList addonIds, QByteArray* response) const ->
return netJob;
}
+
+auto FlameAPI::getFiles(QStringList fileIds, QByteArray* response) const -> NetJob*
+{
+ auto* netJob = new NetJob(QString("Flame::GetFiles"), APPLICATION->network());
+
+ QJsonObject body_obj;
+ QJsonArray files_arr;
+ for (auto& fileId : fileIds) {
+ files_arr.append(fileId);
+ }
+
+ body_obj["fileIds"] = files_arr;
+
+ QJsonDocument body(body_obj);
+ auto body_raw = body.toJson();
+
+ netJob->addNetAction(Net::Upload::makeByteArray(QString("https://api.curseforge.com/v1/mods/files"), response, body_raw));
+
+ QObject::connect(netJob, &NetJob::finished, [response, netJob] { delete response; netJob->deleteLater(); });
+ QObject::connect(netJob, &NetJob::failed, [body_raw] { qDebug() << body_raw; });
+
+ return netJob;
+}