:drunk: Write shit code trying to split up the Auth (WIP)

This commit is contained in:
2025-07-06 12:58:18 +08:00
parent 5757526ea5
commit 6a3d04af3d
224 changed files with 1889 additions and 36885 deletions

View 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();
}
}