diff --git a/Octokit.Reactive/Clients/IObservableRepoCollaboratorsClient.cs b/Octokit.Reactive/Clients/IObservableRepoCollaboratorsClient.cs new file mode 100644 index 00000000..610c872d --- /dev/null +++ b/Octokit.Reactive/Clients/IObservableRepoCollaboratorsClient.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Reactive; + +namespace Octokit.Reactive +{ + public interface IObservableRepoCollaboratorsClient + { + /// + /// Gets all the available collaborators on this repo. + /// + /// The owner of the repository + /// The name of the repository + /// + IObservable GetAll(string owner, string name); + + /// + /// Checks to see if a user is an assignee for a repository. + /// + /// The owner of the repository + /// The name of the repository + /// Username of the prospective collaborator + /// + IObservable IsCollaborator(string owner, string name, string user); + + /// + /// Adds a user as a collaborator to a repository. + /// + /// The owner of the repository + /// The name of the repository + /// Username of the prospective collaborator + /// + IObservable Add(string owner, string name, string user); + + /// + /// Removes a user as a collaborator for a repository. + /// + /// The owner of the repository + /// The name of the repository + /// Username of the prospective collaborator + /// + IObservable Delete(string owner, string name, string user); + } +}