findCategoryTask->byUuid($request->post('uuid')); try { $this->connection->transaction(function () use ($category, $request) { $this->updateCategoryTask->run($category, $this->prepareCategoryData($request)); }); } catch (Throwable $t) { return false; } return true; } /** * @param Update $request * @return array */ #[ArrayShape([ 'updated_uuid' => "mixed", 'title' => "array|null|string", 'slug' => "array|null|string" ])] private function prepareCategoryData(Update $request): array { return [ 'updated_uuid' => $request->user()->uuid, 'title' => $request->post('title'), 'slug' => $request->post('slug') ]; } }