diff --git a/jupyterhub/apihandlers/users.py b/jupyterhub/apihandlers/users.py index 9ec1fb0e..0acf3b6d 100644 --- a/jupyterhub/apihandlers/users.py +++ b/jupyterhub/apihandlers/users.py @@ -14,12 +14,18 @@ from .base import APIHandler class BaseUserHandler(APIHandler): def user_model(self, user): - return { + model = { 'name': user.name, 'admin': user.admin, - 'server': user.server.base_url if user.running and not (user.spawn_pending or user.stop_pending) else None, + 'server': user.server.base_url if user.running else None, + 'pending': None, 'last_activity': user.last_activity.isoformat(), } + if user.spawn_pending: + model['pending'] = 'spawn' + elif user.stop_pending: + model['pending'] = 'stop' + return model _model_types = { 'name': str, diff --git a/jupyterhub/tests/test_api.py b/jupyterhub/tests/test_api.py index 7cde62c1..c852b4d8 100644 --- a/jupyterhub/tests/test_api.py +++ b/jupyterhub/tests/test_api.py @@ -104,11 +104,13 @@ def test_get_users(app): 'name': 'admin', 'admin': True, 'server': None, + 'pending': None, }, { 'name': 'user', 'admin': False, 'server': None, + 'pending': None, } ]