From 38b7e8c1a1a2d5cd77c914f828439f5dd747601b Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Fri, 25 Apr 2025 23:13:15 +0800 Subject: [PATCH] :bug: Bug fixes --- .../Account/AccountController.cs | 7 ++++++- DysonNetwork.Sphere/Auth/AuthController.cs | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/DysonNetwork.Sphere/Account/AccountController.cs b/DysonNetwork.Sphere/Account/AccountController.cs index 085c54b..341705e 100644 --- a/DysonNetwork.Sphere/Account/AccountController.cs +++ b/DysonNetwork.Sphere/Account/AccountController.cs @@ -16,7 +16,12 @@ public class AccountController(AppDatabase db, FileService fs, IMemoryCache memC [ProducesResponseType(StatusCodes.Status404NotFound)] public async Task> GetByName(string name) { - var account = await db.Accounts.Where(a => a.Name == name).FirstOrDefaultAsync(); + var account = await db.Accounts + .Include(e => e.Profile) + .Include(e => e.Profile.Picture) + .Include(e => e.Profile.Background) + .Where(a => a.Name == name) + .FirstOrDefaultAsync(); return account is null ? new NotFoundResult() : account; } diff --git a/DysonNetwork.Sphere/Auth/AuthController.cs b/DysonNetwork.Sphere/Auth/AuthController.cs index 7323055..739ca6f 100644 --- a/DysonNetwork.Sphere/Auth/AuthController.cs +++ b/DysonNetwork.Sphere/Auth/AuthController.cs @@ -77,6 +77,23 @@ public class AuthController( : challenge.Account.AuthFactors.ToList(); } + [HttpPost("challenge/{id}/factors/{factorId:long}")] + public async Task RequestFactorCode([FromRoute] Guid id, [FromRoute] long factorId) + { + var challenge = await db.AuthChallenges + .Include(e => e.Account) + .Where(e => e.Id == id).FirstOrDefaultAsync(); + if (challenge is null) return NotFound("Auth challenge was not found."); + var factor = await db.AccountAuthFactors + .Where(e => e.Id == factorId) + .Where(e => e.Account == challenge.Account).FirstOrDefaultAsync(); + if (factor is null) return NotFound("Auth factor was not found."); + + // TODO do the logic here + + return Ok(); + } + public class PerformChallengeRequest { [Required] public long FactorId { get; set; }