fix(guild): populate leader_name in search results (matches prod capture)

Add IViewerRepository.LoadDisplayNamesAsync (batch AsNoTracking select),
extend GuildSearchEntry with LeaderName, enrich GuildService.SearchAsync
with a leader-id batch lookup, and thread the name through the controller's
ToDetailDto call. Adds a leader_name assertion to GuildSearchFlowTests.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-06-27 13:08:11 -04:00
parent 3f8f04eb1a
commit c103ab6a87
6 changed files with 26 additions and 4 deletions

View File

@@ -135,7 +135,7 @@ public sealed class GuildController : SVSimController
{
if (!TryGetViewerId(out var v)) return Unauthorized();
var entries = await _guild.SearchAsync(req.GuildName ?? "", req.Activity, req.JoinCondition, req.MemberConditionRange, ct);
return new GuildSearchGuildResponse { List = entries.Select(e => ToDetailDto(e.Guild, e.MemberNum)).ToList() };
return new GuildSearchGuildResponse { List = entries.Select(e => ToDetailDto(e.Guild, e.MemberNum, e.LeaderName)).ToList() };
}
[HttpPost("emblem_list")]