<?php namespace App\Actions\Script; use App\Models\Script; use App\Models\User; use Illuminate\Support\Facades\Validator; class CreateScript { public function create(User $user, array $input): Script { $this->validate($input); $script = new Script([ 'user_id' => $user->id, 'name' => $input['name'], 'content' => $input['content'], ]); $script->save(); return $script; } private function validate(array $input): void { Validator::make($input, [ 'name' => ['required', 'string', 'max:255'], 'content' => ['required', 'string'], ])->validate(); } }