'Deleted PackingList', 'message' => 'You have successfully deleted a PackingList' ]; } /** @var CanDeletePackingList */ private $canDeletePackingList; /** @var DeletesPackingList */ private $deletesPackingList; /** @var FetchesPackingList */ private $fetchesPackingList; /** * DeletePackingListControllersLogic constructor. * @param CanDeletePackingList $canDeletePackingList * @param DeletesPackingList $deletesPackingList * @param FetchesPackingList $fetchesPackingList */ public function __construct(CanDeletePackingList $canDeletePackingList, DeletesPackingList $deletesPackingList, FetchesPackingList $fetchesPackingList) { $this->canDeletePackingList = $canDeletePackingList; $this->deletesPackingList = $deletesPackingList; $this->fetchesPackingList = $fetchesPackingList; } /** * @param Request $request * @return JsonResponse * @throws ErrorException */ public function logic(Request $request) : JsonResponse { try { $this->canDeletePackingList->passes(); $warehouseList = $this->fetchesPackingList->execute(['id' => $request->route('id')]); $packingList = $this->fetchesPackingList->execute(['reference' => $warehouseList->reference, 'type' => PackingListType::SHIPPING_PACKING_LIST]); $this->deletesPackingList->execute($warehouseList); $this->deletesPackingList->execute($packingList); return $this->response([]); } catch (\Exception $exception){ throw new ErrorException($exception->getMessage(), $exception->getCode()); } } }