diff --git a/app/Http/Controllers/SummonerEmoteController.php b/app/Http/Controllers/SummonerEmoteController.php index c90656c..a44fb05 100644 --- a/app/Http/Controllers/SummonerEmoteController.php +++ b/app/Http/Controllers/SummonerEmoteController.php @@ -21,7 +21,6 @@ class SummonerEmoteController extends Controller $request->validate([ 'emote_id' => ['required', 'integer'], 'title' => ['required'], - 'description' => ['nullable'], 'image' => ['required'], ]); @@ -42,7 +41,6 @@ class SummonerEmoteController extends Controller $request->validate([ 'emote_id' => ['required', 'integer'], 'title' => ['required'], - 'description' => ['nullable'], 'image' => ['required'], ]); diff --git a/app/Models/SummonerEmote.php b/app/Models/SummonerEmote.php index 9490b3a..d75a833 100644 --- a/app/Models/SummonerEmote.php +++ b/app/Models/SummonerEmote.php @@ -9,7 +9,6 @@ class SummonerEmote extends Model protected $fillable = [ 'emote_id', 'title', - 'description', 'image', ]; } diff --git a/database/migrations/2023_11_26_175055_create_summoner_emotes_table.php b/database/migrations/2023_11_26_175055_create_summoner_emotes_table.php index 27f9f42..0d69ff2 100644 --- a/database/migrations/2023_11_26_175055_create_summoner_emotes_table.php +++ b/database/migrations/2023_11_26_175055_create_summoner_emotes_table.php @@ -11,7 +11,6 @@ return new class extends Migration { $table->id(); $table->integer('emote_id'); $table->string('title'); - $table->text('description')->nullable(); $table->string('image'); $table->timestamps(); }); diff --git a/database/seeders/SummonerEmoteSeeder.php b/database/seeders/SummonerEmoteSeeder.php new file mode 100644 index 0000000..7b0a181 --- /dev/null +++ b/database/seeders/SummonerEmoteSeeder.php @@ -0,0 +1,66 @@ +first(); + $afterKeyword = str_replace('/lol-game-data/assets/ASSETS/Loadouts/SummonerEmotes', '', $emote['inventoryIcon']); + $imageUrl = 'https://raw.communitydragon.org/latest/plugins/rcp-be-lol-game-data/global/default/assets/loadouts/summoneremotes' . strtolower($afterKeyword); + + $emoteAttributes = [ + 'emote_id' => $emote['id'], + 'title' => $emote['name'], + 'image' => $imageUrl, + ]; + + if ($emoteExists && $this->hasAttributesChanged($emoteExists, $emoteAttributes)) { + Log::info('Emote ' . $emoteId . ' has changed, updating...'); + $emoteExists->update($emoteAttributes); + $changeCount++; + } elseif (!$emoteExists) { + Log::info('New emote detected! Creating ' . $emoteId . '...'); + SummonerEmote::create($emoteAttributes); + $changeCount++; + } + } + if ($changeCount > 0) { + Artisan::call('cloudflare:purge'); + } + } + + private function hasAttributesChanged($champion, $attributes): bool + { + foreach ($attributes as $key => $value) { + if ($champion->{$key} != $value) { + return true; + } + } + + return false; + } +}