added missing properties to IObservableIssuesClient

This commit is contained in:
Brendan Forster
2014-02-07 10:50:09 +11:00
parent b310da1eb8
commit 6bdceee7b4
6 changed files with 48 additions and 2 deletions

View File

@@ -5,6 +5,9 @@ namespace Octokit.Reactive
{ {
public interface IObservableIssuesClient public interface IObservableIssuesClient
{ {
/// <summary>
/// Client for managing assignees.
/// </summary>
IObservableAssigneesClient Assignee { get; } IObservableAssigneesClient Assignee { get; }
/// <summary> /// <summary>
@@ -12,6 +15,23 @@ namespace Octokit.Reactive
/// </summary> /// </summary>
IObservableMilestonesClient Milestone { get; } IObservableMilestonesClient Milestone { get; }
/// <summary>
/// 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.
/// </summary>
IObservableIssuesEventsClient Events { get; }
/// <summary>
/// Client for managing labels.
/// </summary>
IObservableIssuesLabelsClient Labels { get; }
/// <summary>
/// Client for managing comments.
/// </summary>
IObservableIssueCommentsClient Comment { get; }
/// <summary> /// <summary>
/// Gets a single Issue by number. /// Gets a single Issue by number.
/// </summary> /// </summary>

View File

@@ -10,8 +10,10 @@ namespace Octokit.Reactive
readonly IConnection _connection; readonly IConnection _connection;
public IObservableAssigneesClient Assignee { get; private set; } 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 IObservableMilestonesClient Milestone { get; private set; }
public IObservableIssueCommentsClient Comments { get; private set; }
public ObservableIssuesClient(IGitHubClient client) public ObservableIssuesClient(IGitHubClient client)
{ {
@@ -20,8 +22,10 @@ namespace Octokit.Reactive
_client = client.Issue; _client = client.Issue;
_connection = client.Connection; _connection = client.Connection;
Assignee = new ObservableAssigneesClient(client); Assignee = new ObservableAssigneesClient(client);
Events = new ObservableIssuesEventsClient(client);
Labels = new ObservableIssuesLabelsClient(client);
Milestone = new ObservableMilestonesClient(client); Milestone = new ObservableMilestonesClient(client);
Comments = new ObservableIssueCommentsClient(client); Comment = new ObservableIssueCommentsClient(client);
} }
/// <summary> /// <summary>

View File

@@ -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;
}
}
}

View File

@@ -77,6 +77,7 @@
<Compile Include="Clients\IObservableIssuesLabelsClient.cs" /> <Compile Include="Clients\IObservableIssuesLabelsClient.cs" />
<Compile Include="Clients\IObservableWatchedClient.cs" /> <Compile Include="Clients\IObservableWatchedClient.cs" />
<Compile Include="Clients\IObservableFollowersClient.cs" /> <Compile Include="Clients\IObservableFollowersClient.cs" />
<Compile Include="Clients\ObservableIssuesLabelsClient.cs" />
<Compile Include="Clients\ObservableSearchClient.cs" /> <Compile Include="Clients\ObservableSearchClient.cs" />
<Compile Include="Clients\IObservableBlobsClient.cs" /> <Compile Include="Clients\IObservableBlobsClient.cs" />
<Compile Include="Clients\IObservableGistCommentsClient.cs" /> <Compile Include="Clients\IObservableGistCommentsClient.cs" />

View File

@@ -12,6 +12,9 @@ namespace Octokit
/// </remarks> /// </remarks>
public interface IIssuesClient public interface IIssuesClient
{ {
/// <summary>
/// Client for managing assignees.
/// </summary>
IAssigneesClient Assignee { get; } IAssigneesClient Assignee { get; }
/// <summary> /// <summary>

View File

@@ -24,6 +24,9 @@ namespace Octokit
Comment = new IssueCommentsClient(apiConnection); Comment = new IssueCommentsClient(apiConnection);
} }
/// <summary>
/// Client for managing assignees.
/// </summary>
public IAssigneesClient Assignee { get; private set; } public IAssigneesClient Assignee { get; private set; }
/// <summary> /// <summary>
/// Client for reading various event information associated with issues/pull requests. /// Client for reading various event information associated with issues/pull requests.