def list_entity_robot_permission_teams(entity_name, limit=None, include_permissions=False): query = _list_entity_robots(entity_name) fields = [ User.username, User.creation_date, User.last_accessed, RobotAccountToken.token, RobotAccountMetadata.description, RobotAccountMetadata.unstructured_json, ] if include_permissions: query = (query.join( RepositoryPermission, JOIN.LEFT_OUTER, on=(RepositoryPermission.user == RobotAccountToken.robot_account), ).join(Repository, JOIN.LEFT_OUTER).switch(User).join( TeamMember, JOIN.LEFT_OUTER).join(Team, JOIN.LEFT_OUTER)) fields.append(Repository.name) fields.append(Team.name) query = query.limit(limit).order_by(User.last_accessed.desc()) return TupleSelector(query, fields)
def list_entity_robot_permission_teams(entity_name, limit=None, include_permissions=False): query = (_list_entity_robots(entity_name)) # TODO(remove-unenc): Remove FederatedLogin once migration is complete. fields = [User.username, User.creation_date, User.last_accessed, RobotAccountToken.token, FederatedLogin.service_ident, RobotAccountMetadata.description, RobotAccountMetadata.unstructured_json] if include_permissions: query = (query .join(RepositoryPermission, JOIN.LEFT_OUTER, on=(RepositoryPermission.user == FederatedLogin.user)) .join(Repository, JOIN.LEFT_OUTER) .switch(User) .join(TeamMember, JOIN.LEFT_OUTER) .join(Team, JOIN.LEFT_OUTER)) fields.append(Repository.name) fields.append(Team.name) query = query.limit(limit).order_by(User.last_accessed.desc()) return TupleSelector(query, fields)