New Location public endpoints
* Added new endpoint to get summit location by id * added expand for locations Change-Id: I7a865fb53008c4f7fcbf3aae59709e3c111bd3dd
This commit is contained in:
parent
7824a64a57
commit
17ac603b38
|
@ -116,6 +116,9 @@ final class OAuth2SummitLocationsApiController extends OAuth2ProtectedController
|
|||
{
|
||||
try {
|
||||
|
||||
$expand = Request::input('expand', '');
|
||||
$relations = Request::input('relations', '');
|
||||
$relations = !empty($relations) ? explode(',', $relations) : [];
|
||||
$summit = SummitFinderStrategyFactory::build($this->repository)->find($summit_id);
|
||||
if (is_null($summit)) return $this->error404();
|
||||
|
||||
|
@ -123,7 +126,7 @@ final class OAuth2SummitLocationsApiController extends OAuth2ProtectedController
|
|||
if (is_null($location)) {
|
||||
return $this->error404();
|
||||
}
|
||||
return $this->ok(SerializerRegistry::getInstance()->getSerializer($location)->serialize());
|
||||
return $this->ok(SerializerRegistry::getInstance()->getSerializer($location)->serialize($expand,[], $relations));
|
||||
} catch (Exception $ex) {
|
||||
Log::error($ex);
|
||||
return $this->error500($ex);
|
||||
|
|
|
@ -37,6 +37,7 @@ Route::group([
|
|||
// locations
|
||||
Route::group(array('prefix' => 'locations'), function () {
|
||||
Route::group(array('prefix' => '{location_id}'), function () {
|
||||
Route::get('', 'OAuth2SummitLocationsApiController@getLocation');
|
||||
Route::get('/events/published','OAuth2SummitLocationsApiController@getLocationEvents');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -41,7 +41,7 @@ final class SummitSerializer extends SilverStripeSerializer
|
|||
* @param array $params
|
||||
* @return array
|
||||
*/
|
||||
public function serialize($expand = null, array $fields = array(), array $relations = array(), array $params = array())
|
||||
public function serialize($expand = null, array $fields = [], array $relations = [], array $params = [])
|
||||
{
|
||||
$summit = $this->object;
|
||||
if(!$summit instanceof Summit) return [];
|
||||
|
@ -75,21 +75,21 @@ final class SummitSerializer extends SilverStripeSerializer
|
|||
// tickets
|
||||
$ticket_types = [];
|
||||
foreach ($summit->getTicketTypes() as $ticket) {
|
||||
$ticket_types[] = SerializerRegistry::getInstance()->getSerializer($ticket)->serialize();
|
||||
$ticket_types[] = SerializerRegistry::getInstance()->getSerializer($ticket)->serialize($expand);
|
||||
}
|
||||
$values['ticket_types'] = $ticket_types;
|
||||
|
||||
//locations
|
||||
$locations = [];
|
||||
foreach ($summit->getLocations() as $location) {
|
||||
$locations[] = SerializerRegistry::getInstance()->getSerializer($location)->serialize();
|
||||
$locations[] = SerializerRegistry::getInstance()->getSerializer($location)->serialize($expand);
|
||||
}
|
||||
$values['locations'] = $locations;
|
||||
|
||||
// wifi connections
|
||||
$wifi_connections = [];
|
||||
foreach ($summit->getWifiConnections() as $wifi_connection) {
|
||||
$wifi_connections[] = SerializerRegistry::getInstance()->getSerializer($wifi_connection)->serialize();
|
||||
$wifi_connections[] = SerializerRegistry::getInstance()->getSerializer($wifi_connection)->serialize($expand);
|
||||
}
|
||||
$values['wifi_connections'] = $wifi_connections;
|
||||
|
||||
|
|
Loading…
Reference in New Issue