Limit robots displayed in entity search
Before, we'd load *all* the robots, which can be a huge issue in namespaces with a large number of robots. Now, we only load the top-20 robots (as per recency in login), and we also limit the information returned to the entity search to save some bandwidth. Fixes https://jira.coreos.com/browse/QUAY-927
This commit is contained in:
parent
7878435805
commit
5c50161d85
7 changed files with 121 additions and 26 deletions
|
@ -11,8 +11,9 @@ class RobotPreOCIModel(RobotInterface):
|
|||
return [Permission(permission.repository.name, permission.repository.visibility.name, permission.role.name) for
|
||||
permission in permissions]
|
||||
|
||||
def list_entity_robot_permission_teams(self, prefix, include_permissions=False):
|
||||
tuples = model.user.list_entity_robot_permission_teams(prefix,
|
||||
def list_entity_robot_permission_teams(self, prefix, include_token=False,
|
||||
include_permissions=False, limit=None):
|
||||
tuples = model.user.list_entity_robot_permission_teams(prefix, limit=limit,
|
||||
include_permissions=include_permissions)
|
||||
robots = {}
|
||||
robot_teams = set()
|
||||
|
@ -22,7 +23,7 @@ class RobotPreOCIModel(RobotInterface):
|
|||
if robot_name not in robots:
|
||||
robot_dict = {
|
||||
'name': robot_name,
|
||||
'token': robot_tuple.get(FederatedLogin.service_ident),
|
||||
'token': robot_tuple.get(FederatedLogin.service_ident) if include_token else None,
|
||||
'created': robot_tuple.get(User.creation_date),
|
||||
'last_accessed': robot_tuple.get(User.last_accessed),
|
||||
'description': robot_tuple.get(RobotAccountMetadata.description),
|
||||
|
@ -56,7 +57,7 @@ class RobotPreOCIModel(RobotInterface):
|
|||
if repository_name not in robot_dict['repositories']:
|
||||
robot_dict['repositories'].append(repository_name)
|
||||
robots[robot_name] = RobotWithPermissions(robot_dict['name'], robot_dict['token'],
|
||||
robot_dict['created'],
|
||||
robot_dict['created'],
|
||||
robot_dict['last_accessed'],
|
||||
robot_dict['teams'],
|
||||
robot_dict['repositories'],
|
||||
|
|
Reference in a new issue