-
app/Listeners/DownloadArtistImage.php
Open in GitHubuse App\Events\ArtistInformationFetched; use App\Services\MediaMetadataService; use Throwable; class DownloadArtistImage { private MediaMetadataService $mediaMetadataService; public function __construct(MediaMetadataService $mediaMetadataService) { $this->mediaMetadataService = $mediaMetadataService; } public function handle(ArtistInformationFetched $event): void { $info = $event->getInformation(); $artist = $event->getArtist(); $image = array_get($info, 'image'); if (!$artist->has_image && $image && ini_get('allow_url_fopen')) { try { $this->mediaMetadataService->downloadArtistImage($artist, $image); } catch (Throwable $e) { } } } }
-
app/Providers/EventServiceProvider.php
Open in GitHubuse App\Events\ArtistInformationFetched; use App\Listeners\DownloadArtistImage; use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; class EventServiceProvider extends ServiceProvider { protected $listen = [ ArtistInformationFetched::class => [ DownloadArtistImage::class, ], ]; // }