using System; using System.Reactive.Threading.Tasks; using Octokit; namespace Octokit.Reactive { /// /// A client for GitHub's Enterprise Search Indexing API /// /// /// See the Enterprise Search Indexing API documentation for more information. /// public class ObservableEnterpriseSearchIndexingClient : IObservableEnterpriseSearchIndexingClient { readonly IEnterpriseSearchIndexingClient _client; public ObservableEnterpriseSearchIndexingClient(IGitHubClient client) { Ensure.ArgumentNotNull(client, "client"); _client = client.Enterprise.SearchIndexing; } /// /// Queue an indexing job for a user or organization account (must be Site Admin user). /// /// /// https://developer.github.com/v3/enterprise/search_indexing/#queue-an-indexing-job /// /// A user or organization account /// The message. public IObservable Queue(string owner) { return _client.Queue(owner).ToObservable(); } /// /// Queue an indexing job for a repository (must be Site Admin user). /// /// /// https://developer.github.com/v3/enterprise/search_indexing/#queue-an-indexing-job /// /// A user or organization account /// A repository /// The message. public IObservable Queue(string owner, string repository) { return _client.Queue(owner, repository).ToObservable(); } /// /// Queue an indexing job for all of a user or organization's repositories (must be Site Admin user). /// /// /// https://developer.github.com/v3/enterprise/search_indexing/#queue-an-indexing-job /// /// A user or organization account /// The message. public IObservable QueueAll(string owner) { return _client.QueueAll(owner).ToObservable(); } /// /// Queue an indexing job for all the issues in a repository (must be Site Admin user). /// /// /// https://developer.github.com/v3/enterprise/search_indexing/#queue-an-indexing-job /// /// A user or organization account /// A repository /// The message. public IObservable QueueAllIssues(string owner, string repository) { return _client.QueueAllIssues(owner, repository).ToObservable(); } /// /// Queue an indexing job for all the issues in all of a user or organization's repositories (must be Site Admin user). /// /// /// https://developer.github.com/v3/enterprise/search_indexing/#queue-an-indexing-job /// /// A user or organization account /// The message. public IObservable QueueAllIssues(string owner) { return _client.QueueAllIssues(owner).ToObservable(); } /// /// Queue an indexing job for all the source code in a repository (must be Site Admin user). /// /// /// https://developer.github.com/v3/enterprise/search_indexing/#queue-an-indexing-job /// /// A user or organization account /// A repository /// The message. public IObservable QueueAllCode(string owner, string repository) { return _client.QueueAllCode(owner, repository).ToObservable(); } /// /// Queue an indexing job for all the source code in all of a user or organization's repositories (must be Site Admin user). /// /// /// https://developer.github.com/v3/enterprise/search_indexing/#queue-an-indexing-job /// /// A user or organization account /// The message. public IObservable QueueAllCode(string owner) { return _client.QueueAllCode(owner).ToObservable(); } } }