using System;
using System.Reactive;
using System.Reactive.Threading.Tasks;
namespace Octokit.Reactive
{
public class ObservableReactionsClient : IObservableReactionsClient
{
readonly IReactionsClient _client;
public ObservableReactionsClient(IGitHubClient client)
{
Ensure.ArgumentNotNull(client, "client");
_client = client.Reaction;
CommitComment = new ObservableCommitCommentReactionsClient(client);
Issue = new ObservableIssueReactionsClient(client);
IssueComment = new ObservableIssueCommentReactionsClient(client);
PullRequestReviewComment = new ObservablePullRequestReviewCommentReactionsClient(client);
}
///
/// Access GitHub's Reactions API for Commit Comments.
///
///
/// Refer to the API documentation for more information: https://developer.github.com/v3/reactions/
///
public IObservableCommitCommentReactionsClient CommitComment { get; private set; }
///
/// Access GitHub's Reactions API for Issues.
///
///
/// Refer to the API documentation for more information: https://developer.github.com/v3/reactions/
///
public IObservableIssueReactionsClient Issue { get; private set; }
///
/// Access GitHub's Reactions API for Issue Comments.
///
///
/// Refer to the API documentation for more information: https://developer.github.com/v3/reactions/
///
public IObservableIssueCommentReactionsClient IssueComment { get; private set; }
///
/// Access GitHub's Reactions API for Pull Request Review Comments.
///
///
/// Refer to the API documentation for more information: https://developer.github.com/v3/reactions/
///
public IObservablePullRequestReviewCommentReactionsClient PullRequestReviewComment { get; private set; }
///
/// Delete a reaction.
///
/// https://developer.github.com/v3/reactions/#delete-a-reaction
/// The reaction id
///
public IObservable Delete(int number)
{
return _client.Delete(number).ToObservable();
}
}
}