using System.Net.Http.Json; using AdminPanel.Models; namespace AdminPanel.Services; public class HttpTeamService : ITeamService { private readonly HttpClient _client; public HttpTeamService(HttpClient client) { this._client = client; } private record ListTeamResponse(uint TotalCount, List Teams); public async Task<(uint, List)> ListTeam(uint from, uint count) { var httpResponse = await _client.GetAsync($"/api/admin/list-team?start={from}&n={count}"); httpResponse.EnsureSuccessStatusCode(); var response = await httpResponse.Content.ReadFromJsonAsync()!; return (response.TotalCount, response.Teams); } private record AddTeamRequest(string Name, string Picture, string MainColor, string SecondaryColor); public async Task AddTeam(string name, string Picture, string mainColor, string secondaryColor) { var httpResponse = await _client.PostAsJsonAsync($"/api/admin/add-team", new AddTeamRequest(name,Picture,mainColor,secondaryColor)); httpResponse.EnsureSuccessStatusCode(); } }