def get(token, api_url, organization): """ Retrieve a list of users from the given GitHub organization as described in https://docs.github.com/en/graphql/reference/objects#organizationmemberedge. :param token: The Github API token as string. :param api_url: The Github v4 API endpoint as string. :param organization: The name of the target Github organization as string. :return: A 2-tuple containing 1. a list of dicts representing users - see tests.data.github.users.GITHUB_USER_DATA for shape, and 2. data on the owning GitHub organization - see tests.data.github.users.GITHUB_ORG_DATA for shape. """ users, org = fetch_all(token, api_url, organization, GITHUB_ORG_USERS_PAGINATED_GRAPHQL, 'membersWithRole', 'edges') return users, org
def get(token, api_url, organization): """ Retrieve a list of repos from a Github organization as described in https://docs.github.com/en/graphql/reference/objects#repository. :param token: The Github API token as string. :param api_url: The Github v4 API endpoint as string. :param organization: The name of the target Github organization as string. :return: A list of dicts representing repos. See tests.data.github.repos for data shape. """ # TODO: link the Github organization to the repositories repos, _ = fetch_all(token, api_url, organization, GITHUB_ORG_REPOS_PAGINATED_GRAPHQL, 'repositories', 'nodes') return repos