using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Threading.Tasks; namespace Octokit { /// /// A client for GitHub's Repository Projects API. /// /// /// See the Repository Projects API documentation for more information. /// public interface IProjectsClient { /// /// Get all projects for this repository. /// /// /// See the API documentation for more information. /// /// The owner of the repository /// The name of the repository Task> GetAllForRepository(string owner, string name); /// /// Get all projects for this repository. /// /// /// See the API documentation for more information. /// /// The owner of the repository /// The name of the repository /// Used to filter the list of projects returned Task> GetAllForRepository(string owner, string name, ProjectRequest request); /// /// Get all projects for this repository. /// /// /// See the API documentation for more information. /// /// The Id of the repository Task> GetAllForRepository(long repositoryId); /// /// Get all projects for this repository. /// /// /// See the API documentation for more information. /// /// The Id of the repository /// Used to filter the list of projects returned Task> GetAllForRepository(long repositoryId, ProjectRequest request); /// /// Get all projects for this repository. /// /// /// See the API documentation for more information. /// /// The owner of the repository /// The name of the repository /// Options for changing the API response Task> GetAllForRepository(string owner, string name, ApiOptions options); /// /// Get all projects for this repository. /// /// /// See the API documentation for more information. /// /// The owner of the repository /// The name of the repository /// Used to filter the list of projects returned /// Options for changing the API response Task> GetAllForRepository(string owner, string name, ProjectRequest request, ApiOptions options); /// /// Get all projects for this repository. /// /// /// See the API documentation for more information. /// /// The Id of the repository /// Options for changing the API response Task> GetAllForRepository(long repositoryId, ApiOptions options); /// /// Get all projects for this repository. /// /// /// See the API documentation for more information. /// /// The Id of the repository /// Used to filter the list of projects returned /// Options for changing the API response Task> GetAllForRepository(long repositoryId, ProjectRequest request, ApiOptions options); /// /// Get all projects for the specified organization. /// /// /// See the API documentation for more information. /// /// The name of the organization Task> GetAllForOrganization(string organization); /// /// Get all projects for the specified organization. /// /// /// See the API documentation for more information. /// /// The name of the organization /// Used to filter the list of projects returned Task> GetAllForOrganization(string organization, ProjectRequest request); /// /// Get all projects for the specified organization. /// /// /// See the API documentation for more information. /// /// The name of the organization /// Options for changing the API response Task> GetAllForOrganization(string organization, ApiOptions options); /// /// Get all projects for the specified organization. /// /// /// See the API documentation for more information. /// /// The name of the organization /// Used to filter the list of projects returned /// Options for changing the API response Task> GetAllForOrganization(string organization, ProjectRequest request, ApiOptions options); /// /// Gets a single project for this repository. /// /// /// See the API documentation for more information. /// /// The Id of the project [SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get")] Task Get(int id); /// /// Creates a project for this repository. /// /// /// See the API documentation for more information. /// /// The id of the repository /// The new project to create for this repository Task CreateForRepository(long repositoryId, NewProject newProject); /// /// Creates a project for the specified organization. /// /// /// See the API documentation for more information. /// /// The name of the organization /// The new project to create for this repository Task CreateForOrganization(string organization, NewProject newProject); /// /// Updates a project for this repository. /// /// /// See the API documentation for more information. /// /// The Id of the project /// The modified project Task Update(int id, ProjectUpdate projectUpdate); /// /// Deletes a project. /// /// /// See the API documentation for more information. /// /// The Id of the project Task Delete(int id); /// /// A client for GitHub's Project Cards API. /// /// /// See the Repository Projects API documentation for more information. /// IProjectCardsClient Card { get; } /// /// A client for GitHub's Project Columns API. /// /// /// See the Repository Projects API documentation for more information. /// IProjectColumnsClient Column { get; } } }