commit 461603de6c15f2677bd82f7d0eaf5e40a6da4f32 Author: smarcet Date: Wed Oct 14 11:26:45 2020 -0300 Added new filters to GET /api/public/v1/summits/${summit.id}/events/published 'sponsor_id' => ['=='], 'sponsor' => ['=@', '=='], Change-Id: Ic9234319bc9415af705bce86cfeaf290c32355b1 Signed-off-by: smarcet diff --git a/app/Http/Controllers/Apis/Protected/Summit/Strategies/events/RetrieveSummitEventsStrategy.php b/app/Http/Controllers/Apis/Protected/Summit/Strategies/events/RetrieveSummitEventsStrategy.php index 386d222..ca9b5bc 100644 --- a/app/Http/Controllers/Apis/Protected/Summit/Strategies/events/RetrieveSummitEventsStrategy.php +++ b/app/Http/Controllers/Apis/Protected/Summit/Strategies/events/RetrieveSummitEventsStrategy.php @@ -136,6 +136,8 @@ abstract class RetrieveSummitEventsStrategy 'event_type_id' => ['=='], 'track_id' => ['=='], 'speaker_id' => ['=='], + 'sponsor_id' => ['=='], + 'sponsor' => ['=@', '=='], 'location_id' => ['=='], 'speaker' => ['=@', '=='], 'speaker_email' => ['=@', '=='], diff --git a/app/Repositories/Summit/DoctrineSummitEventRepository.php b/app/Repositories/Summit/DoctrineSummitEventRepository.php index 1b83fdd..8d1afa3 100644 --- a/app/Repositories/Summit/DoctrineSummitEventRepository.php +++ b/app/Repositories/Summit/DoctrineSummitEventRepository.php @@ -96,7 +96,7 @@ final class DoctrineSummitEventRepository 't', "t.tag :operator :value" ), - 'summit_id'=> new DoctrineJoinFilterMapping + 'summit_id' => new DoctrineJoinFilterMapping ( 'e.summit', 's', @@ -144,6 +144,14 @@ final class DoctrineSummitEventRepository ( "(sp.id :operator :value OR spm.id :operator :value)" ), + 'sponsor_id' => new DoctrineFilterMapping + ( + "(sprs.id :operator :value)" + ), + 'sponsor' => new DoctrineFilterMapping + ( + "(sprs.name :operator :value)" + ), 'selection_status' => new DoctrineSwitchFilterMapping([ 'selected' => new DoctrineCaseFilterMapping( 'selected', @@ -202,6 +210,7 @@ final class DoctrineSummitEventRepository ->leftJoin(Presentation::class, 'p', 'WITH', 'e.id = p.id') ->leftJoin("e.location", 'l', Join::LEFT_JOIN) ->leftJoin("e.category", 'cc', Join::LEFT_JOIN) + ->leftJoin("e.sponsors", "sprs", Join::LEFT_JOIN) ->leftJoin("p.speakers", "sp", Join::LEFT_JOIN) ->leftJoin('p.selected_presentations', "ssp", Join::LEFT_JOIN) ->leftJoin('p.selection_plan', "selp", Join::LEFT_JOIN)