*/ class GetMediaInfoHandler implements HandlerInterface { public function __construct( private readonly Tmdb $tmdb, private readonly MediaFiles $mediaFiles ) {} public function handle(CommandInterface $command): ResultInterface { $media = $this->tmdb->mediaDetails($command->imdbId, $command->mediaType); if ("tvshows" === $command->mediaType) { foreach ($media->episodes[$command->season] as $key => $episode) { $media->episodes[$command->season][$key]['file'] = $this->mediaFiles->episodeExists($media->title, $command->season, $episode['episode_number']); } } return new GetMediaInfoResult($media, $command->season); } }