module Octokit class EnterpriseAdminClient # Methods for the Enterprise Search Indexing API # # @see https://developer.github.com/v3/enterprise/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