-
-
Notifications
You must be signed in to change notification settings - Fork 752
Expand file tree
/
Copy pathUserManager.cs
More file actions
84 lines (72 loc) · 3.32 KB
/
UserManager.cs
File metadata and controls
84 lines (72 loc) · 3.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
using BlazorHero.CleanArchitecture.Application.Requests.Identity;
using BlazorHero.CleanArchitecture.Application.Responses.Identity;
using BlazorHero.CleanArchitecture.Client.Infrastructure.Extensions;
using BlazorHero.CleanArchitecture.Shared.Wrapper;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Json;
using System.Threading.Tasks;
namespace BlazorHero.CleanArchitecture.Client.Infrastructure.Managers.Identity.Users
{
public class UserManager : IUserManager
{
private readonly HttpClient _httpClient;
public UserManager(HttpClient httpClient)
{
_httpClient = httpClient;
}
public async Task<IResult<List<UserResponse>>> GetAllAsync()
{
var response = await _httpClient.GetAsync(Routes.UserEndpoints.GetAll);
return await response.ToResult<List<UserResponse>>();
}
public async Task<IResult<UserResponse>> GetAsync(string userId)
{
var response = await _httpClient.GetAsync(Routes.UserEndpoints.Get(userId));
return await response.ToResult<UserResponse>();
}
public async Task<IResult> RegisterUserAsync(RegisterRequest request)
{
var response = await _httpClient.PostAsJsonAsync(Routes.UserEndpoints.Register, request);
return await response.ToResult();
}
public async Task<IResult> ResendConfirmationMailAsync(string userId)
{
var response = await _httpClient.PostAsJsonAsync(Routes.UserEndpoints.ResendMail, userId);
return await response.ToResult();
}
public async Task<IResult> ToggleUserStatusAsync(ToggleUserStatusRequest request)
{
var response = await _httpClient.PostAsJsonAsync(Routes.UserEndpoints.ToggleUserStatus, request);
return await response.ToResult();
}
public async Task<IResult<UserRolesResponse>> GetRolesAsync(string userId)
{
var response = await _httpClient.GetAsync(Routes.UserEndpoints.GetUserRoles(userId));
return await response.ToResult<UserRolesResponse>();
}
public async Task<IResult> UpdateRolesAsync(UpdateUserRolesRequest request)
{
var response = await _httpClient.PutAsJsonAsync(Routes.UserEndpoints.GetUserRoles(request.UserId), request);
return await response.ToResult<UserRolesResponse>();
}
public async Task<IResult> ForgotPasswordAsync(ForgotPasswordRequest model)
{
var response = await _httpClient.PostAsJsonAsync(Routes.UserEndpoints.ForgotPassword, model);
return await response.ToResult();
}
public async Task<IResult> ResetPasswordAsync(ResetPasswordRequest request)
{
var response = await _httpClient.PostAsJsonAsync(Routes.UserEndpoints.ResetPassword, request);
return await response.ToResult();
}
public async Task<string> ExportToExcelAsync(string searchString = "")
{
var response = await _httpClient.GetAsync(string.IsNullOrWhiteSpace(searchString)
? Routes.UserEndpoints.Export
: Routes.UserEndpoints.ExportFiltered(searchString));
var data = await response.Content.ReadAsStringAsync();
return data;
}
}
}