using System;
using System.Diagnostics.CodeAnalysis;
namespace Octokit.Reactive
{
public interface IObservableOrganizationsClient
{
///
/// Returns a client to manage members of an organization.
///
IObservableOrganizationMembersClient Member { get; }
///
/// Returns a client to manage teams for an organization.
///
IObservableTeamsClient Team { get; }
///
/// A client for GitHub's Organization Hooks API.
///
/// See Hooks API documentation for more information.
IObservableOrganizationHooksClient Hook { get; }
///
/// Returns a client to manage outside collaborators of an organization.
///
IObservableOrganizationOutsideCollaboratorsClient OutsideCollaborator { get; }
///
/// Returns a client to manage organization actions.
///
IObservableOrganizationActionsClient Actions { get; }
///
/// Returns a client to manage organization custom properties.
///
IObservableOrganizationCustomPropertiesClient CustomProperty { get; }
///
/// Returns the specified organization.
///
/// The login of the specified organization,
///
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get"
, Justification = "It's fine. Trust us.")]
IObservable Get(string org);
///
/// Returns all the organizations for the current user.
///
///
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate",
Justification = "Method makes a network request")]
IObservable GetAllForCurrent();
///
/// Returns all the organizations for the current user.
///
/// Options for changing the API response
///
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate",
Justification = "Method makes a network request")]
IObservable GetAllForCurrent(ApiOptions options);
///
/// Returns all the organizations for the specified user
///
/// The login for the user
///
IObservable GetAllForUser(string user);
///
/// Returns all the organizations for the specified user
///
/// The login for the user
/// Options for changing the API response
///
IObservable GetAllForUser(string user, ApiOptions options);
///
/// Returns all the organizations
///
///
IObservable GetAll();
///
/// Returns all the organizations
///
/// Search parameters of the last organization seen
///
IObservable GetAll(OrganizationRequest request);
///
/// Update the specified organization with data from .
///
/// The name of the organization to update.
///
/// Thrown if the client is not authenticated.
/// A
IObservable Update(string org, OrganizationUpdate updateRequest);
///
/// Returns all s.
///
/// The organization name.
/// A list of s.
IObservable GetAllAuthorizations(string org);
///
/// Returns all s.
///
/// The organization name.
/// Options for changing the API response
/// A list of s.
IObservable GetAllAuthorizations(string org, ApiOptions options);
///
/// Returns all s.
///
/// The organization name.
/// Limits the list of credentials authorizations for an organization to a specific login
/// A list of s.
IObservable GetAllAuthorizations(string org, string login);
///
/// Returns all s.
///
/// The organization name.
/// Limits the list of credentials authorizations for an organization to a specific login
/// Options for changing the API response
/// A list of s.
IObservable GetAllAuthorizations(string org, string login, ApiOptions options);
}
}