using System; using System.Collections.Generic; using System.Reactive; using System.Text; namespace Octokit.Reactive { /// /// A client for GitHub's Repository Secrets API. /// /// /// See the Repository Secrets API documentation for more details. /// public interface IObservableRepositorySecretsClient { /// /// Get the public signing key to encrypt secrets for a repository. /// /// /// See the API documentation for more information. /// /// The owner of the repository /// The name of the repository /// Thrown when a general API error occurs. /// A instance for the repository public key. IObservable GetPublicKey(string owner, string repoName); /// /// List the secrets for a repository. /// /// /// See the API documentation for more information. /// /// The owner of the repository /// The name of the repository /// Thrown when a general API error occurs. /// A instance for the list of repository secrets. IObservable GetAll(string owner, string repoName); /// /// Get a secret from a repository. /// /// /// See the API documentation for more information. /// /// The owner of the repository /// The name of the repository /// The name of the secret /// Thrown when a general API error occurs. /// A instance for the repository secret. IObservable Get(string owner, string repoName, string secretName); /// /// Create or update a secret in a repository. /// /// /// See the API documentation for more information. /// /// The owner of the repository /// The name of the repository /// The name of the secret /// The encrypted value and id of the encryption key /// Thrown when a general API error occurs. /// A instance for the repository secret that was created or updated. IObservable CreateOrUpdate(string owner, string repoName, string secretName, UpsertRepositorySecret upsertSecret); /// /// Delete a secret in a repository. /// /// /// See the API documentation for more information. /// /// The owner of the repository /// The name of the repository /// The name of the secret /// Thrown when a general API error occurs. IObservable Delete(string owner, string repoName, string secretName); } }