*/ class DownloadMediaInput implements InputInterface { public function __construct( #[SourceRequest('url')] public string $url, #[SourceRequest('title')] public string $title, #[SourceRequest('filename')] public string $filename, #[SourceRequest('mediaType')] public string $mediaType, #[SourceRequest('imdbId')] public string $imdbId, #[SourceRequest('episodeId', nullify: true)] public ?string $episodeId = null, public ?int $userId = null, public ?int $downloadId = null, ) {} public function toCommand(): CommandInterface { return new DownloadMediaCommand( $this->url, $this->title, $this->filename, $this->mediaType, $this->imdbId, $this->userId, $this->downloadId, ); } }