diff --git a/Octokit.Reactive/Clients/IObservableUsersClient.cs b/Octokit.Reactive/Clients/IObservableUsersClient.cs
index 6c23a459..e5125ca3 100644
--- a/Octokit.Reactive/Clients/IObservableUsersClient.cs
+++ b/Octokit.Reactive/Clients/IObservableUsersClient.cs
@@ -50,8 +50,17 @@ namespace Octokit.Reactive
///
/// See the Keys API documentation for more information.
///
+ [Obsolete("Ssh key information is now available under the GitSshKey property. This will be removed in a future update.")]
IObservableUserKeysClient Keys { get; }
+ ///
+ /// A client for GitHub's User Keys API
+ ///
+ ///
+ /// See the Keys API documentation for more information.
+ ///
+ IObservableUserKeysClient GitSshKey { get; }
+
///
/// A client for GitHub's UserUser GPG Keys API.
///
diff --git a/Octokit.Reactive/Clients/ObservableUserKeysClient.cs b/Octokit.Reactive/Clients/ObservableUserKeysClient.cs
index cc3590b4..02befe54 100644
--- a/Octokit.Reactive/Clients/ObservableUserKeysClient.cs
+++ b/Octokit.Reactive/Clients/ObservableUserKeysClient.cs
@@ -19,7 +19,7 @@ namespace Octokit.Reactive
{
Ensure.ArgumentNotNull(client, "client");
- _client = client.User.Keys;
+ _client = client.User.GitSshKey;
}
///
diff --git a/Octokit.Reactive/Clients/ObservableUsersClient.cs b/Octokit.Reactive/Clients/ObservableUsersClient.cs
index 30891c4d..79c6c9de 100644
--- a/Octokit.Reactive/Clients/ObservableUsersClient.cs
+++ b/Octokit.Reactive/Clients/ObservableUsersClient.cs
@@ -16,7 +16,10 @@ namespace Octokit.Reactive
Followers = new ObservableFollowersClient(client);
Email = new ObservableUserEmailsClient(client);
+#pragma warning disable CS0618 // Type or member is obsolete
Keys = new ObservableUserKeysClient(client);
+#pragma warning restore CS0618 // Type or member is obsolete
+ GitSshKey = new ObservableUserKeysClient(client);
GpgKey = new ObservableUserGpgKeysClient(client);
Administration = new ObservableUserAdministrationClient(client);
}
@@ -77,8 +80,17 @@ namespace Octokit.Reactive
///
/// See the Keys API documentation for more information.
///
+ [Obsolete("Ssh key information is now available under the GitSshKey property. This will be removed in a future update.")]
public IObservableUserKeysClient Keys { get; private set; }
+ ///
+ /// A client for GitHub's User Keys API
+ ///
+ ///
+ /// See the Keys API documentation for more information.
+ ///
+ public IObservableUserKeysClient GitSshKey { get; private set; }
+
///
/// A client for GitHub's UserUser GPG Keys API.
///
diff --git a/Octokit.Tests.Integration/Clients/UserKeysClientTests.cs b/Octokit.Tests.Integration/Clients/UserKeysClientTests.cs
index 8a711206..4df8f13f 100644
--- a/Octokit.Tests.Integration/Clients/UserKeysClientTests.cs
+++ b/Octokit.Tests.Integration/Clients/UserKeysClientTests.cs
@@ -14,7 +14,7 @@ namespace Octokit.Tests.Integration.Clients
using (var context = await github.CreatePublicKeyContext())
{
- var keys = await github.User.Keys.GetAllForCurrent();
+ var keys = await github.User.GitSshKey.GetAllForCurrent();
Assert.NotEmpty(keys);
var first = keys[0];
@@ -30,7 +30,7 @@ namespace Octokit.Tests.Integration.Clients
{
var github = Helper.GetAuthenticatedClient();
- var keys = await github.User.Keys.GetAll("shiftkey");
+ var keys = await github.User.GitSshKey.GetAll("shiftkey");
Assert.NotEmpty(keys);
var first = keys[0];
@@ -47,7 +47,7 @@ namespace Octokit.Tests.Integration.Clients
using (var context = await github.CreatePublicKeyContext())
{
- var key = await github.User.Keys.Get(context.KeyId);
+ var key = await github.User.GitSshKey.Get(context.KeyId);
Assert.Equal(key.Title, context.KeyTitle);
Assert.Equal(key.Key, context.KeyData);
@@ -62,17 +62,17 @@ namespace Octokit.Tests.Integration.Clients
string keyData = "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAjo4DqFKg8dOxiz/yjypmN1A4itU5QOStyYrfOFuTinesU/2zm9hqxJ5BctIhgtSHJ5foxkhsiBji0qrUg73Q25BThgNg8YFE8njr4EwjmqSqW13akx/zLV0GFFU0SdJ2F6rBldhi93lMnl0ex9swBqa3eLTY8C+HQGBI6MQUMw+BKp0oFkz87Kv+Pfp6lt/Uo32ejSxML1PT5hTH5n+fyl0ied+sRmPGZWmWoHB5Bc9mox7lB6I6A/ZgjtBqbEEn4HQ2/6vp4ojKfSgA4Mm7XMu0bZzX0itKjH1QWD9Lr5apV1cmZsj49Xf8SHucTtH+bq98hb8OOXEGFzplwsX2MQ==";
var github = Helper.GetAuthenticatedClient();
- var key = await github.User.Keys.Create(new NewPublicKey(keyTitle, keyData));
+ var key = await github.User.GitSshKey.Create(new NewPublicKey(keyTitle, keyData));
Assert.NotNull(key);
Assert.Equal(key.Title, "title");
Assert.Equal(key.Key, keyData);
// Delete key
- await github.User.Keys.Delete(key.Id);
+ await github.User.GitSshKey.Delete(key.Id);
// Verify key no longer exists
- var keys = await github.User.Keys.GetAllForCurrent();
+ var keys = await github.User.GitSshKey.GetAllForCurrent();
Assert.False(keys.Any(k => k.Title == keyTitle && k.Key == keyData));
}
}
diff --git a/Octokit.Tests.Integration/Helper.cs b/Octokit.Tests.Integration/Helper.cs
index c4479308..d5225abe 100644
--- a/Octokit.Tests.Integration/Helper.cs
+++ b/Octokit.Tests.Integration/Helper.cs
@@ -154,7 +154,7 @@ namespace Octokit.Tests.Integration
try
{
var client = new GitHubClient(connection);
- client.User.Keys.Delete(keyId).Wait(TimeSpan.FromSeconds(15));
+ client.User.GitSshKey.Delete(keyId).Wait(TimeSpan.FromSeconds(15));
}
catch { }
}
diff --git a/Octokit.Tests.Integration/Helpers/GithubClientExtensions.cs b/Octokit.Tests.Integration/Helpers/GithubClientExtensions.cs
index f4f2679a..ac7ef4b7 100644
--- a/Octokit.Tests.Integration/Helpers/GithubClientExtensions.cs
+++ b/Octokit.Tests.Integration/Helpers/GithubClientExtensions.cs
@@ -46,7 +46,7 @@ namespace Octokit.Tests.Integration.Helpers
string keyTitle = "title";
string keyData = "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAjo4DqFKg8dOxiz/yjypmN1A4itU5QOStyYrfOFuTinesU/2zm9hqxJ5BctIhgtSHJ5foxkhsiBji0qrUg73Q25BThgNg8YFE8njr4EwjmqSqW13akx/zLV0GFFU0SdJ2F6rBldhi93lMnl0ex9swBqa3eLTY8C+HQGBI6MQUMw+BKp0oFkz87Kv+Pfp6lt/Uo32ejSxML1PT5hTH5n+fyl0ied+sRmPGZWmWoHB5Bc9mox7lB6I6A/ZgjtBqbEEn4HQ2/6vp4ojKfSgA4Mm7XMu0bZzX0itKjH1QWD9Lr5apV1cmZsj49Xf8SHucTtH+bq98hb8OOXEGFzplwsX2MQ==";
- var key = await client.User.Keys.Create(new NewPublicKey(keyTitle, keyData));
+ var key = await client.User.GitSshKey.Create(new NewPublicKey(keyTitle, keyData));
return new PublicKeyContext(client.Connection, key);
}
diff --git a/Octokit.Tests.Integration/Helpers/ObservableGithubClientExtensions.cs b/Octokit.Tests.Integration/Helpers/ObservableGithubClientExtensions.cs
index 856abdcb..a3073409 100644
--- a/Octokit.Tests.Integration/Helpers/ObservableGithubClientExtensions.cs
+++ b/Octokit.Tests.Integration/Helpers/ObservableGithubClientExtensions.cs
@@ -48,7 +48,7 @@ namespace Octokit.Tests.Integration.Helpers
string keyTitle = "title";
string keyData = "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAjo4DqFKg8dOxiz/yjypmN1A4itU5QOStyYrfOFuTinesU/2zm9hqxJ5BctIhgtSHJ5foxkhsiBji0qrUg73Q25BThgNg8YFE8njr4EwjmqSqW13akx/zLV0GFFU0SdJ2F6rBldhi93lMnl0ex9swBqa3eLTY8C+HQGBI6MQUMw+BKp0oFkz87Kv+Pfp6lt/Uo32ejSxML1PT5hTH5n+fyl0ied+sRmPGZWmWoHB5Bc9mox7lB6I6A/ZgjtBqbEEn4HQ2/6vp4ojKfSgA4Mm7XMu0bZzX0itKjH1QWD9Lr5apV1cmZsj49Xf8SHucTtH+bq98hb8OOXEGFzplwsX2MQ==";
- var key = await client.User.Keys.Create(new NewPublicKey(keyTitle, keyData));
+ var key = await client.User.GitSshKey.Create(new NewPublicKey(keyTitle, keyData));
return new PublicKeyContext(client.Connection, key);
}
diff --git a/Octokit.Tests.Integration/Reactive/ObservableUserKeysClientTests.cs b/Octokit.Tests.Integration/Reactive/ObservableUserKeysClientTests.cs
index 56a04f1d..864d94ea 100644
--- a/Octokit.Tests.Integration/Reactive/ObservableUserKeysClientTests.cs
+++ b/Octokit.Tests.Integration/Reactive/ObservableUserKeysClientTests.cs
@@ -21,7 +21,7 @@ namespace Octokit.Tests.Integration.Clients
{
using (var context = await _github.CreatePublicKeyContext())
{
- var observable = _github.User.Keys.GetAllForCurrent();
+ var observable = _github.User.GitSshKey.GetAllForCurrent();
var keys = await observable.ToList();
Assert.NotEmpty(keys);
@@ -37,7 +37,7 @@ namespace Octokit.Tests.Integration.Clients
[IntegrationTest]
public async Task CanGetAllForGivenUser()
{
- var observable = _github.User.Keys.GetAll("shiftkey");
+ var observable = _github.User.GitSshKey.GetAll("shiftkey");
var keys = await observable.ToList();
Assert.NotEmpty(keys);
@@ -54,7 +54,7 @@ namespace Octokit.Tests.Integration.Clients
{
using (var context = await _github.CreatePublicKeyContext())
{
- var observable = _github.User.Keys.Get(context.KeyId);
+ var observable = _github.User.GitSshKey.Get(context.KeyId);
var key = await observable;
Assert.Equal(key.Title, context.KeyTitle);
@@ -69,7 +69,7 @@ namespace Octokit.Tests.Integration.Clients
string keyTitle = "title";
string keyData = "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAjo4DqFKg8dOxiz/yjypmN1A4itU5QOStyYrfOFuTinesU/2zm9hqxJ5BctIhgtSHJ5foxkhsiBji0qrUg73Q25BThgNg8YFE8njr4EwjmqSqW13akx/zLV0GFFU0SdJ2F6rBldhi93lMnl0ex9swBqa3eLTY8C+HQGBI6MQUMw+BKp0oFkz87Kv+Pfp6lt/Uo32ejSxML1PT5hTH5n+fyl0ied+sRmPGZWmWoHB5Bc9mox7lB6I6A/ZgjtBqbEEn4HQ2/6vp4ojKfSgA4Mm7XMu0bZzX0itKjH1QWD9Lr5apV1cmZsj49Xf8SHucTtH+bq98hb8OOXEGFzplwsX2MQ==";
- var observable = _github.User.Keys.Create(new NewPublicKey(keyTitle, keyData));
+ var observable = _github.User.GitSshKey.Create(new NewPublicKey(keyTitle, keyData));
var key = await observable;
Assert.NotNull(key);
@@ -77,10 +77,10 @@ namespace Octokit.Tests.Integration.Clients
Assert.Equal(key.Key, keyData);
// Delete key
- await _github.User.Keys.Delete(key.Id);
+ await _github.User.GitSshKey.Delete(key.Id);
// Verify key no longer exists
- var keys = await _github.User.Keys.GetAllForCurrent().ToList();
+ var keys = await _github.User.GitSshKey.GetAllForCurrent().ToList();
Assert.False(keys.Any(k => k.Title == keyTitle && k.Key == keyData));
}
}
diff --git a/Octokit.Tests/Reactive/ObservableUserKeysClientTests.cs b/Octokit.Tests/Reactive/ObservableUserKeysClientTests.cs
index 700e5f42..86d1c791 100644
--- a/Octokit.Tests/Reactive/ObservableUserKeysClientTests.cs
+++ b/Octokit.Tests/Reactive/ObservableUserKeysClientTests.cs
@@ -17,7 +17,7 @@ namespace Octokit.Tests.Reactive
client.GetAllForCurrent();
- gitHubClient.User.Keys.Received().GetAllForCurrent(Arg.Any());
+ gitHubClient.User.GitSshKey.Received().GetAllForCurrent(Arg.Any());
}
}
@@ -31,7 +31,7 @@ namespace Octokit.Tests.Reactive
client.GetAll("auser");
- gitHubClient.User.Keys.Received().GetAll("auser", Arg.Any());
+ gitHubClient.User.GitSshKey.Received().GetAll("auser", Arg.Any());
}
}
@@ -45,7 +45,7 @@ namespace Octokit.Tests.Reactive
client.Get(1);
- gitHubClient.User.Keys.Received().Get(1);
+ gitHubClient.User.GitSshKey.Received().Get(1);
}
}
@@ -59,7 +59,7 @@ namespace Octokit.Tests.Reactive
client.Create(new NewPublicKey("title", "ABCDEFG"));
- gitHubClient.User.Keys.Received().Create(
+ gitHubClient.User.GitSshKey.Received().Create(
Arg.Is(a =>
a.Title == "title" &&
a.Key == "ABCDEFG"));
@@ -76,7 +76,7 @@ namespace Octokit.Tests.Reactive
client.Delete(1);
- gitHubClient.User.Keys.Received().Delete(1);
+ gitHubClient.User.GitSshKey.Received().Delete(1);
}
}
diff --git a/Octokit/Clients/IUsersClient.cs b/Octokit/Clients/IUsersClient.cs
index 93c5fc34..73008554 100644
--- a/Octokit/Clients/IUsersClient.cs
+++ b/Octokit/Clients/IUsersClient.cs
@@ -1,4 +1,5 @@
-using System.Diagnostics.CodeAnalysis;
+using System;
+using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
namespace Octokit
@@ -25,8 +26,17 @@ namespace Octokit
///
/// See the Keys API documentation for more information.
///
+ [Obsolete("Ssh key information is now available under the GitSshKey property. This will be removed in a future update.")]
IUserKeysClient Keys { get; }
+ ///
+ /// A client for GitHub's User Keys API
+ ///
+ ///
+ /// See the Keys API documentation for more information.
+ ///
+ IUserKeysClient GitSshKey { get; }
+
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Gpg")]
IUserGpgKeysClient GpgKey { get; }
diff --git a/Octokit/Clients/UsersClient.cs b/Octokit/Clients/UsersClient.cs
index 1b98e13b..3b12832b 100644
--- a/Octokit/Clients/UsersClient.cs
+++ b/Octokit/Clients/UsersClient.cs
@@ -21,7 +21,10 @@ namespace Octokit
{
Email = new UserEmailsClient(apiConnection);
Followers = new FollowersClient(apiConnection);
+#pragma warning disable CS0618 // Type or member is obsolete
Keys = new UserKeysClient(apiConnection);
+#pragma warning restore CS0618 // Type or member is obsolete
+ GitSshKey = new UserKeysClient(apiConnection);
GpgKey = new UserGpgKeysClient(apiConnection);
Administration = new UserAdministrationClient(apiConnection);
@@ -41,8 +44,17 @@ namespace Octokit
///
/// See the Keys API documentation for more information.
///
+ [Obsolete("Ssh key information is now available under the GitSshKey property. This will be removed in a future update.")]
public IUserKeysClient Keys { get; private set; }
+ ///
+ /// A client for GitHub's User Keys API
+ ///
+ ///
+ /// See the Keys API documentation for more information.
+ ///
+ public IUserKeysClient GitSshKey { get; private set; }
+
///
/// A client for GitHub's UserUser GPG Keys API.
///