Implemented the rest of the User Administration Client and tests, including observable classes.

This commit is contained in:
Jasmine
2016-01-28 19:29:30 -05:00
parent e93aa31351
commit 9e2eda5cee
8 changed files with 282 additions and 32 deletions
@@ -4,38 +4,52 @@ using System.Reactive;
namespace Octokit.Reactive
{
/// <summary>
/// A client for GitHub's User Administration API.
/// </summary>
/// <remarks>
/// See the <a href="https://developer.github.com/v3/users/administration/">Administration API documentation</a> for more details.
/// </remarks>
public interface IObservableUserAdministrationClient
{
/// <summary>
/// A client for GitHub's User Administration API.
/// Promotes ordinary user to a site administrator.
/// </summary>
/// <remarks>
/// See the <a href="https://developer.github.com/v3/users/administration/">Administration API documentation</a> for more details.
/// https://developer.github.com/v3/users/administration/#promote-an-ordinary-user-to-a-site-administrator
/// </remarks>
/// <param name="login">The user to promote to administrator.</param>
/// <returns></returns>
IObservable<Unit> Promote(string login);
/// <summary>
/// A client for GitHub's User Administration API.
/// Demotes a site administrator to an ordinary user.
/// </summary>
/// <remarks>
/// See the <a href="https://developer.github.com/v3/users/administration/">Administration API documentation</a> for more details.
/// https://developer.github.com/v3/users/administration/#demote-a-site-administrator-to-an-ordinary-user
/// </remarks>
/// <param name="login">The user to demote from administrator.</param>
/// <returns></returns>
IObservable<Unit> Demote(string login);
/// <summary>
/// A client for GitHub's User Administration API.
/// Suspends a user.
/// </summary>
/// <remarks>
/// See the <a href="https://developer.github.com/v3/users/administration/">Administration API documentation</a> for more details.
/// https://developer.github.com/v3/users/administration/#suspend-a-user
/// </remarks>
/// <param name="login">The user to suspend.</param>
/// <returns></returns>
IObservable<Unit> Suspend(string login);
/// <summary>
/// A client for GitHub's User Administration API.
/// Unsuspends a user.
/// </summary>
/// <remarks>
/// See the <a href="https://developer.github.com/v3/users/administration/">Administration API documentation</a> for more details.
/// https://developer.github.com/v3/users/administration/#unsuspend-a-user
/// </remarks>
/// <param name="login">The user to unsuspend.</param>
/// <returns></returns>
IObservable<Unit> Unsuspend(string login);
}