Added endpoint to update category group
PUT /api/v1/summits/{id}/track-groups/{track_group_id} Payload Payload * class_name (required:in:PresentationCategoryGroup,PrivatePresentationCategoryGroup) * name (sometimes|string) * description (sometimes|string) * color (sometimes|hex_color) Payload for private groups ( optional if class_name == 'PrivatePresentationCategoryGroup' * submission_begin_date (sometimes|date_format:U) * submission_end_date (sometimes|date_format:U|required_with:submission_begin_date|after:submission_begin_date) * max_submission_allowed_per_user (sometimes|integer|min:1) Change-Id: Iefb7d677466e9e90ddd052e5680d4ea7f47b4ec0
This commit is contained in:
parent
019f643424
commit
b282c01333
@ -291,6 +291,60 @@ final class OAuth2PresentationCategoryGroupController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getTrackGroupBySummit($summit_id, $track_group_id){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $summit_id
|
||||||
|
* @param $track_group_id
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function updateTrackGroupBySummit($summit_id, $track_group_id){
|
||||||
|
try {
|
||||||
|
|
||||||
|
if(!Request::isJson()) return $this->error400();
|
||||||
|
$data = Input::json();
|
||||||
|
$payload = $data->all();
|
||||||
|
$summit = SummitFinderStrategyFactory::build($this->summit_repository, $this->resource_server_context)->find($summit_id);
|
||||||
|
if (is_null($summit)) return $this->error404();
|
||||||
|
|
||||||
|
$rules = PresentationCategoryGroupValidationRulesFactory::build($payload, true);
|
||||||
|
// Creates a Validator instance and validates the data.
|
||||||
|
$validation = Validator::make($payload, $rules);
|
||||||
|
|
||||||
|
if ($validation->fails()) {
|
||||||
|
$messages = $validation->messages()->toArray();
|
||||||
|
|
||||||
|
return $this->error412
|
||||||
|
(
|
||||||
|
$messages
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$track_group = $this->presentation_category_group_service->updateTrackGroup($summit, $track_group_id, $payload);
|
||||||
|
|
||||||
|
return $this->updated(SerializerRegistry::getInstance()->getSerializer($track_group)->serialize());
|
||||||
|
}
|
||||||
|
catch (ValidationException $ex1) {
|
||||||
|
Log::warning($ex1);
|
||||||
|
return $this->error412([$ex1->getMessage()]);
|
||||||
|
}
|
||||||
|
catch(EntityNotFoundException $ex2)
|
||||||
|
{
|
||||||
|
Log::warning($ex2);
|
||||||
|
return $this->error404(['message'=> $ex2->getMessage()]);
|
||||||
|
}
|
||||||
|
catch (Exception $ex) {
|
||||||
|
Log::error($ex);
|
||||||
|
return $this->error500($ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function deleteTrackGroupBySummit($summit_id, $track_group_id){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $summit_id
|
* @param $summit_id
|
||||||
* @return mixed
|
* @return mixed
|
||||||
|
@ -492,6 +492,9 @@ Route::group([
|
|||||||
Route::post('', [ 'middleware' => 'auth.user:administrators|summit-front-end-administrators', 'uses' => 'OAuth2PresentationCategoryGroupController@addTrackGroupBySummit']);
|
Route::post('', [ 'middleware' => 'auth.user:administrators|summit-front-end-administrators', 'uses' => 'OAuth2PresentationCategoryGroupController@addTrackGroupBySummit']);
|
||||||
|
|
||||||
Route::group(['prefix' => '{track_group_id}'], function () {
|
Route::group(['prefix' => '{track_group_id}'], function () {
|
||||||
|
Route::get('', 'OAuth2PresentationCategoryGroupController@getTrackGroupBySummit');
|
||||||
|
Route::put('', [ 'middleware' => 'auth.user:administrators|summit-front-end-administrators', 'uses' => 'OAuth2PresentationCategoryGroupController@updateTrackGroupBySummit']);
|
||||||
|
Route::delete('', [ 'middleware' => 'auth.user:administrators|summit-front-end-administrators', 'uses' => 'OAuth2PresentationCategoryGroupController@deleteTrackGroupBySummit']);
|
||||||
|
|
||||||
Route::group(['prefix' => 'tracks'], function () {
|
Route::group(['prefix' => 'tracks'], function () {
|
||||||
|
|
||||||
|
@ -55,6 +55,7 @@ abstract class SilverStripeDoctrineRepository extends DoctrineRepository
|
|||||||
$resource_server_ctx = App::make(\models\oauth2\IResourceServerContext::class);
|
$resource_server_ctx = App::make(\models\oauth2\IResourceServerContext::class);
|
||||||
$member_repository = App::make(\models\main\IMemberRepository::class);
|
$member_repository = App::make(\models\main\IMemberRepository::class);
|
||||||
$member_id = $resource_server_ctx->getCurrentUserExternalId();
|
$member_id = $resource_server_ctx->getCurrentUserExternalId();
|
||||||
|
if(is_null($member_id)) return false;
|
||||||
$member = $member_repository->getById($member_id);
|
$member = $member_repository->getById($member_id);
|
||||||
if (!is_null($member)){
|
if (!is_null($member)){
|
||||||
return $member->isOnGroup($group_code);
|
return $member->isOnGroup($group_code);
|
||||||
|
@ -114,7 +114,7 @@ final class PresentationCategoryGroupService
|
|||||||
(
|
(
|
||||||
trans('validation_errors.PresentationCategoryGroupService.updateTrackGroup.NameAlreadyExists'),
|
trans('validation_errors.PresentationCategoryGroupService.updateTrackGroup.NameAlreadyExists'),
|
||||||
[
|
[
|
||||||
'name' => trim($data['name']),
|
'name' => trim($data['name']),
|
||||||
'summit_id' => $summit->getId(),
|
'summit_id' => $summit->getId(),
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
@ -129,14 +129,14 @@ final class PresentationCategoryGroupService
|
|||||||
trans('not_found_errors.PresentationCategoryGroupService.updateTrackGroup.TrackGroupNotFound'),
|
trans('not_found_errors.PresentationCategoryGroupService.updateTrackGroup.TrackGroupNotFound'),
|
||||||
[
|
[
|
||||||
'track_group_id' => $track_group_id,
|
'track_group_id' => $track_group_id,
|
||||||
'summit_id' => $summit->getId(),
|
'summit_id' => $summit->getId(),
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Event::fire
|
Event::fire
|
||||||
(
|
(
|
||||||
new TrackGroupInserted
|
new TrackGroupUpdated
|
||||||
(
|
(
|
||||||
|
|
||||||
$track_group->getId(),
|
$track_group->getId(),
|
||||||
|
@ -151,7 +151,7 @@ class ApiEndpointsSeeder extends Seeder
|
|||||||
sprintf(SummitScopes::WriteAttendeesData, $current_realm),
|
sprintf(SummitScopes::WriteAttendeesData, $current_realm),
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'get-attendee-schedule',
|
'name' => 'get-attendee-schedule',
|
||||||
'route' => '/api/v1/summits/{id}/attendees/{attendee_id}/schedule',
|
'route' => '/api/v1/summits/{id}/attendees/{attendee_id}/schedule',
|
||||||
'http_method' => 'GET',
|
'http_method' => 'GET',
|
||||||
@ -159,19 +159,19 @@ class ApiEndpointsSeeder extends Seeder
|
|||||||
sprintf(SummitScopes::ReadSummitData, $current_realm),
|
sprintf(SummitScopes::ReadSummitData, $current_realm),
|
||||||
sprintf(SummitScopes::ReadAllSummitData, $current_realm)
|
sprintf(SummitScopes::ReadAllSummitData, $current_realm)
|
||||||
],
|
],
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'add-event-attendee-schedule',
|
'name' => 'add-event-attendee-schedule',
|
||||||
'route' => '/api/v1/summits/{id}/attendees/{attendee_id}/schedule/{event_id}',
|
'route' => '/api/v1/summits/{id}/attendees/{attendee_id}/schedule/{event_id}',
|
||||||
'http_method' => 'POST',
|
'http_method' => 'POST',
|
||||||
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'delete-event-attendee-schedule',
|
'name' => 'delete-event-attendee-schedule',
|
||||||
'route' => '/api/v1/summits/{id}/attendees/{attendee_id}/schedule/{event_id}',
|
'route' => '/api/v1/summits/{id}/attendees/{attendee_id}/schedule/{event_id}',
|
||||||
'http_method' => 'DELETE',
|
'http_method' => 'DELETE',
|
||||||
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
||||||
),
|
],
|
||||||
array(
|
array(
|
||||||
'name' => 'checking-event-attendee-schedule',
|
'name' => 'checking-event-attendee-schedule',
|
||||||
'route' => '/api/v1/summits/{id}/attendees/{attendee_id}/schedule/{event_id}/check-in',
|
'route' => '/api/v1/summits/{id}/attendees/{attendee_id}/schedule/{event_id}/check-in',
|
||||||
@ -443,19 +443,19 @@ class ApiEndpointsSeeder extends Seeder
|
|||||||
'http_method' => 'POST',
|
'http_method' => 'POST',
|
||||||
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
||||||
),
|
),
|
||||||
array(
|
[
|
||||||
'name' => 'add-event-feedback-v2',
|
'name' => 'add-event-feedback-v2',
|
||||||
'route' => '/api/v2/summits/{id}/events/{event_id}/feedback',
|
'route' => '/api/v2/summits/{id}/events/{event_id}/feedback',
|
||||||
'http_method' => 'POST',
|
'http_method' => 'POST',
|
||||||
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'update-event-feedback-v2',
|
'name' => 'update-event-feedback-v2',
|
||||||
'route' => '/api/v2/summits/{id}/events/{event_id}/feedback',
|
'route' => '/api/v2/summits/{id}/events/{event_id}/feedback',
|
||||||
'http_method' => 'PUT',
|
'http_method' => 'PUT',
|
||||||
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'get-event-feedback',
|
'name' => 'get-event-feedback',
|
||||||
'route' => '/api/v1/summits/{id}/events/{event_id}/feedback/{attendee_id?}',
|
'route' => '/api/v1/summits/{id}/events/{event_id}/feedback/{attendee_id?}',
|
||||||
'http_method' => 'GET',
|
'http_method' => 'GET',
|
||||||
@ -463,13 +463,13 @@ class ApiEndpointsSeeder extends Seeder
|
|||||||
sprintf(SummitScopes::ReadSummitData, $current_realm),
|
sprintf(SummitScopes::ReadSummitData, $current_realm),
|
||||||
sprintf(SummitScopes::ReadAllSummitData, $current_realm)
|
sprintf(SummitScopes::ReadAllSummitData, $current_realm)
|
||||||
],
|
],
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'delete-rsvp',
|
'name' => 'delete-rsvp',
|
||||||
'route' => '/api/v1/summits/{id}/attendees/{attendee_id}/schedule/{event_id}/rsvp',
|
'route' => '/api/v1/summits/{id}/attendees/{attendee_id}/schedule/{event_id}/rsvp',
|
||||||
'http_method' => 'DELETE',
|
'http_method' => 'DELETE',
|
||||||
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
||||||
),
|
],
|
||||||
// locations
|
// locations
|
||||||
[
|
[
|
||||||
'name' => 'get-locations',
|
'name' => 'get-locations',
|
||||||
@ -1205,6 +1205,24 @@ class ApiEndpointsSeeder extends Seeder
|
|||||||
sprintf(SummitScopes::WriteSummitData, $current_realm)
|
sprintf(SummitScopes::WriteSummitData, $current_realm)
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
'name' => 'update-track-group',
|
||||||
|
'route' => '/api/v1/summits/{id}/track-groups/{track_group_id}',
|
||||||
|
'http_method' => 'PUT',
|
||||||
|
'scopes' => [
|
||||||
|
sprintf(SummitScopes::WriteTrackGroupsData, $current_realm),
|
||||||
|
sprintf(SummitScopes::WriteSummitData, $current_realm)
|
||||||
|
],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'delete-track-group',
|
||||||
|
'route' => '/api/v1/summits/{id}/track-groups/{track_group_id}',
|
||||||
|
'http_method' => 'DELETE',
|
||||||
|
'scopes' => [
|
||||||
|
sprintf(SummitScopes::WriteTrackGroupsData, $current_realm),
|
||||||
|
sprintf(SummitScopes::WriteSummitData, $current_realm)
|
||||||
|
],
|
||||||
|
],
|
||||||
[
|
[
|
||||||
'name' => 'associate-track-2-track-group',
|
'name' => 'associate-track-2-track-group',
|
||||||
'route' => '/api/v1/summits/{id}/track-groups/{track_group_id}/tracks/{track_id}',
|
'route' => '/api/v1/summits/{id}/track-groups/{track_group_id}/tracks/{track_id}',
|
||||||
@ -1255,7 +1273,7 @@ class ApiEndpointsSeeder extends Seeder
|
|||||||
'scopes' => [sprintf('%s/summits/confirm-external-orders', $current_realm)],
|
'scopes' => [sprintf('%s/summits/confirm-external-orders', $current_realm)],
|
||||||
),
|
),
|
||||||
//videos
|
//videos
|
||||||
array(
|
[
|
||||||
'name' => 'get-presentation-videos',
|
'name' => 'get-presentation-videos',
|
||||||
'route' => '/api/v1/summits/{id}/presentations/{presentation_id}/videos',
|
'route' => '/api/v1/summits/{id}/presentations/{presentation_id}/videos',
|
||||||
'http_method' => 'GET',
|
'http_method' => 'GET',
|
||||||
@ -1263,8 +1281,8 @@ class ApiEndpointsSeeder extends Seeder
|
|||||||
sprintf(SummitScopes::ReadSummitData, $current_realm),
|
sprintf(SummitScopes::ReadSummitData, $current_realm),
|
||||||
sprintf(SummitScopes::ReadAllSummitData, $current_realm)
|
sprintf(SummitScopes::ReadAllSummitData, $current_realm)
|
||||||
],
|
],
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'get-presentation-video',
|
'name' => 'get-presentation-video',
|
||||||
'route' => '/api/v1/summits/{id}/presentations/{presentation_id}/video/{video_id}',
|
'route' => '/api/v1/summits/{id}/presentations/{presentation_id}/video/{video_id}',
|
||||||
'http_method' => 'GET',
|
'http_method' => 'GET',
|
||||||
@ -1272,76 +1290,76 @@ class ApiEndpointsSeeder extends Seeder
|
|||||||
sprintf(SummitScopes::ReadSummitData, $current_realm),
|
sprintf(SummitScopes::ReadSummitData, $current_realm),
|
||||||
sprintf(SummitScopes::ReadAllSummitData, $current_realm)
|
sprintf(SummitScopes::ReadAllSummitData, $current_realm)
|
||||||
],
|
],
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'create-presentation-video',
|
'name' => 'create-presentation-video',
|
||||||
'route' => '/api/v1/summits/{id}/presentations/{presentation_id}/videos',
|
'route' => '/api/v1/summits/{id}/presentations/{presentation_id}/videos',
|
||||||
'http_method' => 'POST',
|
'http_method' => 'POST',
|
||||||
'scopes' => [sprintf(SummitScopes::WriteVideoData, $current_realm)],
|
'scopes' => [sprintf(SummitScopes::WriteVideoData, $current_realm)],
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'update-presentation-video',
|
'name' => 'update-presentation-video',
|
||||||
'route' => '/api/v1/summits/{id}/presentations/{presentation_id}/videos/{video_id}',
|
'route' => '/api/v1/summits/{id}/presentations/{presentation_id}/videos/{video_id}',
|
||||||
'http_method' => 'PUT',
|
'http_method' => 'PUT',
|
||||||
'scopes' => [sprintf(SummitScopes::WriteVideoData, $current_realm)],
|
'scopes' => [sprintf(SummitScopes::WriteVideoData, $current_realm)],
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'delete-presentation-video',
|
'name' => 'delete-presentation-video',
|
||||||
'route' => '/api/v1/summits/{id}/presentations/{presentation_id}/videos/{video_id}',
|
'route' => '/api/v1/summits/{id}/presentations/{presentation_id}/videos/{video_id}',
|
||||||
'http_method' => 'DELETE',
|
'http_method' => 'DELETE',
|
||||||
'scopes' => [sprintf(SummitScopes::WriteVideoData, $current_realm)],
|
'scopes' => [sprintf(SummitScopes::WriteVideoData, $current_realm)],
|
||||||
),
|
],
|
||||||
//members
|
//members
|
||||||
array(
|
[
|
||||||
'name' => 'get-own-member',
|
'name' => 'get-own-member',
|
||||||
'route' => '/api/v1/summits/{id}/members/{member_id}',
|
'route' => '/api/v1/summits/{id}/members/{member_id}',
|
||||||
'http_method' => 'GET',
|
'http_method' => 'GET',
|
||||||
'scopes' => [sprintf('%s/me/read', $current_realm)],
|
'scopes' => [sprintf('%s/me/read', $current_realm)],
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'get-own-member-favorites',
|
'name' => 'get-own-member-favorites',
|
||||||
'route' => '/api/v1/summits/{id}/members/{member_id}/favorites',
|
'route' => '/api/v1/summits/{id}/members/{member_id}/favorites',
|
||||||
'http_method' => 'GET',
|
'http_method' => 'GET',
|
||||||
'scopes' => [sprintf('%s/me/read', $current_realm)],
|
'scopes' => [sprintf('%s/me/read', $current_realm)],
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'add-2-own-member-favorites',
|
'name' => 'add-2-own-member-favorites',
|
||||||
'route' => '/api/v1/summits/{id}/members/{member_id}/favorites/{event_id}',
|
'route' => '/api/v1/summits/{id}/members/{member_id}/favorites/{event_id}',
|
||||||
'http_method' => 'POST',
|
'http_method' => 'POST',
|
||||||
'scopes' => [sprintf('%s/me/summits/events/favorites/add', $current_realm)],
|
'scopes' => [sprintf('%s/me/summits/events/favorites/add', $current_realm)],
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'delete-rsvp-member',
|
'name' => 'delete-rsvp-member',
|
||||||
'route' => '/api/v1/summits/{id}/members/{member_id}/schedule/{event_id}/rsvp',
|
'route' => '/api/v1/summits/{id}/members/{member_id}/schedule/{event_id}/rsvp',
|
||||||
'http_method' => 'DELETE',
|
'http_method' => 'DELETE',
|
||||||
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
||||||
),
|
],
|
||||||
array(
|
[
|
||||||
'name' => 'remove-from-own-member-favorites',
|
'name' => 'remove-from-own-member-favorites',
|
||||||
'route' => '/api/v1/summits/{id}/members/{member_id}/favorites/{event_id}',
|
'route' => '/api/v1/summits/{id}/members/{member_id}/favorites/{event_id}',
|
||||||
'http_method' => 'DELETE',
|
'http_method' => 'DELETE',
|
||||||
'scopes' => [sprintf('%s/me/summits/events/favorites/delete', $current_realm)],
|
'scopes' => [sprintf('%s/me/summits/events/favorites/delete', $current_realm)],
|
||||||
),
|
],
|
||||||
[
|
[
|
||||||
'name' => 'get-own-member-schedule',
|
'name' => 'get-own-member-schedule',
|
||||||
'route' => '/api/v1/summits/{id}/members/{member_id}/schedule',
|
'route' => '/api/v1/summits/{id}/members/{member_id}/schedule',
|
||||||
'http_method' => 'GET',
|
'http_method' => 'GET',
|
||||||
'scopes' => [sprintf('%s/me/read', $current_realm)],
|
'scopes' => [sprintf('%s/me/read', $current_realm)],
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'name' => 'add-2-own-member-schedule',
|
'name' => 'add-2-own-member-schedule',
|
||||||
'route' => '/api/v1/summits/{id}/members/{member_id}/schedule/{event_id}',
|
'route' => '/api/v1/summits/{id}/members/{member_id}/schedule/{event_id}',
|
||||||
'http_method' => 'POST',
|
'http_method' => 'POST',
|
||||||
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'name' => 'remove-from-own-member-schedule',
|
'name' => 'remove-from-own-member-schedule',
|
||||||
'route' => '/api/v1/summits/{id}/members/{member_id}/schedule/{event_id}',
|
'route' => '/api/v1/summits/{id}/members/{member_id}/schedule/{event_id}',
|
||||||
'http_method' => 'DELETE',
|
'http_method' => 'DELETE',
|
||||||
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
'scopes' => [sprintf(SummitScopes::WriteSummitData, $current_realm)],
|
||||||
],
|
],
|
||||||
// notifications
|
// notifications
|
||||||
[
|
[
|
||||||
'name' => 'get-notifications',
|
'name' => 'get-notifications',
|
||||||
'route' => '/api/v1/summits/{id}/notifications',
|
'route' => '/api/v1/summits/{id}/notifications',
|
||||||
'http_method' => 'GET',
|
'http_method' => 'GET',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user