![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/job-board.corals.io/Corals/modules/Ecommerce/Http/Controllers/API/ |
<?php namespace Corals\Modules\Ecommerce\Http\Controllers\API; use Corals\Foundation\Http\Controllers\APIBaseController; use Corals\Modules\Ecommerce\DataTables\MyOrdersDataTable; use Corals\Modules\Ecommerce\Models\Order; use Corals\Modules\Ecommerce\Services\OrderService; use Corals\Modules\Ecommerce\Transformers\API\OrderItemPresenter; use Corals\Modules\Ecommerce\Transformers\API\OrderPresenter; use Illuminate\Http\Request; class OrdersController extends APIBaseController { protected $orderService; public function __construct(OrderService $orderService) { $this->orderService = $orderService; $this->orderService->setPresenter(new OrderPresenter()); parent::__construct(); } /** * @param Request $request * @param MyOrdersDataTable $dataTable * @return mixed */ public function myOrders(Request $request, MyOrdersDataTable $dataTable) { if (!user()->hasPermissionTo('Ecommerce::my_orders.access')) { abort(403, 'Forbidden!!'); } $orders = $dataTable->query(new Order()); return $this->orderService->index($orders, $dataTable); } public function show(Request $request, Order $order) { if (user()->cannot('view', $order)) { abort(403, 'Forbidden!!'); } try { $response = [ 'order' => $this->orderService->getModelDetails($order), 'items' => (new OrderItemPresenter())->present($order->items)['data'], ]; return apiResponse($response); } catch (\Exception $exception) { return apiExceptionResponse($exception); } } }