@@ -214,33 +214,71 @@ function ($page, $per_page, $filter, $order, $applyExtraFilters) use ($summit) {
214214 */
215215 public function getVenues ($ summit_id )
216216 {
217- return $ this ->processRequest (function () use ($ summit_id ) {
218217
219- $ summit = SummitFinderStrategyFactory::build ($ this ->repository , $ this ->resource_server_context )->find ($ summit_id );
220- if (is_null ($ summit )) return $ this ->error404 ();
221-
222- //locations
223- $ locations = [];
218+ $ summit = SummitFinderStrategyFactory::build ($ this ->repository , $ this ->resource_server_context )->find ($ summit_id );
219+ if (is_null ($ summit )) return $ this ->error404 ();
224220
225- foreach ($ summit ->getVenues () as $ location ) {
226- $ locations [] = SerializerRegistry::getInstance ()->getSerializer ($ location )->serialize ();
221+ return $ this ->_getAll (
222+ function () {
223+ return [
224+ 'name ' => ['== ' , '=@ ' ,'@@ ' ],
225+ 'rooms_name ' => ['== ' , '=@ ' ,'@@ ' ],
226+ 'rooms_floor_name ' =>['== ' , '=@ ' ,'@@ ' ],
227+ 'floors_name ' => ['== ' , '=@ ' ,'@@ ' ],
228+ 'description ' => ['=@ ' ,'@@ ' ],
229+ 'address_1 ' => ['=@ ' ],
230+ 'address_2 ' => ['=@ ' ],
231+ 'zip_code ' => ['== ' , '=@ ' ],
232+ 'city ' => ['== ' , '=@ ' ],
233+ 'state ' => ['== ' , '=@ ' ],
234+ 'country ' => ['== ' , '=@ ' ],
235+ 'sold_out ' => ['== ' ],
236+ 'is_main ' => ['== ' ],
237+ ];
238+ },
239+ function () {
240+ return [
241+ 'name ' => 'sometimes|string ' ,
242+ 'rooms_name ' => 'sometimes|string ' ,
243+ 'rooms_floor_name ' => 'sometimes|string ' ,
244+ 'floors_name ' => 'sometimes|string ' ,
245+ 'description ' => 'sometimes|string ' ,
246+ 'address_1 ' => 'sometimes|string ' ,
247+ 'address_2 ' => 'sometimes|string ' ,
248+ 'zip_code ' => 'sometimes|string ' ,
249+ 'city ' => 'sometimes|string ' ,
250+ 'state ' => 'sometimes|string ' ,
251+ 'country ' => 'sometimes|string ' ,
252+ 'sold_out ' => 'sometimes|boolean ' ,
253+ 'is_main ' => 'sometimes|boolean ' ,
254+ ];
255+ },
256+ function () {
257+ return [
258+ 'id ' ,
259+ 'name ' ,
260+ 'order '
261+ ];
262+ },
263+ function ($ filter ) {
264+ $ filter ->addFilterCondition (FilterParser::buildFilter ('class_name ' , '== ' , SummitVenue::ClassName));
265+ return $ filter ;
266+ },
267+ function () {
268+ return SerializerRegistry::SerializerType_Public;
269+ },
270+ null ,
271+ null ,
272+ function ($ page , $ per_page , $ filter , $ order , $ applyExtraFilters ) use ($ summit ) {
273+ return $ this ->location_repository ->getBySummit
274+ (
275+ $ summit ,
276+ new PagingInfo ($ page , $ per_page ),
277+ call_user_func ($ applyExtraFilters , $ filter ),
278+ $ order
279+ );
227280 }
228-
229- $ response = new PagingResponse
230- (
231- count ($ locations ),
232- count ($ locations ),
233- 1 ,
234- 1 ,
235- $ locations
236- );
237-
238- return $ this ->ok ($ response ->toArray (
239- SerializerUtils::getExpand (),
240- SerializerUtils::getFields (),
241- SerializerUtils::getRelations (),
242- ));
243- });
281+ );
244282 }
245283
246284 /**
0 commit comments