1919use App \Http \Utils \EpochCellFormatter ;
2020use App \Jobs \Emails \Registration \Invitations \InviteSummitRegistrationEmail ;
2121use App \Jobs \Emails \Registration \Invitations \ReInviteSummitRegistrationEmail ;
22+ use App \Models \Foundation \Main \IGroup ;
2223use App \Models \Foundation \Summit \Repositories \ISummitRegistrationInvitationRepository ;
2324use App \ModelSerializers \SerializerUtils ;
25+ use App \Security \SummitScopes ;
2426use App \Services \Model \ISummitRegistrationInvitationService ;
2527use Illuminate \Http \Request as LaravelRequest ;
2628use Illuminate \Http \Response ;
@@ -85,9 +87,21 @@ public function __construct
8587 */
8688 #[OA \Post(
8789 path: "/api/v1/summits/{id}/registration-invitations/csv " ,
90+ operationId: 'ingestInvitations ' ,
8891 summary: "Import registration invitations from CSV file " ,
89- security: [["Bearer " => []]],
90- tags: ["summit-registration-invitations " ],
92+ security: [['summit_registration_invitation_oauth2 ' => [
93+ SummitScopes::WriteSummitData,
94+ SummitScopes::WriteRegistrationInvitations,
95+ ]]],
96+ x: [
97+ 'authz_groups ' => [
98+ IGroup::SuperAdmins,
99+ IGroup::Administrators,
100+ IGroup::SummitAdministrators,
101+ IGroup::SummitRegistrationAdmins,
102+ ]
103+ ],
104+ tags: ["Summit Registration Invitations " ],
91105 parameters: [
92106 new OA \Parameter (
93107 name: 'id ' ,
@@ -151,10 +165,21 @@ public function ingestInvitations(LaravelRequest $request, $summit_id)
151165 * @return \Illuminate\Http\JsonResponse|mixed
152166 */
153167 #[OA \Get(
154- path: "/api/v1/summits/registration-invitations/tokens/{token} " ,
168+ path: "/api/v1/summits/registration-invitations/{token} " ,
169+ operationId: 'getInvitationByToken ' ,
155170 summary: "Get a registration invitation by token " ,
156- security: [["Bearer " => []]],
157- tags: ["summit-registration-invitations " ],
171+ security: [['summit_registration_invitation_oauth2 ' => [
172+ SummitScopes::ReadMyRegistrationInvitations,
173+ ]]],
174+ x: [
175+ 'authz_groups ' => [
176+ IGroup::SuperAdmins,
177+ IGroup::Administrators,
178+ IGroup::SummitAdministrators,
179+ IGroup::SummitRegistrationAdmins,
180+ ]
181+ ],
182+ tags: ["Summit Registration Invitations " ],
158183 parameters: [
159184 new OA \Parameter (
160185 name: "token " ,
@@ -222,9 +247,21 @@ protected function getChildFromSummit(Summit $summit, $child_id): ?IEntity
222247 */
223248 #[OA \Get(
224249 path: "/api/v1/summits/{id}/registration-invitations/{invitation_id} " ,
250+ operationId: 'getRegistrationInvitation ' ,
225251 summary: "Get a registration invitation by id " ,
226- security: [["Bearer " => []]],
227- tags: ["summit-registration-invitations " ],
252+ security: [['summit_registration_invitation_oauth2 ' => [
253+ SummitScopes::ReadAllSummitData,
254+ SummitScopes::ReadRegistrationInvitations,
255+ ]]],
256+ x: [
257+ 'authz_groups ' => [
258+ IGroup::SuperAdmins,
259+ IGroup::Administrators,
260+ IGroup::SummitAdministrators,
261+ IGroup::SummitRegistrationAdmins,
262+ ]
263+ ],
264+ tags: ["Summit Registration Invitations " ],
228265 parameters: [
229266 new OA \Parameter (
230267 name: 'id ' ,
@@ -264,9 +301,21 @@ public function get($summit_id, $invitation_id)
264301 */
265302 #[OA \Get(
266303 path: "/api/v1/summits/{id}/registration-invitations " ,
304+ operationId: 'getAllBySummit ' ,
267305 summary: "Get all registration invitations for a summit " ,
268- security: [["Bearer " => []]],
269- tags: ["summit-registration-invitations " ],
306+ security: [['summit_registration_invitation_oauth2 ' => [
307+ SummitScopes::ReadAllSummitData,
308+ SummitScopes::ReadRegistrationInvitations,
309+ ]]],
310+ x: [
311+ 'authz_groups ' => [
312+ IGroup::SuperAdmins,
313+ IGroup::Administrators,
314+ IGroup::SummitAdministrators,
315+ IGroup::SummitRegistrationAdmins,
316+ ]
317+ ],
318+ tags: ["Summit Registration Invitations " ],
270319 parameters: [
271320 new OA \Parameter (
272321 name: 'id ' ,
@@ -383,9 +432,21 @@ function () {
383432 */
384433 #[OA \Get(
385434 path: "/api/v1/summits/{id}/registration-invitations/csv " ,
435+ operationId: 'getAllBySummitCSV ' ,
386436 summary: "Export registration invitations to CSV " ,
387- security: [["Bearer " => []]],
388- tags: ["summit-registration-invitations " ],
437+ security: [['summit_registration_invitation_oauth2 ' => [
438+ SummitScopes::ReadAllSummitData,
439+ SummitScopes::ReadRegistrationInvitations,
440+ ]]],
441+ x: [
442+ 'authz_groups ' => [
443+ IGroup::SuperAdmins,
444+ IGroup::Administrators,
445+ IGroup::SummitAdministrators,
446+ IGroup::SummitRegistrationAdmins,
447+ ]
448+ ],
449+ tags: ["Summit Registration Invitations " ],
389450 parameters: [
390451 new OA \Parameter (
391452 name: 'id ' ,
@@ -524,7 +585,7 @@ function () {
524585 $ columns = $ allowed_columns ;
525586 return $ columns ;
526587 },
527- 'summit-registration-invitations - '
588+ 'Summit Registration Invitations - '
528589 );
529590 }
530591
@@ -548,9 +609,21 @@ protected function deleteChild(Summit $summit, $child_id): void
548609 */
549610 #[OA \Delete(
550611 path: "/api/v1/summits/{id}/registration-invitations/{invitation_id} " ,
612+ operationId: 'deleteRegistrationInvitation ' ,
551613 summary: "Delete a registration invitation " ,
552- security: [["Bearer " => []]],
553- tags: ["summit-registration-invitations " ],
614+ security: [['summit_registration_invitation_oauth2 ' => [
615+ SummitScopes::WriteSummitData,
616+ SummitScopes::WriteRegistrationInvitations,
617+ ]]],
618+ x: [
619+ 'authz_groups ' => [
620+ IGroup::SuperAdmins,
621+ IGroup::Administrators,
622+ IGroup::SummitAdministrators,
623+ IGroup::SummitRegistrationAdmins,
624+ ]
625+ ],
626+ tags: ["Summit Registration Invitations " ],
554627 parameters: [
555628 new OA \Parameter (
556629 name: 'id ' ,
@@ -606,9 +679,21 @@ function getAddValidationRules(array $payload): array
606679 */
607680 #[OA \Post(
608681 path: "/api/v1/summits/{id}/registration-invitations " ,
682+ operationId: 'addRegistrationInvitation ' ,
609683 summary: "Create a registration invitation " ,
610- security: [["Bearer " => []]],
611- tags: ["summit-registration-invitations " ],
684+ security: [['summit_registration_invitation_oauth2 ' => [
685+ SummitScopes::WriteSummitData,
686+ SummitScopes::WriteRegistrationInvitations,
687+ ]]],
688+ x: [
689+ 'authz_groups ' => [
690+ IGroup::SuperAdmins,
691+ IGroup::Administrators,
692+ IGroup::SummitAdministrators,
693+ IGroup::SummitRegistrationAdmins,
694+ ]
695+ ],
696+ tags: ["Summit Registration Invitations " ],
612697 parameters: [
613698 new OA \Parameter (
614699 name: 'id ' ,
@@ -671,9 +756,21 @@ protected function updateChild(Summit $summit, int $child_id, array $payload): I
671756 */
672757 #[OA \Put(
673758 path: "/api/v1/summits/{id}/registration-invitations/{invitation_id} " ,
759+ operationId: 'updateRegistrationInvitation ' ,
674760 summary: "Update a registration invitation " ,
675- security: [["Bearer " => []]],
676- tags: ["summit-registration-invitations " ],
761+ security: [['summit_registration_invitation_oauth2 ' => [
762+ SummitScopes::WriteSummitData,
763+ SummitScopes::WriteRegistrationInvitations,
764+ ]]],
765+ x: [
766+ 'authz_groups ' => [
767+ IGroup::SuperAdmins,
768+ IGroup::Administrators,
769+ IGroup::SummitAdministrators,
770+ IGroup::SummitRegistrationAdmins,
771+ ]
772+ ],
773+ tags: ["Summit Registration Invitations " ],
677774 parameters: [
678775 new OA \Parameter (
679776 name: 'id ' ,
@@ -721,9 +818,21 @@ public function update($summit_id, $invitation_id)
721818 */
722819 #[OA \Delete(
723820 path: "/api/v1/summits/{id}/registration-invitations/all " ,
821+ operationId: 'deleteAllRegistrationInvitations ' ,
724822 summary: "Delete all registration invitations for a summit " ,
725- security: [["Bearer " => []]],
726- tags: ["summit-registration-invitations " ],
823+ security: [['summit_registration_invitation_oauth2 ' => [
824+ SummitScopes::WriteSummitData,
825+ SummitScopes::WriteRegistrationInvitations,
826+ ]]],
827+ x: [
828+ 'authz_groups ' => [
829+ IGroup::SuperAdmins,
830+ IGroup::Administrators,
831+ IGroup::SummitAdministrators,
832+ IGroup::SummitRegistrationAdmins,
833+ ]
834+ ],
835+ tags: ["Summit Registration Invitations " ],
727836 parameters: [
728837 new OA \Parameter (
729838 name: 'id ' ,
@@ -759,9 +868,21 @@ public function deleteAll($summit_id)
759868 */
760869 #[OA \Put(
761870 path: "/api/v1/summits/{id}/registration-invitations/all/send " ,
871+ operationId: 'sendRegistrationInvitations ' ,
762872 summary: "Send registration invitation emails " ,
763- security: [["Bearer " => []]],
764- tags: ["summit-registration-invitations " ],
873+ security: [['summit_registration_invitation_oauth2 ' => [
874+ SummitScopes::WriteSummitData,
875+ SummitScopes::WriteRegistrationInvitations,
876+ ]]],
877+ x: [
878+ 'authz_groups ' => [
879+ IGroup::SuperAdmins,
880+ IGroup::Administrators,
881+ IGroup::SummitAdministrators,
882+ IGroup::SummitRegistrationAdmins,
883+ ]
884+ ],
885+ tags: ["Summit Registration Invitations " ],
765886 parameters: [
766887 new OA \Parameter (
767888 name: 'id ' ,
@@ -877,9 +998,12 @@ public function send($summit_id)
877998 */
878999 #[OA \Get(
8791000 path: "/api/v1/summits/{id}/registration-invitations/me " ,
1001+ operationId: 'getMyRegistrationInvitation ' ,
8801002 summary: "Get my registration invitation for the current user " ,
881- security: [["Bearer " => []]],
882- tags: ["summit-registration-invitations " ],
1003+ security: [['summit_registration_invitation_oauth2 ' => [
1004+ SummitScopes::ReadMyRegistrationInvitations,
1005+ ]]],
1006+ tags: ["Summit Registration Invitations " ],
8831007 parameters: [
8841008 new OA \Parameter (
8851009 name: 'id ' ,
@@ -933,8 +1057,9 @@ function getMyInvitation($summit_id)
9331057 */
9341058 #[OA \Get(
9351059 path: "/api/public/v1/summits/{id}/registration-invitations/{token} " ,
1060+ operationId: 'getInvitationBySummitAndToken ' ,
9361061 summary: "Get a registration invitation by summit and token (public endpoint) " ,
937- tags: ["summit-registration-invitations " ],
1062+ tags: ["Summit Registration Invitations (Public) " ],
9381063 parameters: [
9391064 new OA \Parameter (
9401065 name: 'id ' ,
@@ -985,8 +1110,9 @@ function getInvitationBySummitAndToken($summit_id, $token)
9851110 */
9861111 #[OA \Delete(
9871112 path: "/api/public/v1/summits/{id}/registration-invitations/{token}/reject " ,
1113+ operationId: 'rejectInvitationBySummitAndToken ' ,
9881114 summary: "Reject a registration invitation by summit and token (public endpoint) " ,
989- tags: ["summit-registration-invitations " ],
1115+ tags: ["Summit Registration Invitations (Public) " ],
9901116 parameters: [
9911117 new OA \Parameter (
9921118 name: 'id ' ,
0 commit comments