repository = $repository; $this->summit_repository = $summit_repository; } /** * @return ISummitRepository */ protected function getSummitRepository(): ISummitRepository { return $this->summit_repository; } /** * @param $summit_id * @return mixed */ public function getAllBySummit($summit_id){ $summit = SummitFinderStrategyFactory::build($this->summit_repository, $this->getResourceServerContext())->find($summit_id); if (is_null($summit)) return $this->error404(); return $this->_getAll( function(){ return [ 'owner_first_name' => ['=@', '=='], 'owner_last_name' => ['=@', '=='], 'owner_full_name' => ['=@', '=='], 'owner_email' => ['=@', '=='], 'ticket_number' => ['=@', '=='], 'order_number' => ['=@', '=='], ]; }, function(){ return [ 'owner_first_name' => 'sometimes|string', 'owner_last_name' => 'sometimes|string', 'owner_full_name' => 'sometimes|string', 'owner_email' => 'sometimes|string', 'ticket_number' => 'sometimes|string', 'order_number' => 'sometimes|string', ]; }, function() { return [ 'id', 'ticket_number', 'order_number', 'created' ]; }, function($filter) use($summit){ if($filter instanceof Filter){ $filter->addFilterCondition(FilterElement::makeEqual('summit_id', $summit->getId())); } return $filter; }, function(){ return SerializerRegistry::SerializerType_Private; } ); } /** * @param $summit_id * @return mixed */ public function getAllBySummitCSV($summit_id){ $summit = SummitFinderStrategyFactory::build($this->summit_repository, $this->getResourceServerContext())->find($summit_id); if (is_null($summit)) return $this->error404(); return $this->_getAllCSV( function(){ return [ 'owner_first_name' => ['=@', '=='], 'owner_last_name' => ['=@', '=='], 'owner_full_name' => ['=@', '=='], 'owner_email' => ['=@', '=='], 'ticket_number' => ['=@', '=='], 'order_number' => ['=@', '=='], ]; }, function(){ return [ 'owner_first_name' => 'sometimes|string', 'owner_last_name' => 'sometimes|string', 'owner_full_name' => 'sometimes|string', 'owner_email' => 'sometimes|string', 'ticket_number' => 'sometimes|string', 'order_number' => 'sometimes|string', ]; }, function() { return [ 'id', 'ticket_number', 'order_number', 'created' ]; }, function($filter) use($summit){ if($filter instanceof Filter){ $filter->addFilterCondition(FilterElement::makeEqual('summit_id', $summit->getId())); } return $filter; }, function(){ return SerializerRegistry::SerializerType_Private; }, function(){ return []; }, function(){ return []; }, 'attendees-badges-' ); } }