From ee133e91115af85329b95f65ecd5c12b08f9bad7 Mon Sep 17 00:00:00 2001
From: Radiquum <kentai.waah@gmail.com>
Date: Wed, 14 May 2025 21:59:30 +0500
Subject: [PATCH] feat: add dependencies resolution for CurseForge

---
 src/api/source/CurseForge.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/api/source/CurseForge.py b/src/api/source/CurseForge.py
index 01864ff..36182e7 100644
--- a/src/api/source/CurseForge.py
+++ b/src/api/source/CurseForge.py
@@ -77,6 +77,13 @@ def getCurseForgeMod(slug, version, mod_loader, game_version):
         hashes[HASHALGO_ENUM[hash.get("algo")]] = hash.get("value")
 
     dependencies = []
+    for dep in selected_version.get("dependencies"):
+        depDescR = requests.get(f"https://api.curseforge.com/v1/mods/{dep.get('modId')}/", headers=headers)
+        if depDescR.status_code != 200:
+            continue
+        depDesc: dict = depDescR.json()
+        depMod = getCurseForgeMod(depDesc.get("data").get("slug"), None, mod_loader, game_version)
+        dependencies.append(depMod.get("mod"))
 
     return {
         "status": "ok",