コード例 #1
0
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)
コード例 #2
0
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)