'Deleted Milestone Task', 'message' => 'You have successfully deleted a Milestone Task' ]; } /** @var CanDeleteMilestoneTask */ private $canDeleteMilestoneTask; /** @var DeletesMilestoneTask */ private $deletesMilestoneTask; /** @var FetchesMilestoneTask */ private $fetchesMilestoneTask; /** * DeleteMilestoneTaskControllerLogic constructor. * @param CanDeleteMilestoneTask $canDeleteMilestoneTask * @param DeletesMilestoneTask $deletesMilestoneTask * @param FetchesMilestoneTask $fetchesMilestoneTask */ public function __construct(CanDeleteMilestoneTask $canDeleteMilestoneTask, DeletesMilestoneTask $deletesMilestoneTask, FetchesMilestoneTask $fetchesMilestoneTask) { $this->canDeleteMilestoneTask = $canDeleteMilestoneTask; $this->deletesMilestoneTask = $deletesMilestoneTask; $this->fetchesMilestoneTask = $fetchesMilestoneTask; } /** * @param Request $request * @return JsonResponse * @throws ErrorException */ public function logic(Request $request) : JsonResponse { try { $this->canDeleteMilestoneTask->passes(); $query = $this->fetchesMilestoneTask->execute(['id' => $request->route('id')]); $this->deletesMilestoneTask->execute($query); return $this->response([]); } catch (\Exception $exception){ throw new ErrorException($exception->getMessage(), $exception->getCode()); } } }