using System; using System.Diagnostics.CodeAnalysis; namespace Octokit.Reactive { public interface IObservableWatchedClient { /// /// Retrieves all of the watchers for the passed repository /// /// The owner of the repository /// The name of the repository /// Thrown if the client is not authenticated /// A of s watching the passed repository IObservable GetAllWatchers(string owner, string name); /// /// Retrieves all of the watched (ies) for the current user /// /// Thrown if the client is not authenticated /// A of [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")] IObservable GetAllForCurrent(); /// /// Retrieves all of the (ies) watched by the specified user /// /// The login of the user /// Thrown if the client is not authenticated /// A watched by the specified user IObservable GetAllForUser(string user); /// /// Check if a repository is watched by the current authenticated user /// /// The owner of the repository /// The name of the repository /// Thrown if the client is not authenticated /// A bool representing the success of the operation IObservable CheckWatched(string owner, string name); /// /// Stars a repository for the authenticated user. /// /// The owner of the repository to star /// The name of the repository to star /// A instance describing the new subscription to create /// A bool representing the success of starring IObservable WatchRepo(string owner, string name, NewSubscription newSubscription); /// /// Unstars a repository for the authenticated user. /// /// The owner of the repository to unstar /// The name of the repository to unstar /// A bool representing the success of the operation [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Unwatch", Justification = "Unwatch is consistent with the GitHub website")] IObservable UnwatchRepo(string owner, string name); } }