'Deleted Transport', 'message' => 'You have successfully deleted a Transport' ]; } /** @var CanDeleteTransport */ private $canDeleteTransport; /** @var DeletesTransport */ private $deletesTransport; /** @var FetchesTransport */ private $fetchesTransport; /** * DeleteTransportControllersLogic constructor. * @param CanDeleteTransport $canDeleteTransport * @param DeletesTransport $deletesTransport * @param FetchesTransport $fetchesTransport */ public function __construct(CanDeleteTransport $canDeleteTransport, DeletesTransport $deletesTransport, FetchesTransport $fetchesTransport) { $this->canDeleteTransport = $canDeleteTransport; $this->deletesTransport = $deletesTransport; $this->fetchesTransport = $fetchesTransport; } /** * @param Request $request * @return JsonResponse * @throws ErrorException */ public function logic(Request $request) : JsonResponse { $this->canDeleteTransport->passes(); $query = $this->fetchesTransport->execute(['id' => $request->route('id')]); $this->deletesTransport->execute($query); return $this->response([]); } }