1515 * limitations under the License.
1616 **/
1717
18+ use App \Models \Foundation \Main \IGroup ;
1819use App \Models \Foundation \Summit \Repositories \ISummitSponsorshipTypeRepository ;
1920use App \ModelSerializers \SerializerUtils ;
21+ use App \Security \SummitScopes ;
2022use App \Services \Model \ISummitSponsorshipTypeService ;
2123use Illuminate \Http \Request as LaravelRequest ;
2224use Illuminate \Http \Response ;
@@ -77,11 +79,21 @@ public function __construct
7779 #[OA \Get(
7880 path: '/api/v1/summits/{id}/sponsorships-types ' ,
7981 summary: 'Get all sponsorship types for a summit ' ,
80- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
81- tags: ['Summits ' , 'Sponsorship Types ' ],
82+ x: [
83+ 'required-groups ' => [
84+ IGroup::SuperAdmins,
85+ IGroup::Administrators,
86+ IGroup::SummitAdministrators,
87+ ]
88+ ],
89+ security: [['sponsorship_types_oauth2 ' => [
90+ SummitScopes::ReadSummitData,
91+ SummitScopes::ReadAllSummitData,
92+ ]]],
93+ tags: ['Summits Sponsorship Types ' ],
8294 parameters: [
83- new OA \Parameter (ref : '#/components/parameters/ page ' ),
84- new OA \Parameter (ref : '#/components/parameters/ per_page ' ),
95+ new OA \Parameter (name : 'page ' , in: ' query ' , required: false , description: ' Page number ' , schema: new OA \ Schema (type: ' integer ' , default: 1 ) ),
96+ new OA \Parameter (name : 'per_page ' , in: ' query ' , required: false , description: ' Items per page ' , schema: new OA \ Schema (type: ' integer ' , default: 10 , maximum: 100 ) ),
8597 new OA \Parameter (name: 'id ' , in: 'path ' , required: true , description: 'Summit ID ' , schema: new OA \Schema (type: 'integer ' )),
8698 new OA \Parameter (name: 'filter ' , in: 'query ' , description: 'Filter by name, label, or size (name=@value, label==value, size=@value) ' , schema: new OA \Schema (type: 'string ' )),
8799 new OA \Parameter (name: 'order ' , in: 'query ' , description: 'Order by: +/-id, +/-name, +/-order, +/-label, +/-size ' , schema: new OA \Schema (type: 'string ' )),
@@ -106,8 +118,17 @@ public function getAllBySummit($summit_id){
106118 #[OA \Post(
107119 path: '/api/v1/summits/{id}/sponsorships-types ' ,
108120 summary: 'Create a new sponsorship type ' ,
109- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
110- tags: ['Summits ' , 'Sponsorship Types ' ],
121+ x: [
122+ 'required-groups ' => [
123+ IGroup::SuperAdmins,
124+ IGroup::Administrators,
125+ IGroup::SummitAdministrators,
126+ ]
127+ ],
128+ security: [['sponsorship_types_oauth2 ' => [
129+ SummitScopes::WriteSummitData,
130+ ]]],
131+ tags: ['Summits Sponsorship Types ' ],
111132 parameters: [
112133 new OA \Parameter (name: 'id ' , in: 'path ' , required: true , description: 'Summit ID ' , schema: new OA \Schema (type: 'integer ' )),
113134 ],
@@ -136,8 +157,18 @@ public function add($summit_id){
136157 #[OA \Get(
137158 path: '/api/v1/summits/{id}/sponsorships-types/{type_id} ' ,
138159 summary: 'Get a sponsorship type by ID ' ,
139- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
140- tags: ['Summits ' , 'Sponsorship Types ' ],
160+ x: [
161+ 'required-groups ' => [
162+ IGroup::SuperAdmins,
163+ IGroup::Administrators,
164+ IGroup::SummitAdministrators,
165+ ]
166+ ],
167+ security: [['sponsorship_types_oauth2 ' => [
168+ SummitScopes::ReadSummitData,
169+ SummitScopes::ReadAllSummitData,
170+ ]]],
171+ tags: ['Summits Sponsorship Types ' ],
141172 parameters: [
142173 new OA \Parameter (name: 'id ' , in: 'path ' , required: true , description: 'Summit ID ' , schema: new OA \Schema (type: 'integer ' )),
143174 new OA \Parameter (name: 'type_id ' , in: 'path ' , required: true , description: 'Sponsorship Type ID ' , schema: new OA \Schema (type: 'integer ' )),
@@ -162,8 +193,17 @@ public function get($summit_id, $type_id){
162193 #[OA \Put(
163194 path: '/api/v1/summits/{id}/sponsorships-types/{type_id} ' ,
164195 summary: 'Update a sponsorship type ' ,
165- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
166- tags: ['Summits ' , 'Sponsorship Types ' ],
196+ x: [
197+ 'required-groups ' => [
198+ IGroup::SuperAdmins,
199+ IGroup::Administrators,
200+ IGroup::SummitAdministrators,
201+ ]
202+ ],
203+ security: [['sponsorship_types_oauth2 ' => [
204+ SummitScopes::WriteSummitData,
205+ ]]],
206+ tags: ['Summits Sponsorship Types ' ],
167207 parameters: [
168208 new OA \Parameter (name: 'id ' , in: 'path ' , required: true , description: 'Summit ID ' , schema: new OA \Schema (type: 'integer ' )),
169209 new OA \Parameter (name: 'type_id ' , in: 'path ' , required: true , description: 'Sponsorship Type ID ' , schema: new OA \Schema (type: 'integer ' )),
@@ -193,8 +233,17 @@ public function update($summit_id, $type_id){
193233 #[OA \Delete(
194234 path: '/api/v1/summits/{id}/sponsorships-types/{type_id} ' ,
195235 summary: 'Delete a sponsorship type ' ,
196- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
197- tags: ['Summits ' , 'Sponsorship Types ' ],
236+ x: [
237+ 'required-groups ' => [
238+ IGroup::SuperAdmins,
239+ IGroup::Administrators,
240+ IGroup::SummitAdministrators,
241+ ]
242+ ],
243+ security: [['sponsorship_types_oauth2 ' => [
244+ SummitScopes::WriteSummitData,
245+ ]]],
246+ tags: ['Summits Sponsorship Types ' ],
198247 parameters: [
199248 new OA \Parameter (name: 'id ' , in: 'path ' , required: true , description: 'Summit ID ' , schema: new OA \Schema (type: 'integer ' )),
200249 new OA \Parameter (name: 'type_id ' , in: 'path ' , required: true , description: 'Sponsorship Type ID ' , schema: new OA \Schema (type: 'integer ' )),
@@ -330,8 +379,17 @@ protected function updateChild(Summit $summit, int $child_id, array $payload): I
330379 #[OA \Post(
331380 path: '/api/v1/summits/{id}/sponsorships-types/{type_id}/badge-image ' ,
332381 summary: 'Upload a badge image for a sponsorship type ' ,
333- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
334- tags: ['Summits ' , 'Sponsorship Types ' ],
382+ x: [
383+ 'required-groups ' => [
384+ IGroup::SuperAdmins,
385+ IGroup::Administrators,
386+ IGroup::SummitAdministrators,
387+ ]
388+ ],
389+ security: [['sponsorship_types_oauth2 ' => [
390+ SummitScopes::WriteSummitData,
391+ ]]],
392+ tags: ['Summits Sponsorship Types ' ],
335393 parameters: [
336394 new OA \Parameter (name: 'id ' , in: 'path ' , required: true , description: 'Summit ID ' , schema: new OA \Schema (type: 'integer ' )),
337395 new OA \Parameter (name: 'type_id ' , in: 'path ' , required: true , description: 'Sponsorship Type ID ' , schema: new OA \Schema (type: 'integer ' )),
@@ -401,8 +459,17 @@ public function addBadgeImage(LaravelRequest $request, $summit_id, $type_id){
401459 #[OA \Delete(
402460 path: '/api/v1/summits/{id}/sponsorships-types/{type_id}/badge-image ' ,
403461 summary: 'Remove the badge image from a sponsorship type ' ,
404- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
405- tags: ['Summits ' , 'Sponsorship Types ' ],
462+ x: [
463+ 'required-groups ' => [
464+ IGroup::SuperAdmins,
465+ IGroup::Administrators,
466+ IGroup::SummitAdministrators,
467+ ]
468+ ],
469+ security: [['sponsorship_types_oauth2 ' => [
470+ SummitScopes::WriteSummitData,
471+ ]]],
472+ tags: ['Summits Sponsorship Types ' ],
406473 parameters: [
407474 new OA \Parameter (name: 'id ' , in: 'path ' , required: true , description: 'Summit ID ' , schema: new OA \Schema (type: 'integer ' )),
408475 new OA \Parameter (name: 'type_id ' , in: 'path ' , required: true , description: 'Sponsorship Type ID ' , schema: new OA \Schema (type: 'integer ' )),
@@ -428,4 +495,4 @@ public function removeBadgeImage($summit_id, $type_id){
428495
429496 });
430497 }
431- }
498+ }
0 commit comments