Files
openstackid-resources/app/Security/SummitScopes.php
smarcet 5354a39a81 Added endpoints to CRUD presentation materials
* Videos

** get videos

GET /api/v1/summits/{id}/presentations/{presentation_id}/videos

required scopes

%s/summits/read
%s/summits/read/all

** create video

POST /api/v1/summits/{id}/presentations/{presentation_id}/videos

payload

'you_tube_id'     => 'required|alpha_dash',
'name'            => 'sometimes|required|text:512',
'description'     => 'sometimes|required|text|max:512',
'featured'        => 'sometimes|required|boolean',
'display_on_site' => 'sometimes|required|boolean'

required scopes

%s/summits/write-presentation-materials
%s/summits/write-presentation-videos

** update video

PUT /api/v1/summits/{id}/presentations/{presentation_id}/videos/{video_id}

payload

'you_tube_id'     => 'required|alpha_dash',
'name'            => 'sometimes|required|text:512',
'description'     => 'sometimes|required|text|max:512',
'featured'        => 'sometimes|required|boolean',
'display_on_site' => 'sometimes|required|boolean'
'order'           => 'sometimes|integer|min:1',

required scopes

%s/summits/write-presentation-materials
%s/summits/write-presentation-videos

** delete video

DELETE /api/v1/summits/{id}/presentations/{presentation_id}/videos/{video_id}

required scopes

%s/summits/write-presentation-materials
%s/summits/write-presentation-videos

* Slides

** get slides

GET /api/v1/summits/{id}/presentations/{presentation_id}/slides

required scopes

%s/summits/read
%s/summits/read/all

** create slide

POST '/api/v1/summits/{id}/presentations/{presentation_id}/slides

payload

'file'            => 'required_without:link',
'link'            => 'required_without:file|text:512',
'name'            => 'required|text:512',
'description'     => 'sometimes|required|text|max:512',
'display_on_site' => 'sometimes|required|boolean',
'featured'        => 'sometimes|required|boolean',

required scopes

%s/summits/write-presentation-materials
%s/summits/write-presentation-slides

** update slide

PUT '/api/v1/summits/{id}/presentations/{presentation_id}/slides/{slide_id}

payload

'file'            => 'sometimes|require',
'link'            => 'sometimes|required|text:512',
'name'            => 'sometimes|required|text:512',
'description'     => 'sometimes|required|text|max:512',
'display_on_site' => 'sometimes|required|boolean',
'featured'        => 'sometimes|required|boolean',
'order'           => 'sometimes|integer|min:1',

required scopes

%s/summits/write-presentation-materials
%s/summits/write-presentation-slides

** delete slide

DELETE '/api/v1/summits/{id}/presentations/{presentation_id}/slides/{slide_id}

required scopes

%s/summits/write-presentation-materials
%s/summits/write-presentation-slides

* Links

** get links

GET /api/v1/summits/{id}/presentations/{presentation_id}/links

required scopes

%s/summits/read
%s/summits/read/all

** create link

POST '/api/v1/summits/{id}/presentations/{presentation_id}/links

payload

'link'            => 'required|text:512',
'name'            => 'required|text:512',
'description'     => 'sometimes|required|text|max:512',
'display_on_site' => 'sometimes|required|boolean',
'featured'        => 'sometimes|required|boolean',

required scopes

%s/summits/write-presentation-materials
%s/summits/write-presentation-links

** update link

PUT '/api/v1/summits/{id}/presentations/{presentation_id}/links/{link_id}

payload

'link'            => 'sometimes|required|text:512',
'name'            => 'sometimes|required|text:512',
'description'     => 'sometimes|required|text|max:512',
'display_on_site' => 'sometimes|required|boolean',
'featured'        => 'sometimes|required|boolean',
'order'           => 'sometimes|integer|min:1',

required scopes

%s/summits/write-presentation-materials
%s/summits/write-presentation-links

** delete links

DELETE '/api/v1/summits/{id}/presentations/{presentation_id}/links/{link_id}

required scopes

%s/summits/write-presentation-materials
%s/summits/write-presentation-links

Change-Id: I56a23f0a04cdc254ecaa370afa197a9eebe76a3c
2019-04-08 19:30:08 -03:00

64 lines
2.5 KiB
PHP

<?php namespace App\Security;
/**
* Copyright 2017 OpenStack Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
**/
/**
* Class SummitScopes
* @package App\Security
*/
final class SummitScopes
{
const ReadSummitData = '%s/summits/read';
const ReadAllSummitData = '%s/summits/read/all';
const ReadNotifications = '%s/summits/read-notifications';
const WriteNotifications = '%s/summits/write-notifications';
const WriteSummitData = '%s/summits/write';
const WriteSpeakersData = '%s/speakers/write';
const ReadSpeakersData = '%s/speakers/read';
const WriteTrackTagGroupsData = '%s/track-tag-groups/write';
const WriteTrackQuestionTemplateData = '%s/track-question-templates/write';
const WriteMySpeakersData = '%s/speakers/write/me';
const ReadMySpeakersData = '%s/speakers/read/me';
const PublishEventData = '%s/summits/publish-event';
const WriteEventData = '%s/summits/write-event';
const WriteVideoData = '%s/summits/write-videos';
const WritePresentationVideosData = '%s/summits/write-presentation-videos';
const WritePresentationLinksData = '%s/summits/write-presentation-links';
const WritePresentationSlidesData = '%s/summits/write-presentation-slides';
const WritePresentationMaterialsData = '%s/summits/write-presentation-materials';
const WriteAttendeesData = '%s/attendees/write';
const WritePromoCodeData = '%s/promo-codes/write';
const WriteEventTypeData = '%s/event-types/write';
const WriteTracksData = '%s/tracks/write';
const WriteTrackGroupsData = '%s/track-groups/write';
const WriteLocationsData = '%s/locations/write';
const WriteRSVPTemplateData = '%s/rsvp-templates/write';
const WriteLocationBannersData = '%s/locations/banners/write';
const WriteSummitSpeakerAssistanceData = '%s/summit-speaker-assistance/write';
const WriteTicketTypeData = '%s/ticket-types/write';
const WritePresentationData = '%s/summits/write-presentation';
}