'Created Milestone Task Assignee', 'message' => 'You have successfully created a new Milestone Task Assignee' ]; } /** @var CanCreateMilestoneTaskAssignee */ private $canCreateMilestoneTaskAssignee; /** @var CreatesMilestoneTaskAssignee */ private $createsMilestoneTaskAssignee; /** * CreateMilestoneTaskAssigneeControllerLogic constructor. * @param CanCreateMilestoneTaskAssignee $canCreateMilestoneTaskAssignee * @param CreatesMilestoneTaskAssignee $createsMilestoneTaskAssignee */ public function __construct(CanCreateMilestoneTaskAssignee $canCreateMilestoneTaskAssignee, CreatesMilestoneTaskAssignee $createsMilestoneTaskAssignee) { $this->canCreateMilestoneTaskAssignee = $canCreateMilestoneTaskAssignee; $this->createsMilestoneTaskAssignee = $createsMilestoneTaskAssignee; } /** * @param Request $request * @return JsonResponse * @throws ErrorException */ public function logic(Request $request) : JsonResponse { try { $object = new MilestoneTaskAssigneeObject($request->input('assignee_id'), $request->input('assignee_type'), $request->input('assignment_id')); $this->canCreateMilestoneTaskAssignee->passes($object); $query = $this->createsMilestoneTaskAssignee->execute($object); return $this->resourceResponse(new MilestoneTaskAssigneeResource($query)); } catch (\Exception $exception){ throw new ErrorException($exception->getMessage(), $exception->getCode()); } } }