Parcourir la source

refactor members repositories

Olivier Massot il y a 4 ans
Parent
commit
7473aac848

+ 0 - 1
composer.json.txt

@@ -1 +0,0 @@
-@See docker/conf/composer.json

+ 9 - 0
ot_core/Classes/Domain/Repository/MemberCaRepository.php

@@ -0,0 +1,9 @@
+<?php
+
+namespace Opentalent\OtCore\Domain\Repository;
+
+class MemberCaRepository extends MemberRepository
+{
+    const URI_TRAILING_PART = '/api/public/members_ca';
+    const HYDRA_TYPE = 'PortailMemberByRole';
+}

+ 3 - 17
ot_core/Classes/Domain/Repository/MemberRepository.php

@@ -10,14 +10,7 @@ use Opentalent\OtCore\Exception\ApiRequestException;
 class MemberRepository extends BaseApiRepository
 {
     const URI_TRAILING_PART = '/api/public/members';
-    const URI_TRAILING_PART_CA = '/api/public/members_ca';
     const HYDRA_TYPE = 'PortailMemberBySpeciality';
-    const HYDRA_TYPE_CA = 'PortailMemberByRole';
-
-    protected function getApiUriCa(): string
-    {
-        return $this->getApiUri(self::URI_TRAILING_PART_CA);
-    }
 
     /**
      * Get the members of the organization
@@ -28,17 +21,11 @@ class MemberRepository extends BaseApiRepository
      * @return ApiPagedCollection              Members
      * @throws ApiRequestException
      */
-    public function findByOrganizationId(int $organizationId,
-                                         $only_ca = false) {
+    public function findByOrganizationId(int $organizationId) {
         $params = [];
         $params['filter[where][organizationId]'] = $organizationId;
         $params['itemsPerPage'] = '200';
-
-        if ($only_ca) {
-            return $this->getApiRecords($params, $this->getApiUriCa());
-        } else {
-            return $this->getApiRecords($params);
-        }
+        return $this->getApiRecords($params);
     }
 
     /**
@@ -49,8 +36,7 @@ class MemberRepository extends BaseApiRepository
      * @throws \Exception
      */
     protected function memberToObject(array $record) {
-        if ($record['@type'] != $this::HYDRA_TYPE &&
-            $record['@type'] != $this::HYDRA_TYPE_CA) {
+        if ($record['@type'] != $this::HYDRA_TYPE) {
             return null;
         }
         $member = new Member();

+ 7 - 7
ot_templating/Classes/ViewHelpers/Members/GetAllCaViewHelper.php

@@ -3,8 +3,8 @@
 namespace Opentalent\OtTemplating\ViewHelpers\Members;
 
 use FluidTYPO3\Vhs\Traits\TemplateVariableViewHelperTrait;
+use Opentalent\OtCore\Domain\Repository\MemberCaRepository;
 use Opentalent\OtCore\ViewHelpers\OtAbstractViewHelper;
-use Opentalent\OtCore\Domain\Repository\MemberRepository;
 use Opentalent\OtCore\Exception\ApiRequestException;
 
 /**
@@ -31,10 +31,10 @@ class GetAllCaViewHelper extends OtAbstractViewHelper {
     protected $escapeOutput = false;
 
     /**
-     * @var MemberRepository
+     * @var MemberCaRepository
      *
      */
-    protected MemberRepository $memberRepository;
+    protected MemberCaRepository $memberCaRepository;
 
     /**
      * -- This method is expected by Fluid --
@@ -100,7 +100,7 @@ class GetAllCaViewHelper extends OtAbstractViewHelper {
 
         // Get members of the structure (only CA members)
         try {
-            $collection = $this->memberRepository->findByOrganizationId($organizationId, true);
+            $collection = $this->memberCaRepository->findByOrganizationId($organizationId);
             $members = $collection->getMembers();
         } catch (ApiRequestException $e) {
             $this->logger->error(sprintf('API Error: %s', $e->getMessage()));
@@ -148,10 +148,10 @@ class GetAllCaViewHelper extends OtAbstractViewHelper {
     }
 
     /**
-     * @param MemberRepository $memberRepository
+     * @param MemberCaRepository $memberCaRepository
      */
-    public function injectMemberRepository(MemberRepository $memberRepository)
+    public function injectMemberCaRepository(MemberCaRepository $memberCaRepository)
     {
-        $this->memberRepository = $memberRepository;
+        $this->memberCaRepository = $memberCaRepository;
     }
 }

+ 7 - 6
ot_templating/Classes/ViewHelpers/Members/GetPresidentViewHelper.php

@@ -3,6 +3,7 @@
 namespace Opentalent\OtTemplating\ViewHelpers\Members;
 
 use FluidTYPO3\Vhs\Traits\TemplateVariableViewHelperTrait;
+use Opentalent\OtCore\Domain\Repository\MemberCaRepository;
 use Opentalent\OtCore\ViewHelpers\OtAbstractViewHelper;
 use Opentalent\OtCore\Domain\Repository\MemberRepository;
 use Opentalent\OtCore\Exception\ApiRequestException;
@@ -30,10 +31,10 @@ class GetPresidentViewHelper extends OtAbstractViewHelper {
     protected $escapeOutput = false;
 
     /**
-     * @var MemberRepository
+     * @var MemberCaRepository
      *
      */
-    protected MemberRepository $memberRepository;
+    protected MemberCaRepository $memberCaRepository;
 
     /**
      * -- This method is expected by Fluid --
@@ -69,7 +70,7 @@ class GetPresidentViewHelper extends OtAbstractViewHelper {
 
         // Get members of the structure (only CA members)
         try {
-            $collection = $this->memberRepository->findByOrganizationId($organizationId, true);
+            $collection = $this->memberCaRepository->findByOrganizationId($organizationId);
             $members = $collection->getMembers();
         } catch (ApiRequestException $e) {
             $this->logger->error(sprintf('API Error: %s', $e->getMessage()));
@@ -89,10 +90,10 @@ class GetPresidentViewHelper extends OtAbstractViewHelper {
     }
 
     /**
-     * @param MemberRepository $memberRepository
+     * @param MemberCaRepository $memberCaRepository
      */
-    public function injectMemberRepository(MemberRepository $memberRepository)
+    public function injectMemberCaRepository(MemberCaRepository $memberCaRepository)
     {
-        $this->memberRepository = $memberRepository;
+        $this->memberCaRepository = $memberCaRepository;
     }
 }