using OrdersManagementDataModel.Dtos; namespace OrdersManagement.Services; public class UserService(HttpClient httpClient) { public async Task?> GetUsersAsync() { return await httpClient.GetFromJsonAsync>("api/Users"); } public async Task AuthenticateUserAsync(string login, string password) { var response = await httpClient.PostAsJsonAsync("api/users/authenticate", new { Login = login, Password = password }); return response.IsSuccessStatusCode ? await response.Content.ReadFromJsonAsync() : null; } public async Task GetUserAsync(Guid userId) { return await httpClient.GetFromJsonAsync($"api/Users/by-id/?id={userId}"); } public async Task GetUserByUsernameAsync(string username) { return await httpClient.GetFromJsonAsync($"api/Users/by-username/?username={username}"); } public async Task AddUserAsync(UserDto user) { return await httpClient.PostAsJsonAsync("api/Users", user); } public async Task UpdateUserAsync(UserDto user) { await httpClient.PutAsJsonAsync("api/Users", user); } public async Task DeleteUserAsync(Guid userId) { await httpClient.DeleteAsync($"api/Users/?id={userId}"); } }