using System; using System.Diagnostics.CodeAnalysis; using System.Reactive; namespace Octokit.Reactive { /// /// A client for GitHub's User Keys API. /// /// /// See the User Keys API documentation for more information. /// public interface IObservableUserKeysClient { /// /// Gets all verified public keys for a user. /// /// /// https://developer.github.com/v3/users/keys/#list-public-keys-for-a-user /// /// The @ handle of the user. /// Lists the verified public keys for a user. IObservable GetAll(string userName); /// /// Gets all verified public keys for a user. /// /// /// https://developer.github.com/v3/users/keys/#list-public-keys-for-a-user /// /// The @ handle of the user. /// Options to change API's behavior. /// Lists the verified public keys for a user. IObservable GetAll(string userName, ApiOptions options); /// /// Gets all public keys for the authenticated user. /// /// /// https://developer.github.com/v3/users/keys/#list-your-public-keys /// /// Lists the current user's keys. [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")] IObservable GetAllForCurrent(); /// /// Gets all public keys for the authenticated user. /// /// /// https://developer.github.com/v3/users/keys/#list-your-public-keys /// /// Options to change API's behavior. /// Lists the current user's keys. [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")] IObservable GetAllForCurrent(ApiOptions options); /// /// Retrieves the for the specified id. /// /// /// https://developer.github.com/v3/users/keys/#get-a-single-public-key /// /// The ID of the SSH key /// View extended details for a single public key. [SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get")] IObservable Get(int id); /// /// Create a public key . /// /// /// https://developer.github.com/v3/users/keys/#create-a-public-key /// /// The SSH Key contents /// Creates a public key. IObservable Create(NewPublicKey newKey); /// /// Delete a public key. /// /// /// https://developer.github.com/v3/users/keys/#delete-a-public-key /// /// The id of the key to delete /// Removes a public key. IObservable Delete(int id); } }