Skip to content

Commit 9d1eb76

Browse files
committed
feat: Add OpenAPI documentation for OAuth2 security scheme
1 parent 25f5c0e commit 9d1eb76

File tree

2 files changed

+54
-47
lines changed

2 files changed

+54
-47
lines changed

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

Lines changed: 26 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -45,27 +45,6 @@
4545
use utils\PagingInfo;
4646
use OpenApi\Attributes as OA;
4747

48-
#[
49-
OA\Info(version: "1.0.0", description: "Summit API", title: "Summit API Documentation"),
50-
OA\Server(url: L5_SWAGGER_CONST_HOST, description: "server"),
51-
OA\SecurityScheme(
52-
type: 'oauth2',
53-
securityScheme: 'summit_badges_oauth2',
54-
flows: [
55-
new OA\Flow(
56-
authorizationUrl: L5_SWAGGER_CONST_AUTH_URL,
57-
tokenUrl: L5_SWAGGER_CONST_TOKEN_URL,
58-
flow: 'authorizationCode',
59-
scopes: [
60-
SummitScopes::ReadSummitData => 'Read Summit Data',
61-
SummitScopes::ReadAllSummitData => 'Read All Summit Data',
62-
SummitScopes::WriteSummitData => 'Write Summit Data',
63-
SummitScopes::ReadBadgeScanValidate => 'Validate Badge Scan',
64-
],
65-
),
66-
],
67-
)
68-
]
6948
final class OAuth2SummitApiController extends OAuth2ProtectedController
7049
{
7150

@@ -176,7 +155,7 @@ public function __construct
176155
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"),
177156
new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"),
178157
],
179-
security: [["summit_badges_oauth2" => [
158+
security: [["summit_oauth2" => [
180159
SummitScopes::ReadSummitData,
181160
SummitScopes::ReadAllSummitData
182161
]]]
@@ -348,7 +327,7 @@ function () {
348327
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"),
349328
new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"),
350329
],
351-
security: [["summit_badges_oauth2" => [
330+
security: [["summit_oauth2" => [
352331
SummitScopes::ReadAllSummitData
353332
]]]
354333
),
@@ -535,7 +514,7 @@ function () {
535514
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"),
536515
new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"),
537516
],
538-
security: [["summit_badges_oauth2" => [
517+
security: [["summit_oauth2" => [
539518
SummitScopes::ReadSummitData,
540519
SummitScopes::ReadAllSummitData
541520
]]]
@@ -665,7 +644,7 @@ public function getSummit($summit_id)
665644
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"),
666645
new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"),
667646
],
668-
security: [["summit_badges_oauth2" => [
647+
security: [["summit_oauth2" => [
669648
SummitScopes::ReadSummitData,
670649
SummitScopes::ReadAllSummitData
671650
]]]
@@ -790,7 +769,7 @@ public function getAllSummitByIdOrSlugPublic($id){
790769
IGroup::SummitRegistrationAdmins,
791770
]
792771
],
793-
security: [["summit_badges_oauth2" => [
772+
security: [["summit_oauth2" => [
794773
SummitScopes::ReadAllSummitData
795774
]]]
796775
)
@@ -935,7 +914,7 @@ public function getAllSummitByIdOrSlugRegistrationStats($id)
935914
IGroup::SummitRegistrationAdmins,
936915
]
937916
],
938-
security: [["summit_badges_oauth2" => [
917+
security: [["summit_oauth2" => [
939918
SummitScopes::ReadAllSummitData
940919
]]]
941920
)
@@ -1036,7 +1015,7 @@ function () {
10361015
IGroup::SummitRegistrationAdmins,
10371016
]
10381017
],
1039-
security: [["summit_badges_oauth2" => [
1018+
security: [["summit_oauth2" => [
10401019
SummitScopes::ReadAllSummitData
10411020
]]]
10421021
)
@@ -1108,7 +1087,7 @@ function () {
11081087
IGroup::Administrators,
11091088
]
11101089
],
1111-
security: [["summit_badges_oauth2" => [
1090+
security: [["summit_oauth2" => [
11121091
SummitScopes::WriteSummitData
11131092
]]]
11141093
)
@@ -1170,7 +1149,7 @@ public function addSummit()
11701149
IGroup::SummitAdministrators,
11711150
]
11721151
],
1173-
security: [["summit_badges_oauth2" => [
1152+
security: [["summit_oauth2" => [
11741153
SummitScopes::WriteSummitData
11751154
]]]
11761155
)
@@ -1227,7 +1206,7 @@ public function updateSummit($summit_id)
12271206
IGroup::Administrators,
12281207
]
12291208
],
1230-
security: [["summit_badges_oauth2" => [
1209+
security: [["summit_oauth2" => [
12311210
SummitScopes::WriteSummitData
12321211
]]]
12331212
)
@@ -1272,7 +1251,7 @@ public function deleteSummit($summit_id)
12721251
new OA\Response(response: Response::HTTP_NOT_FOUND, description: "Order not found"),
12731252
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"),
12741253
],
1275-
security: [["summit_badges_oauth2" => []]]
1254+
security: [["summit_oauth2" => []]]
12761255
)
12771256
]
12781257
public function getExternalOrder($summit_id, $external_order_id)
@@ -1323,7 +1302,7 @@ public function getExternalOrder($summit_id, $external_order_id)
13231302
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"),
13241303
new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"),
13251304
],
1326-
security: [["summit_badges_oauth2" => []]]
1305+
security: [["summit_oauth2" => []]]
13271306
)
13281307
]
13291308
public function confirmExternalOrderAttendee($summit_id, $external_order_id, $external_attendee_id)
@@ -1410,7 +1389,7 @@ protected function getSummitRepository(): ISummitRepository
14101389
IGroup::SummitAdministrators,
14111390
]
14121391
],
1413-
security: [["summit_badges_oauth2" => [
1392+
security: [["summit_oauth2" => [
14141393
SummitScopes::WriteSummitData
14151394
]]]
14161395
)
@@ -1475,7 +1454,7 @@ public function addSummitLogo(LaravelRequest $request, $summit_id)
14751454
IGroup::SummitAdministrators,
14761455
]
14771456
],
1478-
security: [["summit_badges_oauth2" => [
1457+
security: [["summit_oauth2" => [
14791458
SummitScopes::WriteSummitData
14801459
]]]
14811460
)
@@ -1541,7 +1520,7 @@ public function deleteSummitLogo($summit_id)
15411520
IGroup::SummitAdministrators,
15421521
]
15431522
],
1544-
security: [["summit_badges_oauth2" => [
1523+
security: [["summit_oauth2" => [
15451524
SummitScopes::WriteSummitData
15461525
]]]
15471526
)
@@ -1601,7 +1580,7 @@ public function addSummitSecondaryLogo(LaravelRequest $request, $summit_id)
16011580
IGroup::SummitAdministrators,
16021581
]
16031582
],
1604-
security: [["summit_badges_oauth2" => [
1583+
security: [["summit_oauth2" => [
16051584
SummitScopes::WriteSummitData
16061585
]]]
16071586
)
@@ -1657,7 +1636,7 @@ public function deleteSummitSecondaryLogo($summit_id)
16571636
IGroup::SummitAdministrators,
16581637
]
16591638
],
1660-
security: [["summit_badges_oauth2" => [
1639+
security: [["summit_oauth2" => [
16611640
SummitScopes::WriteSummitData
16621641
]]]
16631642
)
@@ -1721,7 +1700,7 @@ public function addFeatureSpeaker($summit_id, $speaker_id)
17211700
IGroup::SummitAdministrators,
17221701
]
17231702
],
1724-
security: [["summit_badges_oauth2" => [
1703+
security: [["summit_oauth2" => [
17251704
SummitScopes::WriteSummitData
17261705
]]]
17271706
)
@@ -1779,7 +1758,7 @@ public function updateFeatureSpeaker($summit_id, $speaker_id)
17791758
IGroup::SummitAdministrators,
17801759
]
17811760
],
1782-
security: [["summit_badges_oauth2" => [
1761+
security: [["summit_oauth2" => [
17831762
SummitScopes::WriteSummitData
17841763
]]]
17851764
)
@@ -1858,7 +1837,7 @@ public function removeFeatureSpeaker($summit_id, $speaker_id)
18581837
IGroup::SummitAdministrators,
18591838
]
18601839
],
1861-
security: [["summit_badges_oauth2" => [
1840+
security: [["summit_oauth2" => [
18621841
SummitScopes::ReadAllSummitData,
18631842
SummitScopes::ReadSummitData
18641843
]]]
@@ -1961,7 +1940,7 @@ function ($page, $per_page, $filter, $order, $applyExtraFilters) use ($summit) {
19611940
IGroup::Administrators,
19621941
]
19631942
],
1964-
security: [["summit_badges_oauth2" => [
1943+
security: [["summit_oauth2" => [
19651944
SummitScopes::WriteSummitData
19661945
]]]
19671946
)
@@ -2016,7 +1995,7 @@ public function generateQREncKey($summit_id)
20161995
IGroup::SponsorExternalUsers,
20171996
]
20181997
],
2019-
security: [["summit_badges_oauth2" => [
1998+
security: [["summit_oauth2" => [
20201999
SummitScopes::ReadSummitData,
20212000
SummitScopes::ReadAllSummitData
20222001
]]]
@@ -2067,7 +2046,7 @@ public function getLeadReportSettingsMetadata($summit_id)
20672046
IGroup::SponsorExternalUsers,
20682047
]
20692048
],
2070-
security: [["summit_badges_oauth2" => [
2049+
security: [["summit_oauth2" => [
20712050
SummitScopes::ReadSummitData,
20722051
SummitScopes::ReadAllSummitData
20732052
]]]
@@ -2127,7 +2106,7 @@ public function getLeadReportSettings($summit_id)
21272106
IGroup::SummitAdministrators,
21282107
]
21292108
],
2130-
security: [["summit_badges_oauth2" => [
2109+
security: [["summit_oauth2" => [
21312110
SummitScopes::WriteSummitData
21322111
]]]
21332112
)
@@ -2193,7 +2172,7 @@ public function addLeadReportSettings($summit_id)
21932172
IGroup::SummitAdministrators,
21942173
]
21952174
],
2196-
security: [["summit_badges_oauth2" => [
2175+
security: [["summit_oauth2" => [
21972176
SummitScopes::WriteSummitData
21982177
]]]
21992178
)
@@ -2236,7 +2215,7 @@ public function updateLeadReportSettings($summit_id)
22362215
IGroup::Administrators,
22372216
]
22382217
],
2239-
security: [['summit_badges_oauth2' => [
2218+
security: [['summit_oauth2' => [
22402219
SummitScopes::ReadBadgeScanValidate
22412220
]]],
22422221
parameters: [
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace App\Swagger\Schemas;
4+
5+
use OpenApi\Attributes as OA;
6+
use App\Security\SummitScopes;
7+
8+
#[OA\SecurityScheme(
9+
type: 'oauth2',
10+
securityScheme: 'summit_oauth2',
11+
flows: [
12+
new OA\Flow(
13+
authorizationUrl: L5_SWAGGER_CONST_AUTH_URL,
14+
tokenUrl: L5_SWAGGER_CONST_TOKEN_URL,
15+
flow: 'authorizationCode',
16+
scopes: [
17+
SummitScopes::ReadSummitData => 'Read Summit Data',
18+
SummitScopes::ReadAllSummitData => 'Read All Summit Data',
19+
SummitScopes::WriteSummitData => 'Write Summit Data',
20+
SummitScopes::ReadBadgeScanValidate => 'Validate Badge Scan',
21+
],
22+
),
23+
],
24+
)
25+
]
26+
class SummitAuthSchema
27+
{
28+
}

0 commit comments

Comments
 (0)