Files
octokit.net/Octokit/Clients/Enterprise/EnterpriseManagementConsoleClient.cs
2020-03-04 21:10:38 -04:00

53 lines
2.3 KiB
C#

using System.Threading.Tasks;
namespace Octokit
{
/// <summary>
/// A client for GitHub's Enterprise Management Console API
/// </summary>
/// <remarks>
/// See the <a href="https://developer.github.com/v3/enterprise/management_console/">Enterprise Management Console API documentation</a> for more information.
///</remarks>
public class EnterpriseManagementConsoleClient : ApiClient, IEnterpriseManagementConsoleClient
{
public EnterpriseManagementConsoleClient(IApiConnection apiConnection)
: base(apiConnection)
{ }
/// <summary>
/// Gets GitHub Enterprise Maintenance Mode Status
/// </summary>
/// <remarks>
/// https://developer.github.com/v3/enterprise/management_console/#check-maintenance-status
/// </remarks>
/// <returns>The <see cref="MaintenanceModeResponse"/>.</returns>
[ManualRoute("GET", "/setup/api/maintenance")]
public Task<MaintenanceModeResponse> GetMaintenanceMode(string managementConsolePassword)
{
Ensure.ArgumentNotNullOrEmptyString(managementConsolePassword, "managementConsolePassword");
var endpoint = ApiUrls.EnterpriseManagementConsoleMaintenance(managementConsolePassword, ApiConnection.Connection.BaseAddress);
return ApiConnection.Get<MaintenanceModeResponse>(endpoint);
}
/// <summary>
/// Sets GitHub Enterprise Maintenance Mode
/// </summary>
/// <remarks>
/// https://developer.github.com/v3/enterprise/management_console/#check-maintenance-status
/// </remarks>
/// <returns>The <see cref="MaintenanceModeResponse"/>.</returns>
[ManualRoute("POST", "/setup/api/maintenance")]
public Task<MaintenanceModeResponse> EditMaintenanceMode(UpdateMaintenanceRequest maintenance, string managementConsolePassword)
{
Ensure.ArgumentNotNull(maintenance, "maintenance");
Ensure.ArgumentNotNullOrEmptyString(managementConsolePassword, "managementConsolePassword");
var endpoint = ApiUrls.EnterpriseManagementConsoleMaintenance(managementConsolePassword, ApiConnection.Connection.BaseAddress);
return ApiConnection.Post<MaintenanceModeResponse>(endpoint, maintenance.ToFormUrlEncodedParameterString());
}
}
}