Resolve comments

This commit is contained in:
0mar
2021-04-07 10:37:49 +02:00
parent 71a5842ad2
commit 2f34557689
3 changed files with 19 additions and 10 deletions

View File

@@ -175,7 +175,7 @@ class APIHandler(BaseHandler):
json.dumps({'status': status_code, 'message': message or status_message})
)
def server_model(self, spawner, include_state=False):
def server_model(self, spawner):
"""Get the JSON model for a Spawner"""
server_scope = 'read:users:servers'
server_state_scope = 'admin:users:server_state'
@@ -250,7 +250,7 @@ class APIHandler(BaseHandler):
'pending': None,
'created': isoformat(user.created),
'last_activity': isoformat(user.last_activity),
'auth_state': '', # placeholder, filled in later
'auth_state': None, # placeholder, filled in later
}
access_map = {
'read:users': {
@@ -297,23 +297,31 @@ class APIHandler(BaseHandler):
def group_model(self, group):
"""Get the JSON model for a Group object"""
model = {'kind': 'group', 'name': group.name}
model = {}
req_scope = 'read:groups'
if req_scope in self.parsed_scopes:
scope_filter = self.get_scope_filter(req_scope)
if scope_filter(group, kind='group'):
model['users'] = [u.name for u in group.users]
model = {
'kind': 'group',
'name': group.name,
'users': [u.name for u in group.users],
}
return model
def service_model(self, service):
"""Get the JSON model for a Service object"""
model = {'kind': 'service', 'name': service.name}
model = {}
req_scope = 'read:services'
if req_scope in self.parsed_scopes:
scope_filter = self.get_scope_filter(req_scope)
if scope_filter(service, kind='service'):
model['roles'] = [r.name for r in service.roles]
model['admin'] = service.admin
model = {
'kind': 'service',
'name': service.name,
'roles': [r.name for r in service.roles],
'admin': service.admin,
}
# todo: Remove once we replace admin flag with role check
return model

View File

@@ -159,7 +159,6 @@ def fill_user(model):
model.setdefault('created', TIMESTAMP)
model.setdefault('last_activity', TIMESTAMP)
model.setdefault('servers', {})
model.setdefault('auth_state', '')
return model
@@ -180,9 +179,12 @@ async def test_get_users(app):
'admin': False,
'roles': ['user'],
'last_activity': None,
'auth_state': None,
}
assert users == [
fill_user({'name': 'admin', 'admin': True, 'roles': ['admin']}),
fill_user(
{'name': 'admin', 'admin': True, 'roles': ['admin'], 'auth_state': None}
),
fill_user(user_model),
]
r = await api_request(app, 'users', headers=auth_header(db, 'user'))

View File

@@ -52,7 +52,6 @@ async def test_default_server(app, named_servers):
r.raise_for_status()
user_model = normalize_user(r.json())
print(user_model)
assert user_model == fill_user(
{
'name': username,