From ce56e460ff76b55595b06326b72c7c334371e087 Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Sat, 18 Apr 2026 23:04:56 +0300 Subject: [PATCH] add use case and request --- app/Node/UseCases/BulkCreateNodes.php | 45 ++++++++++++++++++++ app/Node/UseCases/BulkCreateNodesRequest.php | 13 ++++++ 2 files changed, 58 insertions(+) create mode 100644 app/Node/UseCases/BulkCreateNodes.php create mode 100644 app/Node/UseCases/BulkCreateNodesRequest.php 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 @@ +