Github graphQL API получает ветки репозитория, отсортированные по pushDate

Мы можем получить все ветки определенного репозитория с помощью запроса, указанного здесь.

query { 
    repository(owner: "<userName>", name: "<repoName>") {
    refs(first: 10, refPrefix: "refs/heads/",after:"<cursor>") {
      edges {
        node {
          name
            target {
              ... on Commit {
                author {
                  name
                  email
                  user {
                    login
                  }
                }
                pushedDate
                oid
              }
            }
        }
      }
    }
  }
}


Но возможно ли, чтобы имена были возвращены в отсортированном порядке по pushedDate (или любым соответствующим датам). например, если в моем репозитории есть 2 ветки ( branch 1 с pushdate как March 1 и branch 2 с pushDate как March 10 я хочу, чтобы branch2 возвращалось раньше branch 1).

Мы можем выполнить эту сортировку вручную, но проблема в том, что мой запрос разбит на страницы, поэтому эта сортировка упорядочивает только те ветви на текущей странице.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Что такое Apollo Client и зачем он нужен?
Что такое Apollo Client и зачем он нужен?
Apollo Client - это полнофункциональный клиент GraphQL для JavaScript-приложений, который упрощает получение, управление и обновление данных в...
2
0
33
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

К сожалению, я не думаю, что это возможно. Заказать ветки можно только через ALPHABETICAL

например refs(first: 10, refPrefix: "refs/heads/", orderBy: {field: ALPHABETICAL, direction: DESC}

Однако, если у вас нет тысяч ветвей, возможно, вы могли бы, как вы предлагаете, сделать все запросы с разбивкой на страницы, а затем упорядочить по pushedDate. Вы можете получить 100 узлов за раз с разбиением на страницы (first: 100), поэтому, вероятно, потребуется всего несколько запросов, чтобы получить все ветки.

Другие вопросы по теме