42 lines
1.3 KiB
C#
42 lines
1.3 KiB
C#
using OrdersManagementDataModel.Dtos;
|
|
|
|
namespace OrdersManagement.Services;
|
|
|
|
public class UserService(HttpClient httpClient)
|
|
{
|
|
public async Task<IEnumerable<UserDto>?> GetUsersAsync()
|
|
{
|
|
return await httpClient.GetFromJsonAsync<IEnumerable<UserDto>>("api/Users");
|
|
}
|
|
|
|
public async Task<UserDto?> 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<UserDto>() : null;
|
|
}
|
|
|
|
public async Task<UserDto?> GetUserAsync(Guid userId)
|
|
{
|
|
return await httpClient.GetFromJsonAsync<UserDto>($"api/Users/by-id/?id={userId}");
|
|
}
|
|
|
|
public async Task<UserDto?> GetUserByUsernameAsync(string username)
|
|
{
|
|
return await httpClient.GetFromJsonAsync<UserDto>($"api/Users/by-username/?username={username}");
|
|
}
|
|
|
|
public async Task<HttpResponseMessage> 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}");
|
|
}
|
|
} |