Skip to content

Commit

Permalink
Add ApiOption overloads to IIssuesClient and IObservableIssuesClient (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
shiftkey committed Jun 2, 2016
1 parent 029cefe commit dfebfe3
Show file tree
Hide file tree
Showing 8 changed files with 909 additions and 143 deletions.
139 changes: 117 additions & 22 deletions Octokit.Reactive/Clients/IObservableIssuesClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public interface IObservableIssuesClient
/// <param name="owner">The owner of the repository</param>
/// <param name="name">The name of the repository</param>
/// <param name="number">The issue number</param>
/// <returns></returns>
/// <returns>A signal containing the requested <see cref="Issue"/>s.</returns>
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get",
Justification = "Method makes a network request")]
IObservable<Issue> Get(string owner, string name, int number);
Expand All @@ -55,9 +55,21 @@ public interface IObservableIssuesClient
/// Issues are sorted by the create date descending.
/// http://developer.github.com/v3/issues/#list-issues
/// </remarks>
/// <returns></returns>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForCurrent();

/// <summary>
/// Gets all open issues assigned to the authenticated user across all the authenticated user’s visible
/// repositories including owned repositories, member repositories, and organization repositories.
/// </summary>
/// <param name="options">Options for changing the API response</param>
/// <remarks>
/// Issues are sorted by the create date descending.
/// http://developer.github.com/v3/issues/#list-issues
/// </remarks>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForCurrent(ApiOptions options);

/// <summary>
/// Gets all issues across all the authenticated user’s visible repositories including owned repositories,
/// member repositories, and organization repositories.
Expand All @@ -66,9 +78,21 @@ public interface IObservableIssuesClient
/// http://developer.github.com/v3/issues/#list-issues
/// </remarks>
/// <param name="request">Used to filter and sort the list of issues returned</param>
/// <returns></returns>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForCurrent(IssueRequest request);

/// <summary>
/// Gets all issues across all the authenticated user’s visible repositories including owned repositories,
/// member repositories, and organization repositories.
/// </summary>
/// <remarks>
/// http://developer.github.com/v3/issues/#list-issues
/// </remarks>
/// <param name="request">Used to filter and sort the list of issues returned</param>
/// <param name="options">Options for changing the API response</param>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForCurrent(IssueRequest request, ApiOptions options);

/// <summary>
/// Gets all open issues assigned to the authenticated user across owned and member repositories for the
/// authenticated user.
Expand All @@ -77,29 +101,63 @@ public interface IObservableIssuesClient
/// Issues are sorted by the create date descending.
/// http://developer.github.com/v3/issues/#list-issues
/// </remarks>
/// <returns></returns>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForOwnedAndMemberRepositories();

/// <summary>
/// Gets all open issues assigned to the authenticated user across owned and member repositories for the
/// authenticated user.
/// </summary>
/// <param name="options">Options for changing the API response</param>
/// <remarks>
/// Issues are sorted by the create date descending.
/// http://developer.github.com/v3/issues/#list-issues
/// </remarks>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForOwnedAndMemberRepositories(ApiOptions options);

/// <summary>
/// Gets all issues across owned and member repositories for the authenticated user.
/// </summary>
/// <remarks>
/// http://developer.github.com/v3/issues/#list-issues
/// </remarks>
/// <param name="request">Used to filter and sort the list of issues returned</param>
/// <returns></returns>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForOwnedAndMemberRepositories(IssueRequest request);

/// <summary>
/// Gets all issues across owned and member repositories for the authenticated user.
/// </summary>
/// <remarks>
/// http://developer.github.com/v3/issues/#list-issues
/// </remarks>
/// <param name="request">Used to filter and sort the list of issues returned</param>
/// <param name="options">Options for changing the API response</param>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForOwnedAndMemberRepositories(IssueRequest request, ApiOptions options);

/// <summary>
/// Gets all open issues assigned to the authenticated user for a given organization for the authenticated user.
/// </summary>
/// <remarks>
/// http://developer.github.com/v3/issues/#list-issues
/// </remarks>
/// <param name="organization">The name of the organization</param>
/// <returns></returns>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForOrganization(string organization);

/// <summary>
/// Gets all open issues assigned to the authenticated user for a given organization for the authenticated user.
/// </summary>
/// <remarks>
/// http://developer.github.com/v3/issues/#list-issues
/// </remarks>
/// <param name="organization">The name of the organization</param>
/// <param name="options">Options for changing the API response</param>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForOrganization(string organization, ApiOptions options);

/// <summary>
/// Gets all issues for a given organization for the authenticated user.
/// </summary>
Expand All @@ -108,9 +166,21 @@ public interface IObservableIssuesClient
/// </remarks>
/// <param name="organization">The name of the organization</param>
/// <param name="request">Used to filter and sort the list of issues returned</param>
/// <returns></returns>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForOrganization(string organization, IssueRequest request);

/// <summary>
/// Gets all issues for a given organization for the authenticated user.
/// </summary>
/// <remarks>
/// http://developer.github.com/v3/issues/#list-issues
/// </remarks>
/// <param name="organization">The name of the organization</param>
/// <param name="request">Used to filter and sort the list of issues returned</param>
/// <param name="options">Options for changing the API response</param>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForOrganization(string organization, IssueRequest request, ApiOptions options);

/// <summary>
/// Gets all open issues assigned to the authenticated user for the repository.
/// </summary>
Expand All @@ -119,9 +189,21 @@ public interface IObservableIssuesClient
/// </remarks>
/// <param name="owner">The owner of the repository</param>
/// <param name="name">The name of the repository</param>
/// <returns></returns>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForRepository(string owner, string name);

/// <summary>
/// Gets all open issues assigned to the authenticated user for the repository.
/// </summary>
/// <remarks>
/// http://developer.github.com/v3/issues/#list-issues-for-a-repository
/// </remarks>
/// <param name="owner">The owner of the repository</param>
/// <param name="name">The name of the repository</param>
/// <param name="options">Options for changing the API response</param>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForRepository(string owner, string name, ApiOptions options);

/// <summary>
/// Gets issues for a repository.
/// </summary>
Expand All @@ -131,9 +213,22 @@ public interface IObservableIssuesClient
/// <param name="owner">The owner of the repository</param>
/// <param name="name">The name of the repository</param>
/// <param name="request">Used to filter and sort the list of issues returned</param>
/// <returns></returns>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForRepository(string owner, string name, RepositoryIssueRequest request);

/// <summary>
/// Gets issues for a repository.
/// </summary>
/// <remarks>
/// http://developer.github.com/v3/issues/#list-issues-for-a-repository
/// </remarks>
/// <param name="owner">The owner of the repository</param>
/// <param name="name">The name of the repository</param>
/// <param name="request">Used to filter and sort the list of issues returned</param>
/// <param name="options">Options for changing the API response</param>
/// <returns>A signal containing one or more <see cref="Issue"/>s.</returns>
IObservable<Issue> GetAllForRepository(string owner, string name, RepositoryIssueRequest request, ApiOptions options);

/// <summary>
/// Creates an issue for the specified repository. Any user with pull access to a repository can create an
/// issue.
Expand All @@ -142,7 +237,7 @@ public interface IObservableIssuesClient
/// <param name="owner">The owner of the repository</param>
/// <param name="name">The name of the repository</param>
/// <param name="newIssue">A <see cref="NewIssue"/> instance describing the new issue to create</param>
/// <returns></returns>
/// <returns>A signal containing the new <see cref="Issue"/>.</returns>
IObservable<Issue> Create(string owner, string name, NewIssue newIssue);

/// <summary>
Expand All @@ -155,18 +250,18 @@ public interface IObservableIssuesClient
/// <param name="number">The issue number</param>
/// <param name="issueUpdate">An <see cref="IssueUpdate"/> instance describing the changes to make to the issue
/// </param>
/// <returns></returns>
/// <returns>A signal containing the updated <see cref="Issue"/>.</returns>
IObservable<Issue> Update(string owner, string name, int number, IssueUpdate issueUpdate);
/// <summary>
/// Locks an issue for the specified repository. Issue owners and users with push access can lock an issue.
/// </summary>
/// <remarks>https://developer.github.com/v3/issues/#lock-an-issue</remarks>
/// <param name="owner">The owner of the repository</param>
/// <param name="name">The name of the repository</param>
/// <param name="number">The issue number</param>
/// <returns></returns>
IObservable<Unit> Lock(string owner, string name, int number);

/// <summary>
/// Locks an issue for the specified repository. Issue owners and users with push access can lock an issue.
/// </summary>
/// <remarks>https://developer.github.com/v3/issues/#lock-an-issue</remarks>
/// <param name="owner">The owner of the repository</param>
/// <param name="name">The name of the repository</param>
/// <param name="number">The issue number</param>
/// <returns>A signal indicating completion.</returns>
IObservable<Unit> Lock(string owner, string name, int number);

/// <summary>
/// Unlocks an issue for the specified repository. Issue owners and users with push access can unlock an issue.
Expand All @@ -175,7 +270,7 @@ public interface IObservableIssuesClient
/// <param name="owner">The owner of the repository</param>
/// <param name="name">The name of the repository</param>
/// <param name="number">The issue number</param>
/// <returns></returns>
/// <returns>A signal indicating completion.</returns>
IObservable<Unit> Unlock(string owner, string name, int number);
}
}
Loading

0 comments on commit dfebfe3

Please sign in to comment.