updatesTrackingNumber = $updatesTrackingNumber; } /** * @param String $orderId * @param Request $request * @return JsonResponse * @throws InternalServerErrorException */ public function execute(String $orderId, Request $request){ try { $trackingNumberObject = new TrackingNumberObject($request->input('type'), $request->input('tracking_number'), $request->input('courier')); $this->updatesTrackingNumber->execute($orderId, $trackingNumberObject); return new JsonResponse(null, HttpStatus::RESOURCE_CREATED); } catch (\Exception $exception){ throw new InternalServerErrorException("Failed to update order's receive note tracking number because {$exception->getMessage()}"); } } }