Skip to content

Commit 8cbd0f8

Browse files
committed
chore: Add the correct security and x attributes and create security schema, fix path routes and change schema to be defined as requested
1 parent 724ed46 commit 8cbd0f8

File tree

3 files changed

+65
-16
lines changed

3 files changed

+65
-16
lines changed

app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersAssistanceApiController.php

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
**/
1717
use App\Http\Utils\BooleanCellFormatter;
1818
use App\Http\Utils\EpochCellFormatter;
19+
use App\Models\Foundation\Main\IGroup;
1920
use App\Models\Foundation\Summit\Repositories\IPresentationSpeakerSummitAssistanceConfirmationRequestRepository;
21+
use App\Security\SummitScopes;
2022
use Illuminate\Http\Response;
2123
use Illuminate\Support\Facades\Log;
2224
use Illuminate\Support\Facades\Request;
@@ -83,9 +85,13 @@ public function __construct
8385
*/
8486
#[OA\Get(
8587
path: "/api/v1/summits/{id}/speakers-assistances",
88+
operationId: 'getBySummit',
8689
summary: "Get all speaker assistances for a summit",
87-
security: [["Bearer" => []]],
88-
tags: ["summit-speakers-assistances"],
90+
security: [["summit_speaker_assistances_oauth2" => [SummitScopes::ReadAllSummitData]]],
91+
tags: ["Summit Speakers Assistances"],
92+
x: [
93+
"authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators]
94+
],
8995
parameters: [
9096
new OA\Parameter(
9197
name: "id",
@@ -227,9 +233,13 @@ public function getBySummit($summit_id)
227233
*/
228234
#[OA\Get(
229235
path: "/api/v1/summits/{id}/speakers-assistances/csv",
236+
operationId: 'getBySummitCSV',
230237
summary: "Export speaker assistances to CSV",
231-
security: [["Bearer" => []]],
232-
tags: ["summit-speakers-assistances"],
238+
security: [["summit_speaker_assistances_oauth2" => [SummitScopes::ReadAllSummitData]]],
239+
tags: ["Summit Speakers Assistances"],
240+
x: [
241+
"authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators]
242+
],
233243
parameters: [
234244
new OA\Parameter(
235245
name: "id",
@@ -340,9 +350,13 @@ public function getBySummitCSV($summit_id){
340350
*/
341351
#[OA\Post(
342352
path: "/api/v1/summits/{id}/speakers-assistances",
353+
operationId: 'addSpeakerSummitAssistance',
343354
summary: "Create a speaker assistance confirmation request",
344-
security: [["Bearer" => []]],
345-
tags: ["summit-speakers-assistances"],
355+
security: [["summit_speaker_assistances_oauth2" => [SummitScopes::WriteSummitSpeakerAssistanceData, SummitScopes::WriteSummitData]]],
356+
tags: ["Summit Speakers Assistances"],
357+
x: [
358+
"authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators]
359+
],
346360
parameters: [
347361
new OA\Parameter(
348362
name: "id",
@@ -427,9 +441,13 @@ public function addSpeakerSummitAssistance($summit_id)
427441
*/
428442
#[OA\Put(
429443
path: "/api/v1/summits/{id}/speakers-assistances/{assistance_id}",
444+
operationId: 'updateSpeakerSummitAssistance',
430445
summary: "Update a speaker assistance confirmation request",
431-
security: [["Bearer" => []]],
432-
tags: ["summit-speakers-assistances"],
446+
security: [["summit_speaker_assistances_oauth2" => [SummitScopes::WriteSummitSpeakerAssistanceData, SummitScopes::WriteSummitData]]],
447+
tags: ["Summit Speakers Assistances"],
448+
x: [
449+
"authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators]
450+
],
433451
parameters: [
434452
new OA\Parameter(
435453
name: "id",
@@ -521,9 +539,13 @@ public function updateSpeakerSummitAssistance($summit_id, $assistance_id)
521539
*/
522540
#[OA\Delete(
523541
path: "/api/v1/summits/{id}/speakers-assistances/{assistance_id}",
542+
operationId: 'deleteSpeakerSummitAssistance',
524543
summary: "Delete a speaker assistance confirmation request",
525-
security: [["Bearer" => []]],
526-
tags: ["summit-speakers-assistances"],
544+
security: [["summit_speaker_assistances_oauth2" => [SummitScopes::WriteSummitSpeakerAssistanceData, SummitScopes::WriteSummitData]]],
545+
tags: ["Summit Speakers Assistances"],
546+
x: [
547+
"authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators]
548+
],
527549
parameters: [
528550
new OA\Parameter(
529551
name: "id",
@@ -579,9 +601,13 @@ public function deleteSpeakerSummitAssistance($summit_id, $assistance_id)
579601
*/
580602
#[OA\Get(
581603
path: "/api/v1/summits/{id}/speakers-assistances/{assistance_id}",
604+
operationId: 'getSpeakerSummitAssistanceBySummit',
582605
summary: "Get a speaker assistance confirmation request by id",
583-
security: [["Bearer" => []]],
584-
tags: ["summit-speakers-assistances"],
606+
security: [["summit_speaker_assistances_oauth2" => [SummitScopes::ReadAllSummitData]]],
607+
tags: ["Summit Speakers Assistances"],
608+
x: [
609+
"authz_groups" => [IGroup::SuperAdmins, IGroup::Administrators, IGroup::SummitAdministrators]
610+
],
585611
parameters: [
586612
new OA\Parameter(
587613
name: "id",
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
namespace App\Swagger\schemas;
4+
5+
use App\Security\SummitScopes;
6+
use OpenApi\Attributes as OA;
7+
8+
9+
#[OA\SecurityScheme(
10+
type: 'oauth2',
11+
securityScheme: 'summit_speaker_assistances_oauth2',
12+
flows: [
13+
new OA\Flow(
14+
authorizationUrl: L5_SWAGGER_CONST_AUTH_URL,
15+
tokenUrl: L5_SWAGGER_CONST_TOKEN_URL,
16+
flow: 'authorizationCode',
17+
scopes: [
18+
SummitScopes::ReadAllSummitData => 'Read All Summit Data',
19+
SummitScopes::WriteSummitSpeakerAssistanceData => 'Write Summit Speaker Assistance Data',
20+
SummitScopes::WriteSummitData => 'Write Summit Data',
21+
],
22+
),
23+
],
24+
)
25+
]
26+
class SpeakerAssistancesAuthSchema{}

app/Swagger/SummitPresentationSchemas.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,8 @@
2020
new OA\Property(property: "summit_id", type: "integer"),
2121
new OA\Property(property: "speaker_email", type: "string"),
2222
new OA\Property(property: "speaker_full_name", type: "string"),
23+
new OA\Property(property: "speaker_id", type: "integer", description: "PresentationSpeaker Id, full object available in 'speaker' expand (speaker field)"),
2324
new OA\Property(property: "confirmation_date", type: "integer", nullable: true),
24-
],
25-
anyOf:[
26-
new OA\Property(property: "speaker_id", type: "integer"),
27-
new OA\Property(property: "speaker", type: "PresentationSpeaker"),
2825
]
2926
)]
3027
class PresentationSpeakerSummitAssistanceConfirmationRequest

0 commit comments

Comments
 (0)