27 lines
No EOL
817 B
C#
27 lines
No EOL
817 B
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net.Http;
|
|
using System.Threading.Tasks;
|
|
using Newtonsoft.Json;
|
|
using Website.Data.States;
|
|
using Website.Models;
|
|
|
|
namespace Website.Data {
|
|
public class GitServerApi {
|
|
private readonly HttpClient _client;
|
|
private readonly string _domain;
|
|
private readonly string _token;
|
|
|
|
public GitServerApi(HttpClient client, string domain, string token) {
|
|
_client = client;
|
|
_domain = domain;
|
|
_token = token;
|
|
}
|
|
|
|
public async Task<IEnumerable<GitRepository>> GetRepositories() {
|
|
var response = await _client.GetStringAsync($"https://{_domain}/api/v1/users/rob/repos?token={_token}");
|
|
var states = JsonConvert.DeserializeObject<IEnumerable<GitRepositoryState>>(response);
|
|
return states.Select(state => new GitRepository(state));
|
|
}
|
|
}
|
|
} |