|
12 | 12 | * limitations under the License. |
13 | 13 | **/ |
14 | 14 |
|
| 15 | +use App\Models\Foundation\Main\IGroup; |
| 16 | +use App\Security\SummitScopes; |
15 | 17 | use Illuminate\Http\Response; |
16 | 18 | use OpenApi\Attributes as OA; |
17 | 19 | use App\Facades\ResourceServerContext; |
@@ -92,9 +94,23 @@ protected function getRepository(): IBaseRepository |
92 | 94 | */ |
93 | 95 | #[OA\Get( |
94 | 96 | path: "/api/v1/summits/{id}/proposed-schedules/{source}/presentations", |
| 97 | + operationId: 'getProposedScheduleEvents', |
| 98 | + description: "required-groups " . IGroup::SuperAdmins . ", " . IGroup::Administrators . ", " . IGroup::SummitAdministrators . ", " . IGroup::TrackChairs . ", " . IGroup::TrackChairsAdmins, |
95 | 99 | summary: "Get proposed schedule events for a specific source", |
96 | | - security: [["Bearer" => []]], |
97 | | - tags: ["summit-proposed-schedule"], |
| 100 | + tags: ["Summit Proposed Schedule"], |
| 101 | + x: [ |
| 102 | + 'required-groups' => [ |
| 103 | + IGroup::SuperAdmins, |
| 104 | + IGroup::Administrators, |
| 105 | + IGroup::SummitAdministrators, |
| 106 | + IGroup::TrackChairs, |
| 107 | + IGroup::TrackChairsAdmins |
| 108 | + ] |
| 109 | + ], |
| 110 | + security: [['summit_proposed_schedule_oauth2' => [ |
| 111 | + SummitScopes::ReadAllSummitData, |
| 112 | + SummitScopes::ReadSummitData, |
| 113 | + ]]], |
98 | 114 | parameters: [ |
99 | 115 | new OA\Parameter( |
100 | 116 | name: "id", |
@@ -213,9 +229,22 @@ function () { |
213 | 229 | */ |
214 | 230 | #[OA\Put( |
215 | 231 | path: "/api/v1/summits/{id}/proposed-schedules/{source}/presentations/{presentation_id}/propose", |
| 232 | + operationId: 'publishProposedSchedulePresentation', |
| 233 | + description: "required-groups " . IGroup::SuperAdmins . ", " . IGroup::Administrators . ", " . IGroup::SummitAdministrators . ", " . IGroup::TrackChairs . ", " . IGroup::TrackChairsAdmins, |
216 | 234 | summary: "Publish a presentation to the proposed schedule", |
217 | | - security: [["Bearer" => []]], |
218 | | - tags: ["summit-proposed-schedule"], |
| 235 | + tags: ["Summit Proposed Schedule"], |
| 236 | + x: [ |
| 237 | + 'required-groups' => [ |
| 238 | + IGroup::SuperAdmins, |
| 239 | + IGroup::Administrators, |
| 240 | + IGroup::SummitAdministrators, |
| 241 | + IGroup::TrackChairs, |
| 242 | + IGroup::TrackChairsAdmins |
| 243 | + ] |
| 244 | + ], |
| 245 | + security: [['summit_proposed_schedule_oauth2' => [ |
| 246 | + SummitScopes::WriteSummitData, |
| 247 | + ]]], |
219 | 248 | parameters: [ |
220 | 249 | new OA\Parameter( |
221 | 250 | name: "id", |
@@ -289,9 +318,22 @@ public function publish($summit_id, $source, $presentation_id) |
289 | 318 | */ |
290 | 319 | #[OA\Delete( |
291 | 320 | path: "/api/v1/summits/{id}/proposed-schedules/{source}/presentations/{presentation_id}/propose", |
| 321 | + operationId: 'unpublishProposedSchedulePresentation', |
| 322 | + description: "required-groups " . IGroup::SuperAdmins . ", " . IGroup::Administrators . ", " . IGroup::SummitAdministrators . ", " . IGroup::TrackChairs . ", " . IGroup::TrackChairsAdmins, |
292 | 323 | summary: "Unpublish a presentation from the proposed schedule", |
293 | | - security: [["Bearer" => []]], |
294 | | - tags: ["summit-proposed-schedule"], |
| 324 | + tags: ["Summit Proposed Schedule"], |
| 325 | + x: [ |
| 326 | + 'required-groups' => [ |
| 327 | + IGroup::SuperAdmins, |
| 328 | + IGroup::Administrators, |
| 329 | + IGroup::SummitAdministrators, |
| 330 | + IGroup::TrackChairs, |
| 331 | + IGroup::TrackChairsAdmins |
| 332 | + ] |
| 333 | + ], |
| 334 | + security: [['summit_proposed_schedule_oauth2' => [ |
| 335 | + SummitScopes::WriteSummitData, |
| 336 | + ]]], |
295 | 337 | parameters: [ |
296 | 338 | new OA\Parameter( |
297 | 339 | name: "id", |
@@ -346,9 +388,22 @@ public function unpublish($summit_id, $source, $presentation_id) |
346 | 388 | */ |
347 | 389 | #[OA\Put( |
348 | 390 | path: "/api/v1/summits/{id}/proposed-schedules/{source}/presentations/all/publish", |
| 391 | + operationId: 'publishAllProposedSchedulePresentations', |
| 392 | + description: "required-groups " . IGroup::SuperAdmins . ", " . IGroup::Administrators . ", " . IGroup::SummitAdministrators . ", " . IGroup::TrackChairs . ", " . IGroup::TrackChairsAdmins, |
349 | 393 | summary: "Publish all presentations to the proposed schedule with optional filters", |
350 | | - security: [["Bearer" => []]], |
351 | | - tags: ["summit-proposed-schedule"], |
| 394 | + tags: ["Summit Proposed Schedule"], |
| 395 | + x: [ |
| 396 | + 'required-groups' => [ |
| 397 | + IGroup::SuperAdmins, |
| 398 | + IGroup::Administrators, |
| 399 | + IGroup::SummitAdministrators, |
| 400 | + IGroup::TrackChairs, |
| 401 | + IGroup::TrackChairsAdmins |
| 402 | + ] |
| 403 | + ], |
| 404 | + security: [['summit_proposed_schedule_oauth2' => [ |
| 405 | + SummitScopes::WriteSummitData, |
| 406 | + ]]], |
352 | 407 | parameters: [ |
353 | 408 | new OA\Parameter( |
354 | 409 | name: "id", |
@@ -440,9 +495,19 @@ public function publishAll($summit_id, $source) |
440 | 495 | */ |
441 | 496 | #[OA\Post( |
442 | 497 | path: "/api/v1/summits/{id}/proposed-schedules/{source}/tracks/{track_id}/lock", |
| 498 | + operationId: 'sendProposedScheduleTrackToReview', |
| 499 | + description: "required-groups " . IGroup::TrackChairs . ", " . IGroup::TrackChairsAdmins, |
443 | 500 | summary: "Send a track schedule for review (lock the track)", |
444 | | - security: [["Bearer" => []]], |
445 | | - tags: ["summit-proposed-schedule"], |
| 501 | + tags: ["Summit Proposed Schedule"], |
| 502 | + x: [ |
| 503 | + 'required-groups' => [ |
| 504 | + IGroup::TrackChairs, |
| 505 | + IGroup::TrackChairsAdmins |
| 506 | + ] |
| 507 | + ], |
| 508 | + security: [['summit_proposed_schedule_oauth2' => [ |
| 509 | + SummitScopes::WriteSummitData, |
| 510 | + ]]], |
446 | 511 | parameters: [ |
447 | 512 | new OA\Parameter( |
448 | 513 | name: "id", |
@@ -517,9 +582,20 @@ public function send2Review($summit_id, $source, $track_id) |
517 | 582 | */ |
518 | 583 | #[OA\Delete( |
519 | 584 | path: "/api/v1/summits/{id}/proposed-schedules/{source}/tracks/{track_id}/lock", |
| 585 | + operationId: 'removeProposedScheduleTrackReview', |
| 586 | + description: "required-groups " . IGroup::SuperAdmins . ", " . IGroup::Administrators . ", " . IGroup::SummitAdministrators, |
520 | 587 | summary: "Remove review lock from a track schedule (unlock the track)", |
521 | | - security: [["Bearer" => []]], |
522 | | - tags: ["summit-proposed-schedule"], |
| 588 | + tags: ["Summit Proposed Schedule"], |
| 589 | + x: [ |
| 590 | + 'required-groups' => [ |
| 591 | + IGroup::SuperAdmins, |
| 592 | + IGroup::Administrators, |
| 593 | + IGroup::SummitAdministrators |
| 594 | + ] |
| 595 | + ], |
| 596 | + security: [['summit_proposed_schedule_oauth2' => [ |
| 597 | + SummitScopes::WriteSummitData, |
| 598 | + ]]], |
523 | 599 | parameters: [ |
524 | 600 | new OA\Parameter( |
525 | 601 | name: "id", |
@@ -582,9 +658,12 @@ public function removeReview($summit_id, $source, $track_id) |
582 | 658 | */ |
583 | 659 | #[OA\Get( |
584 | 660 | path: "/api/v1/summits/{id}/proposed-schedules/{source}/locks", |
| 661 | + operationId: 'getProposedScheduleReviewSubmissions', |
585 | 662 | summary: "Get all proposed schedule review submissions (locks) for a source", |
586 | | - security: [["Bearer" => []]], |
587 | | - tags: ["summit-proposed-schedule"], |
| 663 | + tags: ["Summit Proposed Schedule"], |
| 664 | + security: [['summit_proposed_schedule_oauth2' => [ |
| 665 | + SummitScopes::ReadSummitData, |
| 666 | + ]]], |
588 | 667 | parameters: [ |
589 | 668 | new OA\Parameter( |
590 | 669 | name: "id", |
|
0 commit comments