*/ readonly class ResumeDownloadHandler implements HandlerInterface { public function __construct( private DownloadRepository $downloadRepository, private MessageBusInterface $messageBus, ) {} public function handle(CommandInterface $command): ResultInterface { /** @var Download $download */ $download = $this->downloadRepository->find($command->downloadId); $this->messageBus->dispatch(new DownloadMediaCommand( $download->getUrl(), $download->getTitle(), $download->getFilename(), $download->getMediaType(), $download->getImdbId(), $download->getUser()->getId(), $download->getId() )); return new ResumeDownloadResult(200, 'Success', $download); } }