query GhUsers(
  $login: String!
  $repoName: String!
  $after: String
  $isFollowers: Boolean!
  $isFollowing: Boolean!
  $isMember: Boolean!
  $isStar: Boolean!
  $isWatch: Boolean!
) {
  user(login: $login) @skip(if: $isMember) {
    login
    name
    avatarUrl
    company
    location
    createdAt
    followers(first: 30, after: $after) @include(if: $isFollowers) {
      pageInfo {
        hasNextPage
        endCursor
      }
      nodes {
        login
        name
        avatarUrl
        company
        location
        createdAt
      }
    }
    following(first: 30, after: $after) @include(if: $isFollowing) {
      pageInfo {
        hasNextPage
        endCursor
      }
      nodes {
        login
        name
        avatarUrl
        company
        location
        createdAt
      }
    }
  }
  organization(login: $login) @include(if: $isMember) {
    login
    name
    avatarUrl
    location
    membersWithRole(first: 30, after: $after) {
      pageInfo {
        hasNextPage
        endCursor
      }
      nodes {
        login
        name
        avatarUrl
        company
        location
        createdAt
      }
    }
  }
  repository(owner: $login, name: $repoName) {
    watchers(first: 30, after: $after) @include(if: $isWatch) {
      pageInfo {
        hasNextPage
        endCursor
      }
      nodes {
        login
        name
        avatarUrl
        company
        location
        createdAt
      }
    }
    stargazers(
      first: 30
      after: $after
      orderBy: { field: STARRED_AT, direction: DESC }
    ) @include(if: $isStar) {
      pageInfo {
        hasNextPage
        endCursor
      }
      nodes {
        login
        name
        avatarUrl
        company
        location
        createdAt
      }
    }
  }
}
