From 87c0d4ca942c05b24cacde7a056b6971d3dbe1d3 Mon Sep 17 00:00:00 2001 From: Rico van Zelst Date: Sat, 22 Jun 2024 18:45:05 +0200 Subject: [PATCH] feat: Implement new way of fetching champ info Introduced a new environment variable, MAMC_SECRET, to securely fetch champion data from an external API. This secret is now used in the ChampionSeeder, ChampionSkinSeeder and SkinChromaSeeder classes to authenticate requests. The .env.example and app configuration files have been updated accordingly. --- .env.example | 1 + config/app.php | 2 ++ database/seeders/ChampionSeeder.php | 9 +++++++-- database/seeders/ChampionSkinSeeder.php | 9 +++++++-- database/seeders/SkinChromaSeeder.php | 9 +++++++-- 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/.env.example b/.env.example index a5c9318..9715a3a 100644 --- a/.env.example +++ b/.env.example @@ -24,6 +24,7 @@ OCTANE_SERVER=swoole OCTANE_HTTPS=false RGAPI_KEY="RGAPI-00000000-0000-0000-0000-000000000000" +MAMC_SECRET= LOGIN_ROUTE_NAME="/your/secret/login/route" USER_AGENT="Heimerdinger/1.0 (Heimerdinger.lol) PHP" diff --git a/config/app.php b/config/app.php index 5c93d37..88b4725 100644 --- a/config/app.php +++ b/config/app.php @@ -20,4 +20,6 @@ return [ 'GTAG_MEASUREMENT_ID' => env('GTAG_MEASUREMENT_ID', 'G-XXXXXXXXXX'), + 'MAMC_SECRET' => env('MAMC_SECRET', 'secret'), + ]; diff --git a/database/seeders/ChampionSeeder.php b/database/seeders/ChampionSeeder.php index 05ac418..34a9192 100644 --- a/database/seeders/ChampionSeeder.php +++ b/database/seeders/ChampionSeeder.php @@ -6,6 +6,7 @@ use App\Models\Champion; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Http; class ChampionSeeder extends Seeder { @@ -14,8 +15,12 @@ class ChampionSeeder extends Seeder */ public function run(): void { - $championDataUrl = 'https://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/champions.json'; - $championData = json_decode(file_get_contents($championDataUrl), true); + $mamcSecret = config('app.MAMC_SECRET'); + + $championDataUrl = 'https://mamchamp.orianna.dev/champion-data'; + $championData = Http::withHeaders([ + 'MAM-Get-Secret' => $mamcSecret, + ])->get($championDataUrl)->json(); $changeCount = 0; foreach ($championData as $champion) { diff --git a/database/seeders/ChampionSkinSeeder.php b/database/seeders/ChampionSkinSeeder.php index d3a1a99..092c9b1 100644 --- a/database/seeders/ChampionSkinSeeder.php +++ b/database/seeders/ChampionSkinSeeder.php @@ -6,6 +6,7 @@ use App\Models\ChampionSkin; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Http; class ChampionSkinSeeder extends Seeder { @@ -14,8 +15,12 @@ class ChampionSkinSeeder extends Seeder */ public function run(): void { - $championDataUrl = 'https://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/champions.json'; - $championData = json_decode(file_get_contents($championDataUrl), true); + $mamcSecret = config('app.MAMC_SECRET'); + + $championDataUrl = 'https://mamchamp.orianna.dev/champion-data'; + $championData = Http::withHeaders([ + 'MAM-Get-Secret' => $mamcSecret, + ])->get($championDataUrl)->json(); $changeCount = 0; foreach ($championData as $champion) { diff --git a/database/seeders/SkinChromaSeeder.php b/database/seeders/SkinChromaSeeder.php index 4ed6e10..e636cd9 100644 --- a/database/seeders/SkinChromaSeeder.php +++ b/database/seeders/SkinChromaSeeder.php @@ -6,6 +6,7 @@ use App\Models\SkinChroma; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Http; class SkinChromaSeeder extends Seeder { @@ -14,8 +15,12 @@ class SkinChromaSeeder extends Seeder */ public function run(): void { - $championDataUrl = 'https://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/champions.json'; - $championData = json_decode(file_get_contents($championDataUrl), true); + $mamcSecret = config('app.MAMC_SECRET'); + + $championDataUrl = 'https://mamchamp.orianna.dev/champion-data'; + $championData = Http::withHeaders([ + 'MAM-Get-Secret' => $mamcSecret, + ])->get($championDataUrl)->json(); $changeCount = 0; foreach ($championData as $champion) {