/** * Store a newly created resource in storage. * * @param Request $request * @param User $user * * @return Response * @throws \HttpException */ public function store(Request $request, User $user) { $this->requireUser($user); $toDoManager = new ToDoManager(); if ($request->has('taskId')) { $this->validate($request, ['taskId' => 'integer']); $taskId = $request->input('taskId'); /** @var Task $task */ $task = Task::findOrFail($taskId); $toDoManager->addTaskToDo($task, $user); } elseif ($request->has('stickerId')) { $this->validate($request, ['stickerId' => 'integer']); $stickerId = $request->input('stickerId'); /** @var Sticker $sticker */ $sticker = Sticker::findOrFail($stickerId); $toDoManager->addStickerToDo($sticker, $user); } else { throw new HttpException(400, "taskId or stickerId is required"); } return $this->response(['success' => true]); }