From b368f0982db5cc030ffbe71a0a5f10ff3c0ea82c Mon Sep 17 00:00:00 2001 From: Lucas Bandermann <lucasbandermann@gmail.com> Date: Wed, 7 Feb 2024 14:26:52 +0100 Subject: [PATCH] Added api route for forge updates --- .../Controllers/ForgeUpdateJsonController.php | 24 +++++++++++++++++++ routes/api.php | 1 + 2 files changed, 25 insertions(+) create mode 100644 app/Api/Controllers/ForgeUpdateJsonController.php diff --git a/app/Api/Controllers/ForgeUpdateJsonController.php b/app/Api/Controllers/ForgeUpdateJsonController.php new file mode 100644 index 0000000..3e76416 --- /dev/null +++ b/app/Api/Controllers/ForgeUpdateJsonController.php @@ -0,0 +1,24 @@ +<?php + +namespace App\Api\Controllers; + +use App\Api\Response\Response; + +class ForgeUpdateJsonController +{ + + public function updateJson(string $mod): array + { + $modrinthLink = "https://api.modrinth.com/updates/$mod/forge_updates.json"; + $data = json_decode(file_get_contents($modrinthLink), true); + + $promos = data_get($data, 'promos'); + foreach ($promos as $key => $value) { + $promos[$key] = explode('+', $value)[0]; + } + + $data['promos'] = $promos; + return $data; + } + +} diff --git a/routes/api.php b/routes/api.php index d330a35..2b98bf7 100644 --- a/routes/api.php +++ b/routes/api.php @@ -17,3 +17,4 @@ Route::get('/player/{uuid}', 'MinecraftPlayerController@getData'); Route::get('/legacy/data', 'MinecraftPlayerController@getLegacyData'); Route::post('/mod-update-post', 'ModUpdatePostController@store'); +Route::get('/forge_updates/{mod}', 'ForgeUpdateJsonController@updateJson');