Files
octokit.net/Octokit.Reactive/Clients/IObservableSshKeysClient.cs

59 lines
2.5 KiB
C#

using System;
using System.Diagnostics.CodeAnalysis;
using System.Reactive;
namespace Octokit.Reactive
{
public interface IObservableSshKeysClient
{
/// <summary>
/// Retrieves the <see cref="SshKey"/> for the specified id.
/// </summary>
/// <param name="id">The ID of the SSH key</param>
/// <returns>A <see cref="SshKey"/></returns>
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get")]
IObservable<SshKey> Get(int id);
/// <summary>
/// Retrieves the <see cref="SshKey"/> for the specified id.
/// </summary>
/// <param name="user">The login of the user</param>
/// <returns>A <see cref="IReadOnlyPagedCollection{SshKey}"/> of <see cref="SshKey"/>.</returns>
IObservable<SshKey> GetAll(string user);
/// <summary>
/// Retrieves the <see cref="SshKey"/> for the specified id.
/// </summary>
/// <exception cref="AuthorizationException">Thrown if the client is not authenticated.</exception>
/// <returns>A <see cref="IReadOnlyPagedCollection{SshKey}"/> of <see cref="SshKey"/>.</returns>
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate",
Justification = "Makes a network request")]
IObservable<SshKey> GetAllForCurrent();
/// <summary>
/// Update the specified <see cref="UserUpdate"/>.
/// </summary>
/// <param name="key">The SSH Key contents</param>
/// <exception cref="AuthorizationException">Thrown if the client is not authenticated.</exception>
/// <returns>A <see cref="User"/></returns>
IObservable<SshKey> Create(SshKeyUpdate key);
/// <summary>
/// Update the specified <see cref="UserUpdate"/>.
/// </summary>
/// <param name="id">The ID of the SSH key</param>
/// <param name="key">The SSH Key contents</param>
/// <exception cref="AuthorizationException">Thrown if the client is not authenticated.</exception>
/// <returns>A <see cref="User"/></returns>
IObservable<SshKey> Update(int id, SshKeyUpdate key);
/// <summary>
/// Update the specified <see cref="UserUpdate"/>.
/// </summary>
/// <param name="id">The id of the SSH key</param>
/// <exception cref="AuthorizationException">Thrown if the client is not authenticated.</exception>
/// <returns>A <see cref="User"/></returns>
IObservable<Unit> Delete(int id);
}
}