diff --git a/app/Node/UseCases/BulkCreateNodes.php b/app/Node/UseCases/BulkCreateNodes.php new file mode 100644 index 0000000..1ca322d --- /dev/null +++ b/app/Node/UseCases/BulkCreateNodes.php @@ -0,0 +1,45 @@ +textRepo->find($request->textId); + if ($text === null) { + throw new DomainException("Text with id: {$request->textId} doesnt exist"); + } + + $parentNode = $this->nodeRepo->find($request->parentNodeId); + if ($parentNode === null) { + throw new DomainException("Node with id: {$request->parentNodeId} doesnt exist"); + } + + $created = []; + for ($i = 1; $i <= $request->count; $i++) { + $created[] = $this->nodeRepo->create(new CreateNodeDto( + text: $text, + title: "{$request->titlePrefix} {$i}", + parentNode: $parentNode, + )); + } + + return $created; + } +} diff --git a/app/Node/UseCases/BulkCreateNodesRequest.php b/app/Node/UseCases/BulkCreateNodesRequest.php new file mode 100644 index 0000000..45b94be --- /dev/null +++ b/app/Node/UseCases/BulkCreateNodesRequest.php @@ -0,0 +1,13 @@ +