diff --git a/Octokit.Reactive/Clients/IObservableIssuesClient.cs b/Octokit.Reactive/Clients/IObservableIssuesClient.cs index b7e6f55e..10032884 100644 --- a/Octokit.Reactive/Clients/IObservableIssuesClient.cs +++ b/Octokit.Reactive/Clients/IObservableIssuesClient.cs @@ -5,6 +5,9 @@ namespace Octokit.Reactive { public interface IObservableIssuesClient { + /// + /// Client for managing assignees. + /// IObservableAssigneesClient Assignee { get; } /// @@ -12,6 +15,23 @@ namespace Octokit.Reactive /// IObservableMilestonesClient Milestone { get; } + /// + /// Client for reading various event information associated with issues/pull requests. + /// This is useful both for display on issue/pull request information pages and also to + /// determine who should be notified of comments. + /// + IObservableIssuesEventsClient Events { get; } + + /// + /// Client for managing labels. + /// + IObservableIssuesLabelsClient Labels { get; } + + /// + /// Client for managing comments. + /// + IObservableIssueCommentsClient Comment { get; } + /// /// Gets a single Issue by number. /// diff --git a/Octokit.Reactive/Clients/ObservableIssuesClient.cs b/Octokit.Reactive/Clients/ObservableIssuesClient.cs index c9042400..7cc318fc 100644 --- a/Octokit.Reactive/Clients/ObservableIssuesClient.cs +++ b/Octokit.Reactive/Clients/ObservableIssuesClient.cs @@ -10,8 +10,10 @@ namespace Octokit.Reactive readonly IConnection _connection; public IObservableAssigneesClient Assignee { get; private set; } + public IObservableIssueCommentsClient Comment { get; private set; } + public IObservableIssuesEventsClient Events { get; private set; } + public IObservableIssuesLabelsClient Labels { get; private set; } public IObservableMilestonesClient Milestone { get; private set; } - public IObservableIssueCommentsClient Comments { get; private set; } public ObservableIssuesClient(IGitHubClient client) { @@ -20,8 +22,10 @@ namespace Octokit.Reactive _client = client.Issue; _connection = client.Connection; Assignee = new ObservableAssigneesClient(client); + Events = new ObservableIssuesEventsClient(client); + Labels = new ObservableIssuesLabelsClient(client); Milestone = new ObservableMilestonesClient(client); - Comments = new ObservableIssueCommentsClient(client); + Comment = new ObservableIssueCommentsClient(client); } /// diff --git a/Octokit.Reactive/Clients/ObservableIssuesLabelsClient.cs b/Octokit.Reactive/Clients/ObservableIssuesLabelsClient.cs new file mode 100644 index 00000000..e3f0af25 --- /dev/null +++ b/Octokit.Reactive/Clients/ObservableIssuesLabelsClient.cs @@ -0,0 +1,15 @@ +namespace Octokit.Reactive +{ + public class ObservableIssuesLabelsClient : IObservableIssuesLabelsClient + { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + IIssuesLabelsClient _client; + + public ObservableIssuesLabelsClient(IGitHubClient client) + { + Ensure.ArgumentNotNull(client, "client"); + + _client = client.Issue.Labels; + } + } +} \ No newline at end of file diff --git a/Octokit.Reactive/Octokit.Reactive.csproj b/Octokit.Reactive/Octokit.Reactive.csproj index 1fbf8172..c4509d4a 100644 --- a/Octokit.Reactive/Octokit.Reactive.csproj +++ b/Octokit.Reactive/Octokit.Reactive.csproj @@ -77,6 +77,7 @@ + diff --git a/Octokit/Clients/IIssuesClient.cs b/Octokit/Clients/IIssuesClient.cs index e2c84873..b0071f2c 100644 --- a/Octokit/Clients/IIssuesClient.cs +++ b/Octokit/Clients/IIssuesClient.cs @@ -12,6 +12,9 @@ namespace Octokit /// public interface IIssuesClient { + /// + /// Client for managing assignees. + /// IAssigneesClient Assignee { get; } /// diff --git a/Octokit/Clients/IssuesClient.cs b/Octokit/Clients/IssuesClient.cs index 85cded5a..4b96db0b 100644 --- a/Octokit/Clients/IssuesClient.cs +++ b/Octokit/Clients/IssuesClient.cs @@ -24,6 +24,9 @@ namespace Octokit Comment = new IssueCommentsClient(apiConnection); } + /// + /// Client for managing assignees. + /// public IAssigneesClient Assignee { get; private set; } /// /// Client for reading various event information associated with issues/pull requests.