:drunk: Write shit code trying to split up the Auth (WIP)
This commit is contained in:
67
DysonNetwork.Sphere/Services/PassClient/PassClient.cs
Normal file
67
DysonNetwork.Sphere/Services/PassClient/PassClient.cs
Normal file
@ -0,0 +1,67 @@
|
||||
using DysonNetwork.Pass.Features.Account;
|
||||
using DysonNetwork.Pass.Features.Auth;
|
||||
using DysonNetwork.Sphere.Models;
|
||||
using System.Net.Http.Json;
|
||||
|
||||
namespace DysonNetwork.Sphere.Services.PassClient;
|
||||
|
||||
public class PassClient(HttpClient httpClient)
|
||||
{
|
||||
public async Task<LoginResponse> LoginAsync(LoginRequest request)
|
||||
{
|
||||
var response = await httpClient.PostAsJsonAsync("api/auth/login", request);
|
||||
response.EnsureSuccessStatusCode();
|
||||
return (await response.Content.ReadFromJsonAsync<LoginResponse>())!;
|
||||
}
|
||||
|
||||
public async Task<Account> GetAccountByIdAsync(Guid accountId)
|
||||
{
|
||||
var response = await httpClient.GetAsync($"api/account/{accountId}");
|
||||
response.EnsureSuccessStatusCode();
|
||||
return (await response.Content.ReadFromJsonAsync<Account>())!;
|
||||
}
|
||||
|
||||
public async Task<Account> GetAccountByUsernameAsync(string username)
|
||||
{
|
||||
var response = await httpClient.GetAsync($"api/account/by-username/{username}");
|
||||
response.EnsureSuccessStatusCode();
|
||||
return (await response.Content.ReadFromJsonAsync<Account>())!;
|
||||
}
|
||||
|
||||
public async Task<Account> RegisterAsync(RegisterRequest request)
|
||||
{
|
||||
var response = await httpClient.PostAsJsonAsync("api/account/register", request);
|
||||
response.EnsureSuccessStatusCode();
|
||||
return (await response.Content.ReadFromJsonAsync<Account>())!;
|
||||
}
|
||||
|
||||
public async Task ChangePasswordAsync(ChangePasswordRequest request)
|
||||
{
|
||||
var response = await httpClient.PostAsJsonAsync("api/account/change-password", request);
|
||||
response.EnsureSuccessStatusCode();
|
||||
}
|
||||
|
||||
public async Task ResetPasswordAsync(ResetPasswordRequest request)
|
||||
{
|
||||
var response = await httpClient.PostAsJsonAsync("api/auth/reset-password", request);
|
||||
response.EnsureSuccessStatusCode();
|
||||
}
|
||||
|
||||
public async Task VerifyEmailAsync(VerifyEmailRequest request)
|
||||
{
|
||||
var response = await httpClient.PostAsJsonAsync("api/account/verify-email", request);
|
||||
response.EnsureSuccessStatusCode();
|
||||
}
|
||||
|
||||
public async Task SendVerificationEmailAsync(SendVerificationEmailRequest request)
|
||||
{
|
||||
var response = await httpClient.PostAsJsonAsync("api/account/send-verification-email", request);
|
||||
response.EnsureSuccessStatusCode();
|
||||
}
|
||||
|
||||
public async Task DeleteAccountAsync(DeleteAccountRequest request)
|
||||
{
|
||||
var response = await httpClient.PostAsJsonAsync("api/account/delete", request);
|
||||
response.EnsureSuccessStatusCode();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user