using System; using System.Diagnostics.CodeAnalysis; using System.Reactive; namespace Octokit.Reactive { public interface IObservableRepositoryCommentsClient { /// /// Gets a single Repository Comment by number. /// /// http://developer.github.com/v3/repos/comments/#get-a-single-commit-comment /// The owner of the repository /// The name of the repository /// The comment id /// [SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get", Justification = "Method makes a network request")] IObservable Get(string owner, string name, int number); /// /// Gets Commit Comments for a repository. /// /// http://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository /// The owner of the repository /// The name of the repository /// IObservable GetAllForRepository(string owner, string name); /// /// Gets Commit Comments for a specified Commit. /// /// http://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit /// The owner of the repository /// The name of the repository /// The sha of the commit /// IObservable GetAllForCommit(string owner, string name, string sha); /// /// Creates a new Commit Comment for a specified Commit. /// /// http://developer.github.com/v3/repos/comments/#create-a-commit-comment /// The owner of the repository /// The name of the repository /// The sha reference of commit /// The new comment to add to the commit /// IObservable Create(string owner, string name, string sha, NewCommitComment newCommitComment); /// /// Updates a specified Commit Comment. /// /// http://developer.github.com/v3/repos/comments/#update-a-commit-comment /// The owner of the repository /// The name of the repository /// The comment number /// The modified comment /// IObservable Update(string owner, string name, int number, string commentUpdate); /// /// Deletes the specified Commit Comment /// /// http://developer.github.com/v3/repos/comments/#delete-a-commit-comment /// The owner of the repository /// The name of the repository /// The comment id /// IObservable Delete(string owner, string name, int number); } }