updatesPackingList = $updatesPackingList; } /** * @param String $orderId * @param Request $request * @return JsonResponse * @throws InternalServerErrorException */ public function execute(String $orderId, Request $request){ try { $orderObject = new OrderObject($orderId); $packingListObject = new PackingListObject($request->input('reference_no'), $request->input('packages')); $confirmed = $this->checkPackingListIsComplete($packingListObject->getPackages()); dd($confirmed); $this->updatesPackingList->execute($orderObject, $packingListObject, $confirmed); return new JsonResponse(null, HttpStatus::RESOURCE_CREATED); } catch (\Exception $exception){ throw new InternalServerErrorException("Failed to update order's packing list because {$exception->getMessage()}"); } } }