@@ -50,7 +50,7 @@ private async Task LogoutInternal(UriString host)
5050 await loginManager . Logout ( host ) ;
5151 }
5252
53- public async Task CreateRepository ( NewRepository newRepository , Action < Octokit . Repository , Exception > callback , string organization = null )
53+ public async Task CreateRepository ( NewRepository newRepository , Action < GitHubRepository , Exception > callback , string organization = null )
5454 {
5555 Guard . ArgumentNotNull ( callback , "callback" ) ;
5656 try
@@ -64,7 +64,7 @@ public async Task CreateRepository(NewRepository newRepository, Action<Octokit.R
6464 }
6565 }
6666
67- public async Task GetOrganizations ( Action < IList < Organization > > onSuccess , Action < Exception > onError = null )
67+ public async Task GetOrganizations ( Action < Organization [ ] > onSuccess , Action < Exception > onError = null )
6868 {
6969 Guard . ArgumentNotNull ( onSuccess , nameof ( onSuccess ) ) ;
7070 await GetOrganizationInternal ( onSuccess , onError ) ;
@@ -84,7 +84,7 @@ public async Task ValidateCurrentUser(Action onSuccess, Action<Exception> onErro
8484 }
8585 }
8686
87- public async Task GetCurrentUser ( Action < Octokit . User > callback )
87+ public async Task GetCurrentUser ( Action < GitHubUser > callback )
8888 {
8989 Guard . ArgumentNotNull ( callback , "callback" ) ;
9090 var user = await GetCurrentUserInternal ( ) ;
@@ -187,7 +187,7 @@ public async Task<bool> ContinueLoginAsync(LoginResult loginResult, Func<LoginRe
187187 return result . Code == LoginResultCodes . Success ;
188188 }
189189
190- private async Task < Octokit . Repository > CreateRepositoryInternal ( NewRepository newRepository , string organization )
190+ private async Task < GitHubRepository > CreateRepositoryInternal ( NewRepository newRepository , string organization )
191191 {
192192 try
193193 {
@@ -196,18 +196,18 @@ public async Task<bool> ContinueLoginAsync(LoginResult loginResult, Func<LoginRe
196196 await ValidateKeychain ( ) ;
197197 await ValidateCurrentUserInternal ( ) ;
198198
199- Octokit . Repository repository ;
199+ GitHubRepository repository ;
200200 if ( ! string . IsNullOrEmpty ( organization ) )
201201 {
202202 logger . Trace ( "Creating repository for organization" ) ;
203203
204- repository = await githubClient . Repository . Create ( organization , newRepository ) ;
204+ repository = ( await githubClient . Repository . Create ( organization , newRepository ) ) . ToGitHubRepository ( ) ;
205205 }
206206 else
207207 {
208208 logger . Trace ( "Creating repository for user" ) ;
209209
210- repository = await githubClient . Repository . Create ( newRepository ) ;
210+ repository = ( await githubClient . Repository . Create ( newRepository ) ) . ToGitHubRepository ( ) ;
211211 }
212212
213213 logger . Trace ( "Created Repository" ) ;
@@ -220,7 +220,7 @@ public async Task<bool> ContinueLoginAsync(LoginResult loginResult, Func<LoginRe
220220 }
221221 }
222222
223- private async Task GetOrganizationInternal ( Action < IList < Organization > > onSuccess , Action < Exception > onError = null )
223+ private async Task GetOrganizationInternal ( Action < Organization [ ] > onSuccess , Action < Exception > onError = null )
224224 {
225225 try
226226 {
@@ -235,7 +235,11 @@ private async Task GetOrganizationInternal(Action<IList<Organization>> onSuccess
235235
236236 if ( organizations != null )
237237 {
238- onSuccess ( organizations . ToArray ( ) ) ;
238+ var array = organizations . Select ( organization => new Organization ( ) {
239+ Name = organization . Name ,
240+ Login = organization . Login
241+ } ) . ToArray ( ) ;
242+ onSuccess ( array ) ;
239243 }
240244 }
241245 catch ( Exception ex )
@@ -245,14 +249,14 @@ private async Task GetOrganizationInternal(Action<IList<Organization>> onSuccess
245249 }
246250 }
247251
248- private async Task < Octokit . User > GetCurrentUserInternal ( )
252+ private async Task < GitHubUser > GetCurrentUserInternal ( )
249253 {
250254 try
251255 {
252256 logger . Trace ( "Getting Current User" ) ;
253257 await ValidateKeychain ( ) ;
254258
255- return await githubClient . User . Current ( ) ;
259+ return ( await githubClient . User . Current ( ) ) . ToGitHubUser ( ) ;
256260 }
257261 catch ( Exception ex )
258262 {
@@ -311,6 +315,18 @@ private async Task ValidateKeychain()
311315 }
312316 }
313317
318+ class GitHubUser
319+ {
320+ public string Name { get ; set ; }
321+ public string Login { get ; set ; }
322+ }
323+
324+ class GitHubRepository
325+ {
326+ public string Name { get ; set ; }
327+ public string CloneUrl { get ; set ; }
328+ }
329+
314330 class ApiClientException : Exception
315331 {
316332 public ApiClientException ( )
0 commit comments