Skip to content

Commit 50ff149

Browse files
committed
fix: correct paths in OpenAPI annotations and added missing paths
1 parent bdd6d3e commit 50ff149

File tree

1 file changed

+164
-10
lines changed

1 file changed

+164
-10
lines changed

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

Lines changed: 164 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ public function reserve($summit_id)
282282
operationId: 'checkout',
283283
tags: ['Orders (Public)'],
284284
parameters: [
285-
new OA\Parameter(name: 'summit_id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
285+
new OA\Parameter(name: 'id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
286286
new OA\Parameter(name: 'hash', in: 'path', required: true, description: 'Order hash', schema: new OA\Schema(type: 'string')),
287287
],
288288
requestBody: new OA\RequestBody(
@@ -1334,7 +1334,7 @@ public function reInviteAttendee($order_id, $ticket_id)
13341334
],
13351335
tags: ['Orders'],
13361336
parameters: [
1337-
new OA\Parameter(name: 'summit_id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
1337+
new OA\Parameter(name: 'id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
13381338
new OA\Parameter(name: 'order_id', in: 'path', required: true, description: 'Order ID', schema: new OA\Schema(type: 'integer')),
13391339
new OA\Parameter(name: 'ticket_id', in: 'path', required: true, description: 'Ticket ID', schema: new OA\Schema(type: 'integer')),
13401340
],
@@ -1415,7 +1415,7 @@ public function updateTicket($summit_id, $order_id, $ticket_id)
14151415
],
14161416
tags: ['Orders'],
14171417
parameters: [
1418-
new OA\Parameter(name: 'summit_id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
1418+
new OA\Parameter(name: 'id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
14191419
new OA\Parameter(name: 'order_id', in: 'path', required: true, description: 'Order ID', schema: new OA\Schema(type: 'integer')),
14201420
],
14211421
requestBody: new OA\RequestBody(
@@ -1549,7 +1549,7 @@ public function removeAttendee($order_id, $ticket_id)
15491549
],
15501550
tags: ['Orders'],
15511551
parameters: [
1552-
new OA\Parameter(name: 'summit_id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
1552+
new OA\Parameter(name: 'id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
15531553
new OA\Parameter(name: 'order_id', in: 'path', required: true, description: 'Order ID', schema: new OA\Schema(type: 'integer')),
15541554
new OA\Parameter(name: 'ticket_id', in: 'path', required: true, description: 'Ticket ID', schema: new OA\Schema(type: 'integer')),
15551555
],
@@ -1811,7 +1811,7 @@ public function updateTicketsByOrderHash($order_hash)
18111811
* @return \Illuminate\Http\JsonResponse|mixed
18121812
*/
18131813
#[OA\Put(
1814-
path: '/api///tickets/{ticket_id}',
1814+
path: '/api/v1/summits/all/orders/all/tickets/{ticket_id}',
18151815
summary: 'Update my ticket by ticket ID',
18161816
description: 'Updates ticket information for the current user',
18171817
operationId: 'updateMyTicketById',
@@ -1964,18 +1964,96 @@ function getAddValidationRules(array $payload): array
19641964
* @param array $payload
19651965
* @return IEntity
19661966
*/
1967+
#[OA\Post(
1968+
path: '/api/v1/summits/{id}/orders',
1969+
summary: 'Create offline order',
1970+
description: 'Creates a new offline order for a summit. Admin access required.',
1971+
operationId: 'add',
1972+
security: [
1973+
[
1974+
'summit_orders_auth' => [
1975+
SummitScopes::WriteSummitData,
1976+
SummitScopes::CreateOfflineRegistrationOrders,
1977+
]
1978+
]
1979+
],
1980+
x: [
1981+
'authz_groups' => [
1982+
IGroup::SuperAdmins,
1983+
IGroup::Administrators,
1984+
IGroup::SummitAdministrators,
1985+
IGroup::SummitRegistrationAdmins,
1986+
]
1987+
],
1988+
tags: ['Orders'],
1989+
parameters: [
1990+
new OA\Parameter(name: 'id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
1991+
],
1992+
requestBody: new OA\RequestBody(
1993+
required: true,
1994+
content: new OA\JsonContent(ref: '#/components/schemas/CreateOfflineOrderRequest')
1995+
),
1996+
responses: [
1997+
new OA\Response(
1998+
response: Response::HTTP_CREATED,
1999+
description: 'Order created successfully',
2000+
content: new OA\JsonContent(ref: '#/components/schemas/SummitOrder')
2001+
),
2002+
new OA\Response(response: Response::HTTP_BAD_REQUEST, description: 'Bad Request'),
2003+
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: 'Unauthorized'),
2004+
new OA\Response(response: Response::HTTP_FORBIDDEN, description: 'Forbidden'),
2005+
new OA\Response(response: Response::HTTP_NOT_FOUND, description: 'Summit not found'),
2006+
new OA\Response(response: Response::HTTP_PRECONDITION_FAILED, description: 'Validation Error'),
2007+
]
2008+
)]
19672009
protected function addChild(Summit $summit, array $payload): IEntity
19682010
{
19692011
return $this->service->createOfflineOrder($summit, $payload);
19702012
}
19712013

2014+
#[OA\Get(
2015+
path: '/api/v1/summits/{id}/orders/{order_id}',
2016+
summary: 'Get order by ID',
2017+
description: 'Returns order information for the specified order. Admin access required.',
2018+
operationId: 'get',
2019+
security: [
2020+
[
2021+
'summit_orders_auth' => [
2022+
SummitScopes::ReadAllSummitData,
2023+
SummitScopes::ReadRegistrationOrders,
2024+
]
2025+
]
2026+
],
2027+
x: [
2028+
'authz_groups' => [
2029+
IGroup::SuperAdmins,
2030+
IGroup::Administrators,
2031+
IGroup::SummitAdministrators,
2032+
IGroup::SummitRegistrationAdmins,
2033+
]
2034+
],
2035+
tags: ['Orders'],
2036+
parameters: [
2037+
new OA\Parameter(name: 'id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
2038+
new OA\Parameter(name: 'order_id', in: 'path', required: true, description: 'Order ID', schema: new OA\Schema(type: 'integer')),
2039+
],
2040+
responses: [
2041+
new OA\Response(
2042+
response: Response::HTTP_OK,
2043+
description: 'Order information',
2044+
content: new OA\JsonContent(ref: '#/components/schemas/SummitOrder')
2045+
),
2046+
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: 'Unauthorized'),
2047+
new OA\Response(response: Response::HTTP_FORBIDDEN, description: 'Forbidden'),
2048+
new OA\Response(response: Response::HTTP_NOT_FOUND, description: 'Summit or order not found'),
2049+
]
2050+
)]
19722051
protected function getChildFromSummit(Summit $summit, $child_id): ?IEntity
19732052
{
19742053
return $summit->getOrderById($child_id);
19752054
}
19762055

19772056
/**
1978-
* @param $summit_id
19792057
* @param $order_id
19802058
* @return mixed
19812059
*/
@@ -2196,6 +2274,49 @@ function getUpdateValidationRules(array $payload): array
21962274
* @param array $payload
21972275
* @return IEntity
21982276
*/
2277+
#[OA\Put(
2278+
path: '/api/v1/summits/{id}/orders/{order_id}',
2279+
summary: 'Update order',
2280+
description: 'Updates order information. Admin access required.',
2281+
operationId: 'update',
2282+
security: [
2283+
[
2284+
'summit_orders_auth' => [
2285+
SummitScopes::WriteSummitData,
2286+
SummitScopes::UpdateRegistrationOrders,
2287+
]
2288+
]
2289+
],
2290+
x: [
2291+
'authz_groups' => [
2292+
IGroup::SuperAdmins,
2293+
IGroup::Administrators,
2294+
IGroup::SummitAdministrators,
2295+
IGroup::SummitRegistrationAdmins,
2296+
]
2297+
],
2298+
tags: ['Orders'],
2299+
parameters: [
2300+
new OA\Parameter(name: 'id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
2301+
new OA\Parameter(name: 'order_id', in: 'path', required: true, description: 'Order ID', schema: new OA\Schema(type: 'integer')),
2302+
],
2303+
requestBody: new OA\RequestBody(
2304+
required: false,
2305+
content: new OA\JsonContent(ref: '#/components/schemas/UpdateOrderRequest')
2306+
),
2307+
responses: [
2308+
new OA\Response(
2309+
response: Response::HTTP_OK,
2310+
description: 'Order updated successfully',
2311+
content: new OA\JsonContent(ref: '#/components/schemas/SummitOrder')
2312+
),
2313+
new OA\Response(response: Response::HTTP_BAD_REQUEST, description: 'Bad Request'),
2314+
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: 'Unauthorized'),
2315+
new OA\Response(response: Response::HTTP_FORBIDDEN, description: 'Forbidden'),
2316+
new OA\Response(response: Response::HTTP_NOT_FOUND, description: 'Summit or order not found'),
2317+
new OA\Response(response: Response::HTTP_PRECONDITION_FAILED, description: 'Validation Error'),
2318+
]
2319+
)]
21992320
protected function updateChild(Summit $summit, int $child_id, array $payload): IEntity
22002321
{
22012322
return $this->service->updateOrder($summit, $child_id, $payload);
@@ -2206,6 +2327,39 @@ protected function updateChild(Summit $summit, int $child_id, array $payload): I
22062327
* @param $child_id
22072328
* @return void
22082329
*/
2330+
#[OA\Delete(
2331+
path: '/api/v1/summits/{id}/orders/{order_id}',
2332+
summary: 'Delete order',
2333+
description: 'Deletes an order. Admin access required.',
2334+
operationId: 'delete',
2335+
security: [
2336+
[
2337+
'summit_orders_auth' => [
2338+
SummitScopes::WriteSummitData,
2339+
SummitScopes::DeleteRegistrationOrders,
2340+
]
2341+
]
2342+
],
2343+
x: [
2344+
'authz_groups' => [
2345+
IGroup::SuperAdmins,
2346+
IGroup::Administrators,
2347+
IGroup::SummitAdministrators,
2348+
IGroup::SummitRegistrationAdmins,
2349+
]
2350+
],
2351+
tags: ['Orders'],
2352+
parameters: [
2353+
new OA\Parameter(name: 'id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
2354+
new OA\Parameter(name: 'order_id', in: 'path', required: true, description: 'Order ID', schema: new OA\Schema(type: 'integer')),
2355+
],
2356+
responses: [
2357+
new OA\Response(response: Response::HTTP_NO_CONTENT, description: 'Order deleted successfully'),
2358+
new OA\Response(response: Response::HTTP_UNAUTHORIZED, description: 'Unauthorized'),
2359+
new OA\Response(response: Response::HTTP_FORBIDDEN, description: 'Forbidden'),
2360+
new OA\Response(response: Response::HTTP_NOT_FOUND, description: 'Summit or order not found'),
2361+
]
2362+
)]
22092363
protected function deleteChild(Summit $summit, $child_id): void
22102364
{
22112365
$this->service->deleteOrder($summit, intval($child_id));
@@ -2240,7 +2394,7 @@ protected function deleteChild(Summit $summit, $child_id): void
22402394
],
22412395
tags: ['Orders'],
22422396
parameters: [
2243-
new OA\Parameter(name: 'summit_id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
2397+
new OA\Parameter(name: 'id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
22442398
new OA\Parameter(name: 'order_id', in: 'path', required: true, description: 'Order ID', schema: new OA\Schema(type: 'integer')),
22452399
new OA\Parameter(name: 'ticket_id', in: 'path', required: true, description: 'Ticket ID', schema: new OA\Schema(type: 'integer')),
22462400
],
@@ -2302,7 +2456,7 @@ public function activateTicket($summit_id, $order_id, $ticket_id)
23022456
],
23032457
tags: ['Orders'],
23042458
parameters: [
2305-
new OA\Parameter(name: 'summit_id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
2459+
new OA\Parameter(name: 'id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
23062460
new OA\Parameter(name: 'order_id', in: 'path', required: true, description: 'Order ID', schema: new OA\Schema(type: 'integer')),
23072461
new OA\Parameter(name: 'ticket_id', in: 'path', required: true, description: 'Ticket ID', schema: new OA\Schema(type: 'integer')),
23082462
],
@@ -2362,7 +2516,7 @@ public function deActivateTicket($summit_id, $order_id, $ticket_id)
23622516
],
23632517
tags: ['Orders'],
23642518
parameters: [
2365-
new OA\Parameter(name: 'summit_id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
2519+
new OA\Parameter(name: 'id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
23662520
new OA\Parameter(name: 'order_id', in: 'path', required: true, description: 'Order ID', schema: new OA\Schema(type: 'integer')),
23672521
new OA\Parameter(name: 'page', in: 'query', required: false, description: 'Page number', schema: new OA\Schema(type: 'integer', default: 1)),
23682522
new OA\Parameter(name: 'per_page', in: 'query', required: false, description: 'Items per page', schema: new OA\Schema(type: 'integer', default: 10)),
@@ -2455,7 +2609,7 @@ function ($page, $per_page, $filter, $order, $applyExtraFilters) use ($summit) {
24552609
],
24562610
tags: ['Orders'],
24572611
parameters: [
2458-
new OA\Parameter(name: 'summit_id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
2612+
new OA\Parameter(name: 'id', in: 'path', required: true, description: 'Summit ID or slug', schema: new OA\Schema(type: 'string')),
24592613
new OA\Parameter(name: 'order_id', in: 'path', required: true, description: 'Order ID', schema: new OA\Schema(type: 'integer')),
24602614
new OA\Parameter(name: 'ticket_id', in: 'path', required: true, description: 'Ticket ID', schema: new OA\Schema(type: 'integer')),
24612615
],

0 commit comments

Comments
 (0)