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