use BookStack\Auth\User;
use BookStack\Auth\UserRepo;
use Closure;
+use Illuminate\Http\Request;
class UserApiController extends ApiController
{
],
'update' => [
],
+ 'delete' => [
+ 'migrate_ownership_id' => ['integer', 'exists:users,id'],
+ ],
];
public function __construct(UserRepo $userRepo)
return response()->json($singleUser);
}
+ /**
+ * Delete a user from the system.
+ * Can optionally accept a user id via `migrate_ownership_id` to indicate
+ * who should be the new owner of their related content.
+ * Requires permission to manage users.
+ */
+ public function delete(Request $request, string $id)
+ {
+ $this->checkPermission('users-manage');
+
+ $user = $this->userRepo->getById($id);
+ $newOwnerId = $request->get('migrate_ownership_id', null);
+
+ $this->userRepo->destroy($user, $newOwnerId);
+
+ return response('', 204);
+ }
+
/**
* Format the given user model for single-result display.
*/