@@ -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