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> GetRepositories() { var response = await _client.GetStringAsync($"https://{_domain}/api/v1/users/rob/repos?token={_token}"); var states = JsonConvert.DeserializeObject>(response); return states.Select(state => new GitRepository(state)); } } }