1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
# frozen_string_literal: true
module Octokit
class EnterpriseAdminClient
# Methods for the Enterprise Search Indexing API
#
# @see https://developer.github.com/v3/enterprise-admin/search_indexing/
module SearchIndexing
# Queue a User or Organization to be indexed
#
# @param user [String] A GitHub Enterprise user or organization
# @return [Sawyer:Resource] Result of the queuing containing `:message`
def index_user(user)
queue_index user
end
alias index_organization index_user
# Queue a Repository to be indexed
#
# @param repo [String, Hash, Repository] A GitHub repository
# @return [Sawyer:Resource] Result of the queuing containing `:message`
def index_repository(repo)
queue_index Repository.new repo
end
# Queue a repository's Issues to be indexed
#
# @param repo [String, Hash, Repository] A GitHub repository
# @return [Sawyer:Resource] Result of the queuing containing `:message`
def index_repository_issues(repo)
queue_index "#{Repository.new repo}/issues"
end
# Queue a repository's code to be indexed
#
# @param repo [String, Hash, Repository] A GitHub repository
# @return [Sawyer:Resource] Result of the queuing containing `:message`
def index_repository_code(repo)
queue_index "#{Repository.new repo}/code"
end
# Queue a user's or organization's repositories to be indexed
#
# @param user [String] A GitHub Enterprise user or organization
# @return [Sawyer:Resource] Result of the queuing containing `:message`
def index_users_repositories(user)
queue_index "#{user}/*"
end
alias index_organizations_repositories index_users_repositories
# Queue an index of all the issues across all of a user's or
# organization's repositories
#
# @param user [String] A GitHub Enterprise user or organization
# @return [Sawyer:Resource] Result of the queuing containing `:message`
def index_users_repositories_issues(user)
queue_index "#{user}/*/issues"
end
alias index_organizations_repositories_issues index_users_repositories_issues
# Queue an index of all the code contained in all of a user's or
# organization's repositories
#
# @param user [String] A GitHub Enterprise user or organization
# @return [Sawyer:Resource] Result of the queuing containing `:message`
def index_users_repositories_code(user)
queue_index "#{user}/*/code"
end
alias index_organizations_repositories_code index_users_repositories_code
private
# @private Queue a target for indexing
#
# @param target [String] Target to index
# @return [Sawyer:Resource] Result of the queuing containing `:message`
def queue_index(target)
post 'staff/indexing_jobs', target: target
end
end
end
end
|