label(__('filament.actions.video_script.move.name')); $this->authorize('create', VideoScript::class); } /** * Get the underlying storage action. * * @param VideoScript $script * @param array $fields * @return MoveScript */ protected function storageAction(BaseModel $script, array $fields): MoveScript { /** @var string $path */ $path = Arr::get($fields, 'path'); return new MoveScript($script, $path); } /** * The name of the disk. * * @return string */ public function disk(): string { return Config::get(VideoConstants::SCRIPT_DISK_QUALIFIED); } /** * Resolve the default value for the path field. * * @return string|null */ protected function defaultPath(): ?string { $script = $this->getRecord(); return $script instanceof VideoScript ? $script->path : null; } /** * The file extension that the path must end with. * * @return string */ protected function allowedFileExtension(): string { return '.txt'; } }