Skip to content

Commit 742665f

Browse files
committed
feat: Add OpenAPI documentation for OAuth2 security scheme
1 parent 0ba6843 commit 742665f

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
@@ -43,27 +43,6 @@
4343
use utils\PagingInfo;
4444
use OpenApi\Attributes as OA;
4545

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

@@ -174,7 +153,7 @@ public function __construct
174153
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"),
175154
new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"),
176155
],
177-
security: [["summit_badges_oauth2" => [
156+
security: [["summit_oauth2" => [
178157
SummitScopes::ReadSummitData,
179158
SummitScopes::ReadAllSummitData
180159
]]]
@@ -346,7 +325,7 @@ function () {
346325
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"),
347326
new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"),
348327
],
349-
security: [["summit_badges_oauth2" => [
328+
security: [["summit_oauth2" => [
350329
SummitScopes::ReadAllSummitData
351330
]]]
352331
),
@@ -533,7 +512,7 @@ function () {
533512
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"),
534513
new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"),
535514
],
536-
security: [["summit_badges_oauth2" => [
515+
security: [["summit_oauth2" => [
537516
SummitScopes::ReadSummitData,
538517
SummitScopes::ReadAllSummitData
539518
]]]
@@ -663,7 +642,7 @@ public function getSummit($summit_id)
663642
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"),
664643
new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"),
665644
],
666-
security: [["summit_badges_oauth2" => [
645+
security: [["summit_oauth2" => [
667646
SummitScopes::ReadSummitData,
668647
SummitScopes::ReadAllSummitData
669648
]]]
@@ -759,7 +738,7 @@ public function getAllCurrentSummit()
759738
IGroup::SummitRegistrationAdmins,
760739
]
761740
],
762-
security: [["summit_badges_oauth2" => [
741+
security: [["summit_oauth2" => [
763742
SummitScopes::ReadAllSummitData
764743
]]]
765744
)
@@ -866,7 +845,7 @@ public function getAllSummitByIdOrSlugRegistrationStats($id)
866845
IGroup::SummitRegistrationAdmins,
867846
]
868847
],
869-
security: [["summit_badges_oauth2" => [
848+
security: [["summit_oauth2" => [
870849
SummitScopes::ReadAllSummitData
871850
]]]
872851
)
@@ -967,7 +946,7 @@ function () {
967946
IGroup::SummitRegistrationAdmins,
968947
]
969948
],
970-
security: [["summit_badges_oauth2" => [
949+
security: [["summit_oauth2" => [
971950
SummitScopes::ReadAllSummitData
972951
]]]
973952
)
@@ -1039,7 +1018,7 @@ function () {
10391018
IGroup::Administrators,
10401019
]
10411020
],
1042-
security: [["summit_badges_oauth2" => [
1021+
security: [["summit_oauth2" => [
10431022
SummitScopes::WriteSummitData
10441023
]]]
10451024
)
@@ -1101,7 +1080,7 @@ public function addSummit()
11011080
IGroup::SummitAdministrators,
11021081
]
11031082
],
1104-
security: [["summit_badges_oauth2" => [
1083+
security: [["summit_oauth2" => [
11051084
SummitScopes::WriteSummitData
11061085
]]]
11071086
)
@@ -1158,7 +1137,7 @@ public function updateSummit($summit_id)
11581137
IGroup::Administrators,
11591138
]
11601139
],
1161-
security: [["summit_badges_oauth2" => [
1140+
security: [["summit_oauth2" => [
11621141
SummitScopes::WriteSummitData
11631142
]]]
11641143
)
@@ -1203,7 +1182,7 @@ public function deleteSummit($summit_id)
12031182
new OA\Response(response: Response::HTTP_NOT_FOUND, description: "Order not found"),
12041183
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"),
12051184
],
1206-
security: [["summit_badges_oauth2" => []]]
1185+
security: [["summit_oauth2" => []]]
12071186
)
12081187
]
12091188
public function getExternalOrder($summit_id, $external_order_id)
@@ -1254,7 +1233,7 @@ public function getExternalOrder($summit_id, $external_order_id)
12541233
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: "Unauthorized"),
12551234
new OA\Response(response: Response::HTTP_FORBIDDEN, description: "Forbidden"),
12561235
],
1257-
security: [["summit_badges_oauth2" => []]]
1236+
security: [["summit_oauth2" => []]]
12581237
)
12591238
]
12601239
public function confirmExternalOrderAttendee($summit_id, $external_order_id, $external_attendee_id)
@@ -1341,7 +1320,7 @@ protected function getSummitRepository(): ISummitRepository
13411320
IGroup::SummitAdministrators,
13421321
]
13431322
],
1344-
security: [["summit_badges_oauth2" => [
1323+
security: [["summit_oauth2" => [
13451324
SummitScopes::WriteSummitData
13461325
]]]
13471326
)
@@ -1406,7 +1385,7 @@ public function addSummitLogo(LaravelRequest $request, $summit_id)
14061385
IGroup::SummitAdministrators,
14071386
]
14081387
],
1409-
security: [["summit_badges_oauth2" => [
1388+
security: [["summit_oauth2" => [
14101389
SummitScopes::WriteSummitData
14111390
]]]
14121391
)
@@ -1472,7 +1451,7 @@ public function deleteSummitLogo($summit_id)
14721451
IGroup::SummitAdministrators,
14731452
]
14741453
],
1475-
security: [["summit_badges_oauth2" => [
1454+
security: [["summit_oauth2" => [
14761455
SummitScopes::WriteSummitData
14771456
]]]
14781457
)
@@ -1532,7 +1511,7 @@ public function addSummitSecondaryLogo(LaravelRequest $request, $summit_id)
15321511
IGroup::SummitAdministrators,
15331512
]
15341513
],
1535-
security: [["summit_badges_oauth2" => [
1514+
security: [["summit_oauth2" => [
15361515
SummitScopes::WriteSummitData
15371516
]]]
15381517
)
@@ -1588,7 +1567,7 @@ public function deleteSummitSecondaryLogo($summit_id)
15881567
IGroup::SummitAdministrators,
15891568
]
15901569
],
1591-
security: [["summit_badges_oauth2" => [
1570+
security: [["summit_oauth2" => [
15921571
SummitScopes::WriteSummitData
15931572
]]]
15941573
)
@@ -1652,7 +1631,7 @@ public function addFeatureSpeaker($summit_id, $speaker_id)
16521631
IGroup::SummitAdministrators,
16531632
]
16541633
],
1655-
security: [["summit_badges_oauth2" => [
1634+
security: [["summit_oauth2" => [
16561635
SummitScopes::WriteSummitData
16571636
]]]
16581637
)
@@ -1710,7 +1689,7 @@ public function updateFeatureSpeaker($summit_id, $speaker_id)
17101689
IGroup::SummitAdministrators,
17111690
]
17121691
],
1713-
security: [["summit_badges_oauth2" => [
1692+
security: [["summit_oauth2" => [
17141693
SummitScopes::WriteSummitData
17151694
]]]
17161695
)
@@ -1789,7 +1768,7 @@ public function removeFeatureSpeaker($summit_id, $speaker_id)
17891768
IGroup::SummitAdministrators,
17901769
]
17911770
],
1792-
security: [["summit_badges_oauth2" => [
1771+
security: [["summit_oauth2" => [
17931772
SummitScopes::ReadAllSummitData,
17941773
SummitScopes::ReadSummitData
17951774
]]]
@@ -1892,7 +1871,7 @@ function ($page, $per_page, $filter, $order, $applyExtraFilters) use ($summit) {
18921871
IGroup::Administrators,
18931872
]
18941873
],
1895-
security: [["summit_badges_oauth2" => [
1874+
security: [["summit_oauth2" => [
18961875
SummitScopes::WriteSummitData
18971876
]]]
18981877
)
@@ -1947,7 +1926,7 @@ public function generateQREncKey($summit_id)
19471926
IGroup::SponsorExternalUsers,
19481927
]
19491928
],
1950-
security: [["summit_badges_oauth2" => [
1929+
security: [["summit_oauth2" => [
19511930
SummitScopes::ReadSummitData,
19521931
SummitScopes::ReadAllSummitData
19531932
]]]
@@ -1998,7 +1977,7 @@ public function getLeadReportSettingsMetadata($summit_id)
19981977
IGroup::SponsorExternalUsers,
19991978
]
20001979
],
2001-
security: [["summit_badges_oauth2" => [
1980+
security: [["summit_oauth2" => [
20021981
SummitScopes::ReadSummitData,
20031982
SummitScopes::ReadAllSummitData
20041983
]]]
@@ -2058,7 +2037,7 @@ public function getLeadReportSettings($summit_id)
20582037
IGroup::SummitAdministrators,
20592038
]
20602039
],
2061-
security: [["summit_badges_oauth2" => [
2040+
security: [["summit_oauth2" => [
20622041
SummitScopes::WriteSummitData
20632042
]]]
20642043
)
@@ -2124,7 +2103,7 @@ public function addLeadReportSettings($summit_id)
21242103
IGroup::SummitAdministrators,
21252104
]
21262105
],
2127-
security: [["summit_badges_oauth2" => [
2106+
security: [["summit_oauth2" => [
21282107
SummitScopes::WriteSummitData
21292108
]]]
21302109
)
@@ -2167,7 +2146,7 @@ public function updateLeadReportSettings($summit_id)
21672146
IGroup::Administrators,
21682147
]
21692148
],
2170-
security: [['summit_badges_oauth2' => [
2149+
security: [['summit_oauth2' => [
21712150
SummitScopes::ReadBadgeScanValidate
21722151
]]],
21732152
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)