*/ final class UpdateRange implements Action { /** * @param \App\Actions\Ranges\UpdateRangeInput $input */ #[\Override] public function __invoke(ActionInput $input): Range { Assert::isInstanceOf($input, UpdateRangeInput::class); $attributes = [ 'name' => $input->name, 'description' => $input->description, 'picture_alt' => $input->pictureMetadata->alt ?? '', 'picture_title' => $input->pictureMetadata->title ?? '', 'status' => $input->status, ]; if ($input->picture !== null) { $attributes['picture'] = $input->picture; } $range = $input->range; $range->fill($attributes); $range->saveOrFail(); return $range; } }