From 4768768dfb3d4898c1baefebd9bf0734299ced99 Mon Sep 17 00:00:00 2001 From: Matias Perrone Date: Wed, 15 Oct 2025 12:02:51 -0300 Subject: [PATCH 1/3] feat: Extend Swagger Coverage for controller `OAuth2SummitSpeakersAssistanceApiController` --- ...2SummitSpeakersAssistanceApiController.php | 253 +++++++++++++++++- app/Swagger/SummitPresentationSchemas.php | 80 ++++++ 2 files changed, 331 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersAssistanceApiController.php b/app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersAssistanceApiController.php index 70891f0e3..861e84454 100644 --- a/app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersAssistanceApiController.php +++ b/app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersAssistanceApiController.php @@ -1,4 +1,6 @@ - []]], + tags: ["summit-speakers-assistances"], + parameters: [ + new OA\Parameter( + name: "id", + in: "path", + required: true, + schema: new OA\Schema(type: "integer"), + description: "The summit id" + ), + new OA\Parameter( + name: "page", + in: "query", + required: false, + schema: new OA\Schema(type: "integer", default: 1), + description: "Page number" + ), + new OA\Parameter( + name: "per_page", + in: "query", + required: false, + schema: new OA\Schema(type: "integer", default: 10), + description: "Items per page" + ), + new OA\Parameter( + name: "filter", + in: "query", + description: "Filter query. Available operators: id==, on_site_phone==/=@, speaker_email==/=@, speaker==/=@, is_confirmed==, registered==, confirmation_date>/=/<= (epoch)", + schema: new OA\Schema(type: "string") + ), + new OA\Parameter( + name: "order", + in: "query", + description: "Order by field. Available fields: id, is_confirmed, confirmation_date, created, registered", + schema: new OA\Schema(type: "string") + ), + new OA\Parameter( + name: "expand", + in: "query", + description: "Comma-separated list of relations to expand. Available: speaker", + schema: new OA\Schema(type: "string") + ) + ], + responses: [ + new OA\Response( + response: 200, + description: "OK", + content: new OA\JsonContent(ref: "#/components/schemas/PaginatedPresentationSpeakerSummitAssistanceConfirmationRequestsResponse") + ), + new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"), + new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"), + new OA\Response(response: Response::HTTP_NOT_FOUND, description: "Not Found"), + new OA\Response(response: Response::HTTP_PRECONDITION_FAILED, description: "Validation Error"), + new OA\Response(response: Response::HTTP_INTERNAL_SERVER_ERROR, description: "Server Error") + ] + )] public function getBySummit($summit_id) { try { @@ -162,6 +225,45 @@ public function getBySummit($summit_id) * @param $summit_id * @return mixed */ + #[OA\Get( + path: "/api/v1/summits/{id}/speakers-assistances/csv", + summary: "Export speaker assistances to CSV", + security: [["Bearer" => []]], + tags: ["summit-speakers-assistances"], + parameters: [ + new OA\Parameter( + name: "id", + in: "path", + required: true, + schema: new OA\Schema(type: "integer"), + description: "The summit id" + ), + new OA\Parameter( + name: "filter", + in: "query", + description: "Filter query. Available operators: id==, on_site_phone==/=@, speaker_email==/=@, speaker==/=@, is_confirmed==, registered==, confirmation_date>/=/<= (epoch)", + schema: new OA\Schema(type: "string") + ), + new OA\Parameter( + name: "order", + in: "query", + description: "Order by field. Available fields: id, is_confirmed, confirmation_date, created, registered", + schema: new OA\Schema(type: "string") + ) + ], + responses: [ + new OA\Response( + response: 200, + description: "OK", + content: new OA\MediaType(mediaType: "text/csv", schema: new OA\Schema(type: "string")) + ), + new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"), + new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"), + new OA\Response(response: Response::HTTP_NOT_FOUND, description: "Not Found"), + new OA\Response(response: Response::HTTP_PRECONDITION_FAILED, description: "Validation Error"), + new OA\Response(response: Response::HTTP_INTERNAL_SERVER_ERROR, description: "Server Error") + ] + )] public function getBySummitCSV($summit_id){ try { $summit = SummitFinderStrategyFactory::build($this->summit_repository, $this->resource_server_context)->find($summit_id); @@ -236,6 +338,41 @@ public function getBySummitCSV($summit_id){ * @param $summit_id * @return mixed */ + #[OA\Post( + path: "/api/v1/summits/{id}/speakers-assistances", + summary: "Create a speaker assistance confirmation request", + security: [["Bearer" => []]], + tags: ["summit-speakers-assistances"], + parameters: [ + new OA\Parameter( + name: "id", + in: "path", + required: true, + schema: new OA\Schema(type: "integer"), + description: "The summit id" + ) + ], + requestBody: new OA\RequestBody( + required: true, + content: new OA\MediaType( + mediaType: "application/json", + schema: new OA\Schema(ref: "#/components/schemas/PresentationSpeakerSummitAssistanceConfirmationRequestCreateRequest") + ) + ), + responses: [ + new OA\Response( + response: 201, + description: "Created", + content: new OA\JsonContent(ref: "#/components/schemas/PresentationSpeakerSummitAssistanceConfirmationRequest") + ), + new OA\Response(response: Response::HTTP_BAD_REQUEST, description: "Bad Request"), + new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"), + new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"), + new OA\Response(response: Response::HTTP_NOT_FOUND, description: "Not Found"), + new OA\Response(response: Response::HTTP_PRECONDITION_FAILED, description: "Validation Error"), + new OA\Response(response: Response::HTTP_INTERNAL_SERVER_ERROR, description: "Server Error") + ] + )] public function addSpeakerSummitAssistance($summit_id) { try { @@ -288,6 +425,48 @@ public function addSpeakerSummitAssistance($summit_id) * @param $assistance_id * @return mixed */ + #[OA\Put( + path: "/api/v1/summits/{id}/speakers-assistances/{assistance_id}", + summary: "Update a speaker assistance confirmation request", + security: [["Bearer" => []]], + tags: ["summit-speakers-assistances"], + parameters: [ + new OA\Parameter( + name: "id", + in: "path", + required: true, + schema: new OA\Schema(type: "integer"), + description: "The summit id" + ), + new OA\Parameter( + name: "assistance_id", + in: "path", + required: true, + schema: new OA\Schema(type: "integer"), + description: "The assistance id" + ) + ], + requestBody: new OA\RequestBody( + required: true, + content: new OA\MediaType( + mediaType: "application/json", + schema: new OA\Schema(ref: "#/components/schemas/PresentationSpeakerSummitAssistanceConfirmationRequestUpdateRequest") + ) + ), + responses: [ + new OA\Response( + response: 200, + description: "OK", + content: new OA\JsonContent(ref: "#/components/schemas/PresentationSpeakerSummitAssistanceConfirmationRequest") + ), + new OA\Response(response: Response::HTTP_BAD_REQUEST, description: "Bad Request"), + new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"), + new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"), + new OA\Response(response: Response::HTTP_NOT_FOUND, description: "Not Found"), + new OA\Response(response: Response::HTTP_PRECONDITION_FAILED, description: "Validation Error"), + new OA\Response(response: Response::HTTP_INTERNAL_SERVER_ERROR, description: "Server Error") + ] + )] public function updateSpeakerSummitAssistance($summit_id, $assistance_id) { try { @@ -340,6 +519,36 @@ public function updateSpeakerSummitAssistance($summit_id, $assistance_id) * @param $assistance_id * @return mixed */ + #[OA\Delete( + path: "/api/v1/summits/{id}/speakers-assistances/{assistance_id}", + summary: "Delete a speaker assistance confirmation request", + security: [["Bearer" => []]], + tags: ["summit-speakers-assistances"], + parameters: [ + new OA\Parameter( + name: "id", + in: "path", + required: true, + schema: new OA\Schema(type: "integer"), + description: "The summit id" + ), + new OA\Parameter( + name: "assistance_id", + in: "path", + required: true, + schema: new OA\Schema(type: "integer"), + description: "The assistance id" + ) + ], + responses: [ + new OA\Response(response: 204, description: "No Content"), + new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"), + new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"), + new OA\Response(response: Response::HTTP_NOT_FOUND, description: "Not Found"), + new OA\Response(response: Response::HTTP_PRECONDITION_FAILED, description: "Validation Error"), + new OA\Response(response: Response::HTTP_INTERNAL_SERVER_ERROR, description: "Server Error") + ] + )] public function deleteSpeakerSummitAssistance($summit_id, $assistance_id) { try { @@ -368,6 +577,46 @@ public function deleteSpeakerSummitAssistance($summit_id, $assistance_id) * @param $assistance_id * @return mixed */ + #[OA\Get( + path: "/api/v1/summits/{id}/speakers-assistances/{assistance_id}", + summary: "Get a speaker assistance confirmation request by id", + security: [["Bearer" => []]], + tags: ["summit-speakers-assistances"], + parameters: [ + new OA\Parameter( + name: "id", + in: "path", + required: true, + schema: new OA\Schema(type: "integer"), + description: "The summit id" + ), + new OA\Parameter( + name: "assistance_id", + in: "path", + required: true, + schema: new OA\Schema(type: "integer"), + description: "The assistance id" + ), + new OA\Parameter( + name: "expand", + in: "query", + description: "Comma-separated list of relations to expand. Available: speaker", + schema: new OA\Schema(type: "string") + ) + ], + responses: [ + new OA\Response( + response: 200, + description: "OK", + content: new OA\JsonContent(ref: "#/components/schemas/PresentationSpeakerSummitAssistanceConfirmationRequest") + ), + new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"), + new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"), + new OA\Response(response: Response::HTTP_NOT_FOUND, description: "Not Found"), + new OA\Response(response: Response::HTTP_PRECONDITION_FAILED, description: "Validation Error"), + new OA\Response(response: Response::HTTP_INTERNAL_SERVER_ERROR, description: "Server Error") + ] + )] public function getSpeakerSummitAssistanceBySummit($summit_id, $assistance_id) { try { @@ -398,4 +647,4 @@ public function getSpeakerSummitAssistanceBySummit($summit_id, $assistance_id) } } -} \ No newline at end of file +} diff --git a/app/Swagger/SummitPresentationSchemas.php b/app/Swagger/SummitPresentationSchemas.php index 8f8a3cf2c..079bff81b 100644 --- a/app/Swagger/SummitPresentationSchemas.php +++ b/app/Swagger/SummitPresentationSchemas.php @@ -81,3 +81,83 @@ class PresentationTrackChairRatingTypeCreateRequestSchema {} class PresentationTrackChairRatingTypeUpdateRequestSchema {} // + + +// Summit Speaker Assistance Schemas + +#[OA\Schema( + schema: "PresentationSpeakerSummitAssistanceConfirmationRequest", + type: "object", + properties: [ + new OA\Property(property: "id", type: "integer", example: 1), + new OA\Property(property: "created", type: "integer", description: "Unix timestamp", example: 1640995200), + new OA\Property(property: "last_edited", type: "integer", description: "Unix timestamp", example: 1640995200), + new OA\Property(property: "on_site_phone", type: "string", nullable: true), + new OA\Property(property: "registered", type: "boolean"), + new OA\Property(property: "is_confirmed", type: "boolean"), + new OA\Property(property: "checked_in", type: "boolean"), + new OA\Property(property: "summit_id", type: "integer"), + new OA\Property(property: "speaker_email", type: "string"), + new OA\Property(property: "speaker_full_name", type: "string"), + new OA\Property(property: "confirmation_date", type: "integer", nullable: true), + ], + anyOf:[ + new OA\Property(property: "speaker_id", type: "integer"), + new OA\Property(property: "speaker", type: "PresentationSpeaker"), + ] +)] +class PresentationSpeakerSummitAssistanceConfirmationRequest +{ +} + +#[OA\Schema( + schema: "PaginatedPresentationSpeakerSummitAssistanceConfirmationRequestsResponse", + allOf: [ + new OA\Schema(ref: "#/components/schemas/PaginateDataSchemaResponse"), + new OA\Schema( + properties: [ + new OA\Property( + property: "data", + type: "array", + items: new OA\Items(ref: "#/components/schemas/PresentationSpeakerSummitAssistanceConfirmationRequest") + ) + ] + ) + ] +)] +class PaginatedPresentationSpeakerSummitAssistanceConfirmationRequestsResponse +{ +} + +#[OA\Schema( + schema: "PresentationSpeakerSummitAssistanceConfirmationRequestCreateRequest", + type: "object", + required: ["speaker_id"], + properties: [ + new OA\Property(property: "speaker_id", type: "integer"), + new OA\Property(property: "on_site_phone", type: "string", maxLength: 50), + new OA\Property(property: "registered", type: "boolean"), + new OA\Property(property: "is_confirmed", type: "boolean"), + new OA\Property(property: "checked_in", type: "boolean") + ] +)] +class PresentationSpeakerSummitAssistanceConfirmationRequestCreateRequest +{ +} + +#[OA\Schema( + schema: "PresentationSpeakerSummitAssistanceConfirmationRequestUpdateRequest", + type: "object", + properties: [ + new OA\Property(property: "on_site_phone", type: "string", maxLength: 50), + new OA\Property(property: "registered", type: "boolean"), + new OA\Property(property: "is_confirmed", type: "boolean"), + new OA\Property(property: "checked_in", type: "boolean") + ] +)] +class PresentationSpeakerSummitAssistanceConfirmationRequestUpdateRequest +{ +} + +// + From e7f63b8dde45a48ea9f90c42db55f25d666b8b72 Mon Sep 17 00:00:00 2001 From: Matias Perrone Date: Wed, 26 Nov 2025 21:35:21 +0000 Subject: [PATCH 2/3] chore: Add the correct security and x attributes and create security schema, fix path routes and change schema to be defined as requested --- ...2SummitSpeakersAssistanceApiController.php | 50 ++++++++++++++----- .../Security/SpeakerAssistancesAuthSchema.php | 26 ++++++++++ app/Swagger/SummitPresentationSchemas.php | 5 +- 3 files changed, 65 insertions(+), 16 deletions(-) create mode 100644 app/Swagger/Security/SpeakerAssistancesAuthSchema.php diff --git a/app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersAssistanceApiController.php b/app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersAssistanceApiController.php index 861e84454..f55bc105e 100644 --- a/app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersAssistanceApiController.php +++ b/app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersAssistanceApiController.php @@ -16,7 +16,9 @@ **/ use App\Http\Utils\BooleanCellFormatter; use App\Http\Utils\EpochCellFormatter; +use App\Models\Foundation\Main\IGroup; use App\Models\Foundation\Summit\Repositories\IPresentationSpeakerSummitAssistanceConfirmationRequestRepository; +use App\Security\SummitScopes; use Illuminate\Http\Response; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Request; @@ -83,9 +85,13 @@ public function __construct */ #[OA\Get( path: "/api/v1/summits/{id}/speakers-assistances", + operationId: 'getBySummit', summary: "Get all speaker assistances for a summit", - security: [["Bearer" => []]], - tags: ["summit-speakers-assistances"], + security: [["summit_speaker_assistances_oauth2" => [SummitScopes::ReadAllSummitData]]], + tags: ["Summit Speakers Assistances"], + x: [ + "authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] + ], parameters: [ new OA\Parameter( name: "id", @@ -227,9 +233,13 @@ public function getBySummit($summit_id) */ #[OA\Get( path: "/api/v1/summits/{id}/speakers-assistances/csv", + operationId: 'getBySummitCSV', summary: "Export speaker assistances to CSV", - security: [["Bearer" => []]], - tags: ["summit-speakers-assistances"], + security: [["summit_speaker_assistances_oauth2" => [SummitScopes::ReadAllSummitData]]], + tags: ["Summit Speakers Assistances"], + x: [ + "authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] + ], parameters: [ new OA\Parameter( name: "id", @@ -340,9 +350,13 @@ public function getBySummitCSV($summit_id){ */ #[OA\Post( path: "/api/v1/summits/{id}/speakers-assistances", + operationId: 'addSpeakerSummitAssistance', summary: "Create a speaker assistance confirmation request", - security: [["Bearer" => []]], - tags: ["summit-speakers-assistances"], + security: [["summit_speaker_assistances_oauth2" => [SummitScopes::WriteSummitSpeakerAssistanceData, SummitScopes::WriteSummitData]]], + tags: ["Summit Speakers Assistances"], + x: [ + "authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] + ], parameters: [ new OA\Parameter( name: "id", @@ -427,9 +441,13 @@ public function addSpeakerSummitAssistance($summit_id) */ #[OA\Put( path: "/api/v1/summits/{id}/speakers-assistances/{assistance_id}", + operationId: 'updateSpeakerSummitAssistance', summary: "Update a speaker assistance confirmation request", - security: [["Bearer" => []]], - tags: ["summit-speakers-assistances"], + security: [["summit_speaker_assistances_oauth2" => [SummitScopes::WriteSummitSpeakerAssistanceData, SummitScopes::WriteSummitData]]], + tags: ["Summit Speakers Assistances"], + x: [ + "authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] + ], parameters: [ new OA\Parameter( name: "id", @@ -521,9 +539,13 @@ public function updateSpeakerSummitAssistance($summit_id, $assistance_id) */ #[OA\Delete( path: "/api/v1/summits/{id}/speakers-assistances/{assistance_id}", + operationId: 'deleteSpeakerSummitAssistance', summary: "Delete a speaker assistance confirmation request", - security: [["Bearer" => []]], - tags: ["summit-speakers-assistances"], + security: [["summit_speaker_assistances_oauth2" => [SummitScopes::WriteSummitSpeakerAssistanceData, SummitScopes::WriteSummitData]]], + tags: ["Summit Speakers Assistances"], + x: [ + "authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] + ], parameters: [ new OA\Parameter( name: "id", @@ -579,9 +601,13 @@ public function deleteSpeakerSummitAssistance($summit_id, $assistance_id) */ #[OA\Get( path: "/api/v1/summits/{id}/speakers-assistances/{assistance_id}", + operationId: 'getSpeakerSummitAssistanceBySummit', summary: "Get a speaker assistance confirmation request by id", - security: [["Bearer" => []]], - tags: ["summit-speakers-assistances"], + security: [["summit_speaker_assistances_oauth2" => [SummitScopes::ReadAllSummitData]]], + tags: ["Summit Speakers Assistances"], + x: [ + "authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] + ], parameters: [ new OA\Parameter( name: "id", diff --git a/app/Swagger/Security/SpeakerAssistancesAuthSchema.php b/app/Swagger/Security/SpeakerAssistancesAuthSchema.php new file mode 100644 index 000000000..f063dba24 --- /dev/null +++ b/app/Swagger/Security/SpeakerAssistancesAuthSchema.php @@ -0,0 +1,26 @@ + 'Read All Summit Data', + SummitScopes::WriteSummitSpeakerAssistanceData => 'Write Summit Speaker Assistance Data', + SummitScopes::WriteSummitData => 'Write Summit Data', + ], + ), + ], + ) +] +class SpeakerAssistancesAuthSchema{} diff --git a/app/Swagger/SummitPresentationSchemas.php b/app/Swagger/SummitPresentationSchemas.php index 079bff81b..a9ec2439a 100644 --- a/app/Swagger/SummitPresentationSchemas.php +++ b/app/Swagger/SummitPresentationSchemas.php @@ -99,11 +99,8 @@ class PresentationTrackChairRatingTypeUpdateRequestSchema {} new OA\Property(property: "summit_id", type: "integer"), new OA\Property(property: "speaker_email", type: "string"), new OA\Property(property: "speaker_full_name", type: "string"), + new OA\Property(property: "speaker_id", type: "integer", description: "PresentationSpeaker Id, full object available in 'speaker' expand (speaker field)"), new OA\Property(property: "confirmation_date", type: "integer", nullable: true), - ], - anyOf:[ - new OA\Property(property: "speaker_id", type: "integer"), - new OA\Property(property: "speaker", type: "PresentationSpeaker"), ] )] class PresentationSpeakerSummitAssistanceConfirmationRequest From d00f84da55a43ed9463ec55cb757dff170d4a374 Mon Sep 17 00:00:00 2001 From: Matias Perrone Date: Wed, 3 Dec 2025 20:37:14 +0000 Subject: [PATCH 3/3] feat: Add changes requested --- .../OAuth2SummitSpeakersAssistanceApiController.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersAssistanceApiController.php b/app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersAssistanceApiController.php index f55bc105e..146ea38ff 100644 --- a/app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersAssistanceApiController.php +++ b/app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersAssistanceApiController.php @@ -90,7 +90,7 @@ public function __construct security: [["summit_speaker_assistances_oauth2" => [SummitScopes::ReadAllSummitData]]], tags: ["Summit Speakers Assistances"], x: [ - "authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] + "required-groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] ], parameters: [ new OA\Parameter( @@ -238,7 +238,7 @@ public function getBySummit($summit_id) security: [["summit_speaker_assistances_oauth2" => [SummitScopes::ReadAllSummitData]]], tags: ["Summit Speakers Assistances"], x: [ - "authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] + "required-groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] ], parameters: [ new OA\Parameter( @@ -355,7 +355,7 @@ public function getBySummitCSV($summit_id){ security: [["summit_speaker_assistances_oauth2" => [SummitScopes::WriteSummitSpeakerAssistanceData, SummitScopes::WriteSummitData]]], tags: ["Summit Speakers Assistances"], x: [ - "authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] + "required-groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] ], parameters: [ new OA\Parameter( @@ -446,7 +446,7 @@ public function addSpeakerSummitAssistance($summit_id) security: [["summit_speaker_assistances_oauth2" => [SummitScopes::WriteSummitSpeakerAssistanceData, SummitScopes::WriteSummitData]]], tags: ["Summit Speakers Assistances"], x: [ - "authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] + "required-groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] ], parameters: [ new OA\Parameter( @@ -544,7 +544,7 @@ public function updateSpeakerSummitAssistance($summit_id, $assistance_id) security: [["summit_speaker_assistances_oauth2" => [SummitScopes::WriteSummitSpeakerAssistanceData, SummitScopes::WriteSummitData]]], tags: ["Summit Speakers Assistances"], x: [ - "authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] + "required-groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] ], parameters: [ new OA\Parameter( @@ -606,7 +606,7 @@ public function deleteSpeakerSummitAssistance($summit_id, $assistance_id) security: [["summit_speaker_assistances_oauth2" => [SummitScopes::ReadAllSummitData]]], tags: ["Summit Speakers Assistances"], x: [ - "authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] + "required-groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators] ], parameters: [ new OA\Parameter(