move($tmpDir, $file->getClientOriginalName()); $result = $this->scanner->setFile($tmpFile) ->scan(ScanConfiguration::make( owner: $uploader, makePublic: $uploader->preferences->makeUploadsPublic )); throw_if($result->isError(), new SongUploadFailedException($result->error)); return $result; } protected function generateStorageKey(string $filename, User $uploader): string { return sprintf('%s__%s__%s', $uploader->id, Str::lower(Ulid::generate()), $filename); } public function supported(): bool { return License::isPlus(); } }