*/ readonly class PauseDownloadHandler implements HandlerInterface { public function __construct( private DownloadRepository $downloadRepository, private CacheInterface $cache, ) {} public function handle(CommandInterface $command): ResultInterface { /** @var Download $download */ $download = $this->downloadRepository->find($command->downloadId); $this->cache->get('download.pause.' . $download->getId(), function () { return true; }); return new PauseDownloadResult(200, 'Success', $download); } }