🐛 Dozens of bug fixes

This commit is contained in:
2025-07-19 16:41:04 +08:00
parent 921a10f7ab
commit da5b3ac261
6 changed files with 18 additions and 8 deletions

View File

@@ -63,7 +63,7 @@ public class ConnectionController(
return Ok(); return Ok();
} }
[HttpPost("/auth/connect/apple/mobile")] [HttpPost("/api/auth/connect/apple/mobile")]
public async Task<ActionResult> ConnectAppleMobile([FromBody] AppleMobileConnectRequest request) public async Task<ActionResult> ConnectAppleMobile([FromBody] AppleMobileConnectRequest request)
{ {
if (HttpContext.Items["CurrentUser"] is not Account.Account currentUser) if (HttpContext.Items["CurrentUser"] is not Account.Account currentUser)

View File

@@ -69,7 +69,8 @@ public class OidcController(
/// </summary> /// </summary>
[HttpPost("apple/mobile")] [HttpPost("apple/mobile")]
public async Task<ActionResult<AuthChallenge>> AppleMobileLogin( public async Task<ActionResult<AuthChallenge>> AppleMobileLogin(
[FromBody] AppleMobileSignInRequest request) [FromBody] AppleMobileSignInRequest request
)
{ {
try try
{ {

View File

@@ -16,6 +16,7 @@ using System.Threading.RateLimiting;
using DysonNetwork.Pass.Auth.OidcProvider.Options; using DysonNetwork.Pass.Auth.OidcProvider.Options;
using DysonNetwork.Pass.Auth.OidcProvider.Services; using DysonNetwork.Pass.Auth.OidcProvider.Services;
using DysonNetwork.Pass.Handlers; using DysonNetwork.Pass.Handlers;
using DysonNetwork.Pass.Safety;
using DysonNetwork.Pass.Wallet.PaymentHandlers; using DysonNetwork.Pass.Wallet.PaymentHandlers;
using DysonNetwork.Shared.Cache; using DysonNetwork.Shared.Cache;
using DysonNetwork.Shared.GeoIp; using DysonNetwork.Shared.GeoIp;
@@ -200,6 +201,7 @@ public static class ServiceCollectionExtensions
services.AddScoped<SubscriptionService>(); services.AddScoped<SubscriptionService>();
services.AddScoped<PaymentService>(); services.AddScoped<PaymentService>();
services.AddScoped<AfdianPaymentHandler>(); services.AddScoped<AfdianPaymentHandler>();
services.AddScoped<SafetyService>();
services.Configure<OidcProviderOptions>(configuration.GetSection("OidcProvider")); services.Configure<OidcProviderOptions>(configuration.GetSection("OidcProvider"));
services.AddScoped<OidcProviderService>(); services.AddScoped<OidcProviderService>();

View File

@@ -129,12 +129,12 @@ public partial class ChatController(
var message = await db.ChatMessages var message = await db.ChatMessages
.Where(m => m.Id == messageId && m.ChatRoomId == roomId) .Where(m => m.Id == messageId && m.ChatRoomId == roomId)
.Include(m => m.Sender) .Include(m => m.Sender)
.Include(m => m.Sender.Account)
.Include(m => m.Sender.Account.Profile)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
if (message is null) return NotFound(); if (message is null) return NotFound();
message.Sender = await crs.LoadMemberAccount(message.Sender);
return Ok(message); return Ok(message);
} }

View File

@@ -634,8 +634,6 @@ public class ChatRoomController(
.Where(m => m.AccountId == accountId) .Where(m => m.AccountId == accountId)
.Where(m => m.JoinedAt == null) .Where(m => m.JoinedAt == null)
.Include(e => e.ChatRoom) .Include(e => e.ChatRoom)
.Include(e => e.Account)
.Include(e => e.Account.Profile)
.ToListAsync(); .ToListAsync();
var chatRooms = members.Select(m => m.ChatRoom).ToList(); var chatRooms = members.Select(m => m.ChatRoom).ToList();
@@ -645,7 +643,7 @@ public class ChatRoomController(
foreach (var member in members.Where(member => member.ChatRoom.Type == ChatRoomType.DirectMessage)) foreach (var member in members.Where(member => member.ChatRoom.Type == ChatRoomType.DirectMessage))
member.ChatRoom.Members = directMembers[member.ChatRoom.Id]; member.ChatRoom.Members = directMembers[member.ChatRoom.Id];
return members.ToList(); return Ok(await crs.LoadMemberAccounts(members));
} }
[HttpPost("invites/{roomId:guid}/accept")] [HttpPost("invites/{roomId:guid}/accept")]

View File

@@ -342,6 +342,15 @@ public partial class ChatService(
m => m m => m
); );
var messageSenders = messages
.Select(m => m.Value!.Sender)
.DistinctBy(x => x.Id)
.ToList();
messageSenders = await crs.LoadMemberAccounts(messageSenders);
foreach (var message in messages)
message.Value!.Sender = messageSenders.First(x => x.Id == message.Value.SenderId);
return messages; return messages;
} }