using System.Threading.Tasks; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System; namespace Octokit { /// /// A client for GitHub's Orgs API. /// /// /// See the Orgs API documentation for more information. /// public interface IOrganizationsClient { /// /// Returns a client to manage members of an organization. /// IOrganizationMembersClient Member { get; } /// /// Returns a client to manage teams of an organization. /// ITeamsClient Team { get; } /// /// A client for GitHub's Organization Hooks API. /// /// See Hooks API documentation for more information. IOrganizationHooksClient Hook { get; } /// /// Returns a client to manage outside collaborators of an organization. /// IOrganizationOutsideCollaboratorsClient OutsideCollaborator { get; } /// /// Returns the specified . /// /// login of the organization to get /// Thrown when a general API error occurs. /// The specified . [SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get" , Justification = "It's fine. Trust us.")] Task Get(string org); /// /// Returns all s for the current user. /// /// Thrown when a general API error occurs. /// A list of the current user's s. [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Method makes a network request")] Task> GetAllForCurrent(); /// /// Returns all s for the current user. /// /// Options for changing the API response /// Thrown when a general API error occurs. /// A list of the current user's s. [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Method makes a network request")] Task> GetAllForCurrent(ApiOptions options); /// /// Returns all s for the specified user. /// /// Thrown when a general API error occurs. /// A list of the specified user's s. Task> GetAllForUser(string user); /// /// Returns all s for the specified user. /// /// The login of the user /// Options for changing the API response /// Thrown when a general API error occurs. /// A list of the specified user's s. Task> GetAllForUser(string user, ApiOptions options); /// /// Returns all s. /// /// Thrown when a general API error occurs. /// A list of s. [ExcludeFromPaginationApiOptionsConventionTest("This API call uses the OrganizationRequest.Since parameter for pagination")] Task> GetAll(); /// /// Returns all s. /// /// Search parameters of the last organization seen /// Thrown when a general API error occurs. /// A list of s. [ExcludeFromPaginationApiOptionsConventionTest("This API call uses the OrganizationRequest.Since parameter for pagination")] Task> 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 Task Update(string org, OrganizationUpdate updateRequest); } }