json([ 'users' => $users->map(fn($user) => [ 'id' => $user->id, 'name' => $user->name, 'email' => $user->email, 'role' => $user->role, ]) ]); } public function update(Request $request, User $user): JsonResponse { $validated = $request->validate([ 'name' => 'sometimes|string|max:255', 'email' => [ 'sometimes', 'email', Rule::unique('users')->ignore($user->id), ], 'password' => 'sometimes|string|min:8', 'role' => 'sometimes|in:admin,author', ]); if (isset($validated['password'])) { $validated['password'] = Hash::make($validated['password']); } $user->update($validated); return response()->json([ 'message' => 'User updated successfully', 'user' => [ 'id' => $user->id, 'name' => $user->name, 'email' => $user->email, 'role' => $user->role, ] ]); } public function destroy(User $user): JsonResponse { $user->delete(); return response()->json([ 'message' => 'User deleted successfully' ]); } }