1414 * See the License for the specific language governing permissions and
1515 * limitations under the License.
1616 **/
17+ use App \Models \Foundation \Main \IGroup ;
1718use App \Models \Foundation \Summit \Repositories \ISummitTaxTypeRepository ;
19+ use App \Security \SummitScopes ;
1820use App \Services \Model \ISummitTaxTypeService ;
1921use models \exceptions \EntityNotFoundException ;
2022use models \exceptions \ValidationException ;
@@ -57,7 +59,10 @@ final class OAuth2SummitTaxTypeApiController extends OAuth2ProtectedController
5759 #[OA \Get(
5860 path: '/api/v1/summits/{id}/tax-types ' ,
5961 summary: 'Get all tax types for a summit ' ,
60- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
62+ security: [['tax_types_oauth2 ' => [
63+ SummitScopes::ReadSummitData,
64+ SummitScopes::ReadAllSummitData,
65+ ]]],
6166 tags: ['Summits ' , 'Tax Types ' ],
6267 parameters: [
6368 new OA \Parameter (ref: '#/components/parameters/page ' ),
@@ -87,7 +92,17 @@ public function getAllBySummit($summit_id){
8792 #[OA \Post(
8893 path: '/api/v1/summits/{id}/tax-types ' ,
8994 summary: 'Create a new tax type ' ,
90- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
95+ security: [['tax_types_oauth2 ' => [
96+ SummitScopes::WriteSummitData,
97+ ]]],
98+ x: [
99+ 'required-groups ' => [
100+ IGroup::SuperAdmins,
101+ IGroup::Administrators,
102+ IGroup::SummitAdministrators,
103+ IGroup::SummitRegistrationAdmins,
104+ ]
105+ ],
91106 tags: ['Summits ' , 'Tax Types ' ],
92107 parameters: [
93108 new OA \Parameter (name: 'id ' , in: 'path ' , required: true , description: 'Summit ID ' , schema: new OA \Schema (type: 'integer ' )),
@@ -117,7 +132,18 @@ public function add($summit_id){
117132 #[OA \Get(
118133 path: '/api/v1/summits/{id}/tax-types/{tax_id} ' ,
119134 summary: 'Get a tax type by ID ' ,
120- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
135+ security: [['tax_types_oauth2 ' => [
136+ SummitScopes::ReadSummitData,
137+ SummitScopes::ReadAllSummitData,
138+ ]]],
139+ x: [
140+ 'required-groups ' => [
141+ IGroup::SuperAdmins,
142+ IGroup::Administrators,
143+ IGroup::SummitAdministrators,
144+ IGroup::SummitRegistrationAdmins,
145+ ]
146+ ],
121147 tags: ['Summits ' , 'Tax Types ' ],
122148 parameters: [
123149 new OA \Parameter (name: 'id ' , in: 'path ' , required: true , description: 'Summit ID ' , schema: new OA \Schema (type: 'integer ' )),
@@ -143,7 +169,17 @@ public function get($summit_id, $tax_id){
143169 #[OA \Put(
144170 path: '/api/v1/summits/{id}/tax-types/{tax_id} ' ,
145171 summary: 'Update a tax type ' ,
146- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
172+ security: [['tax_types_oauth2 ' => [
173+ SummitScopes::WriteSummitData,
174+ ]]],
175+ x: [
176+ 'required-groups ' => [
177+ IGroup::SuperAdmins,
178+ IGroup::Administrators,
179+ IGroup::SummitAdministrators,
180+ IGroup::SummitRegistrationAdmins,
181+ ]
182+ ],
147183 tags: ['Summits ' , 'Tax Types ' ],
148184 parameters: [
149185 new OA \Parameter (name: 'id ' , in: 'path ' , required: true , description: 'Summit ID ' , schema: new OA \Schema (type: 'integer ' )),
@@ -174,7 +210,17 @@ public function update($summit_id, $tax_id){
174210 #[OA \Delete(
175211 path: '/api/v1/summits/{id}/tax-types/{tax_id} ' ,
176212 summary: 'Delete a tax type ' ,
177- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
213+ security: [['tax_types_oauth2 ' => [
214+ SummitScopes::WriteSummitData,
215+ ]]],
216+ x: [
217+ 'required-groups ' => [
218+ IGroup::SuperAdmins,
219+ IGroup::Administrators,
220+ IGroup::SummitAdministrators,
221+ IGroup::SummitRegistrationAdmins,
222+ ]
223+ ],
178224 tags: ['Summits ' , 'Tax Types ' ],
179225 parameters: [
180226 new OA \Parameter (name: 'id ' , in: 'path ' , required: true , description: 'Summit ID ' , schema: new OA \Schema (type: 'integer ' )),
@@ -310,7 +356,17 @@ protected function deleteChild(Summit $summit, $child_id): void
310356 #[OA \Put(
311357 path: '/api/v1/summits/{id}/tax-types/{tax_id}/ticket-types/{ticket_type_id} ' ,
312358 summary: 'Add a tax type to a ticket type ' ,
313- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
359+ security: [['tax_types_oauth2 ' => [
360+ SummitScopes::WriteSummitData,
361+ ]]],
362+ x: [
363+ 'required-groups ' => [
364+ IGroup::SuperAdmins,
365+ IGroup::Administrators,
366+ IGroup::SummitAdministrators,
367+ IGroup::SummitRegistrationAdmins,
368+ ]
369+ ],
314370 tags: ['Summits ' , 'Tax Types ' ],
315371 parameters: [
316372 new OA \Parameter (name: 'id ' , in: 'path ' , required: true , description: 'Summit ID ' , schema: new OA \Schema (type: 'integer ' )),
@@ -364,7 +420,17 @@ public function addTaxToTicketType($summit_id, $tax_id, $ticket_type_id){
364420 #[OA \Delete(
365421 path: '/api/v1/summits/{id}/tax-types/{tax_id}/ticket-types/{ticket_type_id} ' ,
366422 summary: 'Remove a tax type from a ticket type ' ,
367- security: [['OAuth2 ' => ['openid ' , 'profile ' , 'email ' ]]],
423+ security: [['tax_types_oauth2 ' => [
424+ SummitScopes::WriteSummitData,
425+ ]]],
426+ x: [
427+ 'required-groups ' => [
428+ IGroup::SuperAdmins,
429+ IGroup::Administrators,
430+ IGroup::SummitAdministrators,
431+ IGroup::SummitRegistrationAdmins,
432+ ]
433+ ],
368434 tags: ['Summits ' , 'Tax Types ' ],
369435 parameters: [
370436 new OA \Parameter (name: 'id ' , in: 'path ' , required: true , description: 'Summit ID ' , schema: new OA \Schema (type: 'integer ' )),
0 commit comments