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; } /// /// Client for reading the timeline of events for an issue /// IObservableIssueTimelineClient Timeline { get; } /// /// Client for locking/unlocking conversation on an issue /// IObservableLockUnlockClient LockUnlock { 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 [SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get", Justification = "Method makes a network request")] IObservable Get(string owner, string name, int issueNumber); /// /// Gets a single Issue by number. /// /// /// http://developer.github.com/v3/issues/#get-a-single-issue /// /// The Id of the repository /// The issue number [SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get", Justification = "Method makes a network request")] IObservable Get(long repositoryId, int issueNumber); /// /// 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 /// 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 /// 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 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 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 /// 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 /// 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 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 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 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 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 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 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 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 IObservable GetAllForRepository(long 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 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 IObservable GetAllForRepository(long 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 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 IObservable GetAllForRepository(long 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 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 IObservable GetAllForRepository(long 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 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 IObservable Create(long 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 /// IObservable Update(string owner, string name, int issueNumber, 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 /// IObservable Update(long repositoryId, int issueNumber, IssueUpdate issueUpdate); } }