|
|
@@ -0,0 +1,39 @@
|
|
|
+<?php
|
|
|
+declare(strict_types=1);
|
|
|
+
|
|
|
+namespace App\Service\ApiResourceBuilder\ResourceTree;
|
|
|
+
|
|
|
+use App\ApiResources\Tree\TypeOfPracticeTree;
|
|
|
+use App\Entity\Organization\TypeOfPractice;
|
|
|
+use App\Service\Utils\Tree\ResourceTreeBuilder;
|
|
|
+use Doctrine\ORM\EntityManagerInterface;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ *
|
|
|
+ */
|
|
|
+class EventCategoryTreeBuilder
|
|
|
+{
|
|
|
+ public function __construct(
|
|
|
+ private readonly EntityManagerInterface $entityManager,
|
|
|
+ ) {
|
|
|
+ }
|
|
|
+
|
|
|
+ public function make(): TypeOfPracticeTree
|
|
|
+ {
|
|
|
+ $typeOfPracticesRepository = $this->entityManager->getRepository(TypeOfPractice::class);
|
|
|
+
|
|
|
+ $typeOfPractices = $typeOfPracticesRepository->findAll();
|
|
|
+
|
|
|
+ $tree = ResourceTreeBuilder::makeTree(
|
|
|
+ $typeOfPractices,
|
|
|
+ 'category',
|
|
|
+ 'name'
|
|
|
+ );
|
|
|
+
|
|
|
+ $treeResource = new TypeOfPracticeTree();
|
|
|
+ $treeResource->setContent($tree);
|
|
|
+
|
|
|
+ return $treeResource;
|
|
|
+ }
|
|
|
+}
|