'Retrieved Task Assignee', 'message' => 'You have successfully retrieved a Task Assignee' ]; } /** @var CanFetchTaskAssignee */ private $canFetchTaskAssignee; /** @var FetchesTaskAssignee */ private $fetchesTaskAssignee; /** * FetchTaskAssigneeControllerLogic constructor. * @param CanFetchTaskAssignee $canFetchTaskAssignee * @param FetchesTaskAssignee $fetchesTaskAssignee */ public function __construct(CanFetchTaskAssignee $canFetchTaskAssignee, FetchesTaskAssignee $fetchesTaskAssignee) { $this->canFetchTaskAssignee = $canFetchTaskAssignee; $this->fetchesTaskAssignee = $fetchesTaskAssignee; } /** * @param Request $request * @return JsonResponse * @throws ErrorException */ public function logic(Request $request) : JsonResponse { try { $this->canFetchTaskAssignee->passes(); $query = $this->fetchesTaskAssignee->execute(['id' => $request->route('id')]); return $this->resourceResponse(new TaskAssigneeResource($query)); } catch (\Exception $exception){ throw new ErrorException($exception->getMessage(), $exception->getCode()); } } }