mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-06-09 21:09:51 +00:00
Add Reactive versions of organization API and unit/integration tests
This commit is contained in:
@@ -23,5 +23,13 @@
|
||||
/// See the <a href="https://developer.github.com/v3/enterprise/license/">Enterprise License API documentation</a> for more information.
|
||||
///</remarks>
|
||||
IObservableEnterpriseLicenseClient License { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A client for GitHub's Enterprise Organization API
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// See the <a href="https://developer.github.com/v3/enterprise/orgs/">Enterprise Organization API documentation</a> for more information.
|
||||
///</remarks>
|
||||
IObservableEnterpriseOrganizationClient Organization { get; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Reactive.Threading.Tasks;
|
||||
|
||||
namespace Octokit.Reactive
|
||||
{
|
||||
/// <summary>
|
||||
/// A client for GitHub's Enterprise Organization API
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// See the <a href="https://developer.github.com/v3/enterprise/orgs/">Enterprise Organization API documentation</a> for more information.
|
||||
///</remarks>
|
||||
public interface IObservableEnterpriseOrganizationClient
|
||||
{
|
||||
/// <summary>
|
||||
/// Creates an Organization on a GitHub Enterprise appliance (must be Site Admin user).
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// https://developer.github.com/v3/enterprise/orgs/#create-an-organization
|
||||
/// </remarks>
|
||||
/// <param name="newOrganization">A <see cref="NewOrganization"/> instance describing the organization to be created</param>
|
||||
/// <returns>The <see cref="Organization"/> created.</returns>
|
||||
IObservable<Organization> Create(NewOrganization newOrganization);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
AdminStats = new ObservableEnterpriseAdminStatsClient(client);
|
||||
License = new ObservableEnterpriseLicenseClient(client);
|
||||
Organization = new ObservableEnterpriseOrganizationClient(client);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -31,5 +32,13 @@
|
||||
/// See the <a href="https://developer.github.com/v3/enterprise/license/">Enterprise License API documentation</a> for more information.
|
||||
///</remarks>
|
||||
public IObservableEnterpriseLicenseClient License { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// A client for GitHub's Enterprise Organization API
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// See the <a href="https://developer.github.com/v3/enterprise/orgs/">Enterprise Organization API documentation</a> for more information.
|
||||
///</remarks>
|
||||
public IObservableEnterpriseOrganizationClient Organization { get; private set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
using System;
|
||||
using System.Reactive.Threading.Tasks;
|
||||
using Octokit;
|
||||
|
||||
|
||||
namespace Octokit.Reactive
|
||||
{
|
||||
/// <summary>
|
||||
/// A client for GitHub's Enterprise Organization API
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// See the <a href="https://developer.github.com/v3/enterprise/orgs/">Enterprise Organization API documentation</a> for more information.
|
||||
///</remarks>
|
||||
public class ObservableEnterpriseOrganizationClient : IObservableEnterpriseOrganizationClient
|
||||
{
|
||||
readonly IEnterpriseOrganizationClient _client;
|
||||
|
||||
public ObservableEnterpriseOrganizationClient(IGitHubClient client)
|
||||
{
|
||||
Ensure.ArgumentNotNull(client, "client");
|
||||
|
||||
_client = client.Enterprise.Organization;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates an Organization on a GitHub Enterprise appliance (must be Site Admin user).
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// https://developer.github.com/v3/enterprise/orgs/#create-an-organization
|
||||
/// </remarks>
|
||||
/// <param name="newOrganization">A <see cref="NewOrganization"/> instance describing the organization to be created</param>
|
||||
/// <returns>The <see cref="Organization"/> created.</returns>
|
||||
public IObservable<Organization> Create(NewOrganization newOrganization)
|
||||
{
|
||||
return _client.Create(newOrganization).ToObservable();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user