From fe83b82f2e19c2107fc810eceb0d3e83b8e61cfa Mon Sep 17 00:00:00 2001 From: Tobias Gross-Vogt <tgros@tugraz.at> Date: Thu, 31 Mar 2022 12:25:53 +0200 Subject: [PATCH] #28178 filter paramters instead of subressource, fixed array intersection --- src/DataProvider/CourseCollectionDataProvider.php | 8 +++++--- src/Entity/Course.php | 2 -- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/DataProvider/CourseCollectionDataProvider.php b/src/DataProvider/CourseCollectionDataProvider.php index 5b9de49..421d1fd 100644 --- a/src/DataProvider/CourseCollectionDataProvider.php +++ b/src/DataProvider/CourseCollectionDataProvider.php @@ -48,7 +48,9 @@ final class CourseCollectionDataProvider extends AbstractController implements C if (!empty($personId)) { $coursesByPerson = $this->courseProvider->getCoursesByPerson($personId, $options); if (!empty($organizationId)) { - $courses = array_uintersect($courses, $coursesByPerson, compareCourses); + $courses = array_uintersect($courses, $coursesByPerson, + 'Dbp\Relay\BaseCourseBundle\DataProvider\CourseCollectionDataProvider::compareCourses'); + $courses = array_values($courses); } else { $courses = $coursesByPerson; } @@ -70,11 +72,11 @@ final class CourseCollectionDataProvider extends AbstractController implements C return new ArrayFullPaginator($courses, $page, $perPage); } - private static function compareCourses(Course $a, Course $b): int + public static function compareCourses(Course $a, Course $b): int { if ($a->getIdentifier() > $b->getIdentifier()) { return 1; - } else if ($a->getIdentifier() === $b->getIdentifier()) { + } elseif ($a->getIdentifier() === $b->getIdentifier()) { return 0; } else { return -1; diff --git a/src/Entity/Course.php b/src/Entity/Course.php index c40fac7..7b419e8 100644 --- a/src/Entity/Course.php +++ b/src/Entity/Course.php @@ -5,8 +5,6 @@ declare(strict_types=1); namespace Dbp\Relay\BaseCourseBundle\Entity; use ApiPlatform\Core\Annotation\ApiResource; -use Dbp\Relay\BaseCourseBundle\Controller\GetCoursesByOrganization; -use Dbp\Relay\BaseCourseBundle\Controller\GetCoursesByPerson; use Symfony\Component\Serializer\Annotation\Groups; /** -- GitLab