using System; using System.Diagnostics.CodeAnalysis; using System.Reactive; namespace Octokit.Reactive { /// /// A client for GitHub's Issues API. /// /// /// See the Issues API documentation for more information. /// public interface IObservableIssuesClient { /// /// Client for managing assignees. /// IObservableAssigneesClient Assignee { get; } /// /// Client for managing milestones. /// 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. /// /// /// http://developer.github.com/v3/issues/#get-a-single-issue /// /// The owner of the repository /// The name of the repository /// The issue number /// A signal containing the requested s. [SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get", Justification = "Method makes a network request")] IObservable Get(string owner, string name, int number); /// /// Gets a single Issue by number. /// /// /// http://developer.github.com/v3/issues/#get-a-single-issue /// /// The ID of the repository /// The issue number /// A signal containing the requested s. [SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get", Justification = "Method makes a network request")] IObservable Get(int repositoryId, int number); /// /// 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. /// /// /// Issues are sorted by the create date descending. /// http://developer.github.com/v3/issues/#list-issues /// /// A signal containing one or more s. IObservable GetAllForCurrent(); /// /// 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. /// /// Options for changing the API response /// /// Issues are sorted by the create date descending. /// http://developer.github.com/v3/issues/#list-issues /// /// A signal containing one or more s. IObservable GetAllForCurrent(ApiOptions options); /// /// Gets all issues across all the authenticated user’s visible repositories including owned repositories, /// member repositories, and organization repositories. /// /// /// http://developer.github.com/v3/issues/#list-issues /// /// Used to filter and sort the list of issues returned /// A signal containing one or more s. IObservable GetAllForCurrent(IssueRequest request); /// /// Gets all issues across all the authenticated user’s visible repositories including owned repositories, /// member repositories, and organization repositories. /// /// /// http://developer.github.com/v3/issues/#list-issues /// /// Used to filter and sort the list of issues returned /// Options for changing the API response /// A signal containing one or more s. IObservable GetAllForCurrent(IssueRequest request, ApiOptions options); /// /// Gets all open issues assigned to the authenticated user across owned and member repositories for the /// authenticated user. /// /// /// Issues are sorted by the create date descending. /// http://developer.github.com/v3/issues/#list-issues /// /// A signal containing one or more s. IObservable GetAllForOwnedAndMemberRepositories(); /// /// Gets all open issues assigned to the authenticated user across owned and member repositories for the /// authenticated user. /// /// Options for changing the API response /// /// Issues are sorted by the create date descending. /// http://developer.github.com/v3/issues/#list-issues /// /// A signal containing one or more s. IObservable GetAllForOwnedAndMemberRepositories(ApiOptions options); /// /// Gets all issues across owned and member repositories for the authenticated user. /// /// /// http://developer.github.com/v3/issues/#list-issues /// /// Used to filter and sort the list of issues returned /// A signal containing one or more s. IObservable GetAllForOwnedAndMemberRepositories(IssueRequest request); /// /// Gets all issues across owned and member repositories for the authenticated user. /// /// /// http://developer.github.com/v3/issues/#list-issues /// /// Used to filter and sort the list of issues returned /// Options for changing the API response /// A signal containing one or more s. IObservable GetAllForOwnedAndMemberRepositories(IssueRequest request, ApiOptions options); /// /// Gets all open issues assigned to the authenticated user for a given organization for the authenticated user. /// /// /// http://developer.github.com/v3/issues/#list-issues /// /// The name of the organization /// A signal containing one or more s. IObservable GetAllForOrganization(string organization); /// /// Gets all open issues assigned to the authenticated user for a given organization for the authenticated user. /// /// /// http://developer.github.com/v3/issues/#list-issues /// /// The name of the organization /// Options for changing the API response /// A signal containing one or more s. IObservable GetAllForOrganization(string organization, ApiOptions options); /// /// Gets all issues for a given organization for the authenticated user. /// /// /// http://developer.github.com/v3/issues/#list-issues /// /// The name of the organization /// Used to filter and sort the list of issues returned /// A signal containing one or more s. IObservable GetAllForOrganization(string organization, IssueRequest request); /// /// Gets all issues for a given organization for the authenticated user. /// /// /// http://developer.github.com/v3/issues/#list-issues /// /// The name of the organization /// Used to filter and sort the list of issues returned /// Options for changing the API response /// A signal containing one or more s. IObservable GetAllForOrganization(string organization, IssueRequest request, ApiOptions options); /// /// Gets all open issues assigned to the authenticated user for the repository. /// /// /// http://developer.github.com/v3/issues/#list-issues-for-a-repository /// /// The owner of the repository /// The name of the repository /// A signal containing one or more s. IObservable GetAllForRepository(string owner, string name); /// /// Gets all open issues assigned to the authenticated user for the repository. /// /// /// http://developer.github.com/v3/issues/#list-issues-for-a-repository /// /// The ID of the repository /// A signal containing one or more s. IObservable GetAllForRepository(int repositoryId); /// /// Gets all open issues assigned to the authenticated user for the repository. /// /// /// http://developer.github.com/v3/issues/#list-issues-for-a-repository /// /// The owner of the repository /// The name of the repository /// Options for changing the API response /// A signal containing one or more s. IObservable GetAllForRepository(string owner, string name, ApiOptions options); /// /// Gets all open issues assigned to the authenticated user for the repository. /// /// /// http://developer.github.com/v3/issues/#list-issues-for-a-repository /// /// The ID of the repository /// Options for changing the API response /// A signal containing one or more s. IObservable GetAllForRepository(int repositoryId, ApiOptions options); /// /// Gets issues for a repository. /// /// /// http://developer.github.com/v3/issues/#list-issues-for-a-repository /// /// The owner of the repository /// The name of the repository /// Used to filter and sort the list of issues returned /// A signal containing one or more s. IObservable GetAllForRepository(string owner, string name, RepositoryIssueRequest request); /// /// Gets issues for a repository. /// /// /// http://developer.github.com/v3/issues/#list-issues-for-a-repository /// /// The ID of the repository /// Used to filter and sort the list of issues returned /// A signal containing one or more s. IObservable GetAllForRepository(int repositoryId, RepositoryIssueRequest request); /// /// Gets issues for a repository. /// /// /// http://developer.github.com/v3/issues/#list-issues-for-a-repository /// /// The owner of the repository /// The name of the repository /// Used to filter and sort the list of issues returned /// Options for changing the API response /// A signal containing one or more s. IObservable GetAllForRepository(string owner, string name, RepositoryIssueRequest request, ApiOptions options); /// /// Gets issues for a repository. /// /// /// http://developer.github.com/v3/issues/#list-issues-for-a-repository /// /// The ID of the repository /// Used to filter and sort the list of issues returned /// Options for changing the API response /// A signal containing one or more s. IObservable GetAllForRepository(int repositoryId, RepositoryIssueRequest request, ApiOptions options); /// /// Creates an issue for the specified repository. Any user with pull access to a repository can create an /// issue. /// /// http://developer.github.com/v3/issues/#create-an-issue /// The owner of the repository /// The name of the repository /// A instance describing the new issue to create /// A signal containing the new . IObservable Create(string owner, string name, NewIssue newIssue); /// /// Creates an issue for the specified repository. Any user with pull access to a repository can create an /// issue. /// /// http://developer.github.com/v3/issues/#create-an-issue /// The ID of the repository /// A instance describing the new issue to create /// A signal containing the new . IObservable Create(int repositoryId, NewIssue newIssue); /// /// Creates an issue for the specified repository. Any user with pull access to a repository can create an /// issue. /// /// http://developer.github.com/v3/issues/#create-an-issue /// The owner of the repository /// The name of the repository /// The issue number /// An instance describing the changes to make to the issue /// /// A signal containing the updated . IObservable Update(string owner, string name, int number, IssueUpdate issueUpdate); /// /// Creates an issue for the specified repository. Any user with pull access to a repository can create an /// issue. /// /// http://developer.github.com/v3/issues/#create-an-issue /// The ID of the repository /// The issue number /// An instance describing the changes to make to the issue /// /// A signal containing the updated . IObservable Update(int repositoryId, int number, IssueUpdate issueUpdate); /// /// Locks an issue for the specified repository. Issue owners and users with push access can lock an issue. /// /// https://developer.github.com/v3/issues/#lock-an-issue /// The owner of the repository /// The name of the repository /// The issue number /// A signal indicating completion. IObservable Lock(string owner, string name, int number); /// /// Locks an issue for the specified repository. Issue owners and users with push access can lock an issue. /// /// https://developer.github.com/v3/issues/#lock-an-issue /// The ID of the repository /// The issue number /// A signal indicating completion. IObservable Lock(int repositoryId, int number); /// /// Unlocks an issue for the specified repository. Issue owners and users with push access can unlock an issue. /// /// https://developer.github.com/v3/issues/#unlock-an-issue /// The owner of the repository /// The name of the repository /// The issue number /// A signal indicating completion. IObservable Unlock(string owner, string name, int number); /// /// Unlocks an issue for the specified repository. Issue owners and users with push access can unlock an issue. /// /// https://developer.github.com/v3/issues/#unlock-an-issue /// The ID of the repository /// The issue number /// A signal indicating completion. IObservable Unlock(int repositoryId, int number); } }