authorize('create', ToDoList::class); $toDoList = request()->user()->toDoLists()->create($this->validateData()); return (new ToDoListResource($toDoList)) ->response() ->setStatusCode(201); } public function show(ToDoList $toDoList) { $this->authorize('view', $toDoList); return new ToDoListResource($toDoList); } public function update(ToDoList $toDoList) { $this->authorize('update', $toDoList); $toDoList->update($this->validateData()); return (new ToDoListResource($toDoList)) ->response() ->setStatusCode(200); } public function destroy(ToDoList $toDoList) { $this->authorize('delete', $toDoList); $toDoList->delete(); return response([], 204); } private function validateData() { return request()->validate([ 'name' => 'required', ]); } }