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.
This commit is contained in:
Rico van Zelst
2024-06-22 18:45:05 +02:00
parent 8f97d255dc
commit 87c0d4ca94
5 changed files with 24 additions and 6 deletions

View File

@@ -24,6 +24,7 @@ OCTANE_SERVER=swoole
OCTANE_HTTPS=false OCTANE_HTTPS=false
RGAPI_KEY="RGAPI-00000000-0000-0000-0000-000000000000" RGAPI_KEY="RGAPI-00000000-0000-0000-0000-000000000000"
MAMC_SECRET=
LOGIN_ROUTE_NAME="/your/secret/login/route" LOGIN_ROUTE_NAME="/your/secret/login/route"
USER_AGENT="Heimerdinger/1.0 (Heimerdinger.lol) PHP" USER_AGENT="Heimerdinger/1.0 (Heimerdinger.lol) PHP"

View File

@@ -20,4 +20,6 @@ return [
'GTAG_MEASUREMENT_ID' => env('GTAG_MEASUREMENT_ID', 'G-XXXXXXXXXX'), 'GTAG_MEASUREMENT_ID' => env('GTAG_MEASUREMENT_ID', 'G-XXXXXXXXXX'),
'MAMC_SECRET' => env('MAMC_SECRET', 'secret'),
]; ];

View File

@@ -6,6 +6,7 @@ use App\Models\Champion;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Http;
class ChampionSeeder extends Seeder class ChampionSeeder extends Seeder
{ {
@@ -14,8 +15,12 @@ class ChampionSeeder extends Seeder
*/ */
public function run(): void public function run(): void
{ {
$championDataUrl = 'https://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/champions.json'; $mamcSecret = config('app.MAMC_SECRET');
$championData = json_decode(file_get_contents($championDataUrl), true);
$championDataUrl = 'https://mamchamp.orianna.dev/champion-data';
$championData = Http::withHeaders([
'MAM-Get-Secret' => $mamcSecret,
])->get($championDataUrl)->json();
$changeCount = 0; $changeCount = 0;
foreach ($championData as $champion) { foreach ($championData as $champion) {

View File

@@ -6,6 +6,7 @@ use App\Models\ChampionSkin;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Http;
class ChampionSkinSeeder extends Seeder class ChampionSkinSeeder extends Seeder
{ {
@@ -14,8 +15,12 @@ class ChampionSkinSeeder extends Seeder
*/ */
public function run(): void public function run(): void
{ {
$championDataUrl = 'https://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/champions.json'; $mamcSecret = config('app.MAMC_SECRET');
$championData = json_decode(file_get_contents($championDataUrl), true);
$championDataUrl = 'https://mamchamp.orianna.dev/champion-data';
$championData = Http::withHeaders([
'MAM-Get-Secret' => $mamcSecret,
])->get($championDataUrl)->json();
$changeCount = 0; $changeCount = 0;
foreach ($championData as $champion) { foreach ($championData as $champion) {

View File

@@ -6,6 +6,7 @@ use App\Models\SkinChroma;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Http;
class SkinChromaSeeder extends Seeder class SkinChromaSeeder extends Seeder
{ {
@@ -14,8 +15,12 @@ class SkinChromaSeeder extends Seeder
*/ */
public function run(): void public function run(): void
{ {
$championDataUrl = 'https://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/champions.json'; $mamcSecret = config('app.MAMC_SECRET');
$championData = json_decode(file_get_contents($championDataUrl), true);
$championDataUrl = 'https://mamchamp.orianna.dev/champion-data';
$championData = Http::withHeaders([
'MAM-Get-Secret' => $mamcSecret,
])->get($championDataUrl)->json();
$changeCount = 0; $changeCount = 0;
foreach ($championData as $champion) { foreach ($championData as $champion) {