'Retrieved Order', 'message' => 'You have successfully retrieved an order' ]; } /** @var CanFetchOrder */ private $canFetchOrder; /** @var FetchesOrder */ private $fetchesOrder; /** * FetchOrderLogic constructor. * @param CanFetchOrder $canFetchOrder * @param FetchesOrder $fetchesOrder */ public function __construct(CanFetchOrder $canFetchOrder, FetchesOrder $fetchesOrder) { $this->canFetchOrder = $canFetchOrder; $this->fetchesOrder = $fetchesOrder; } /** * @param Request $request * @return JsonResponse * @throws \App\Classes\Exceptions\AccessForbiddenException * @throws \App\Classes\Exceptions\RequestValidationException */ public function logic(Request $request) : JsonResponse { $this->canFetchOrder->passes(); $query = $this->fetchesOrder->execute(['reference' => $request->route('id'), 'with_packing_lists' => true]); return $this->resourceResponse(new OrderV2Resource($query)); } }