using Web.Api.Common; using Application.Abstractions.Messaging; namespace Web.Api.Endpoints.Member; /// 여러 회원의 장착 지위 아이템 배치 조회 (댓글/채팅/프로필 렌더용). 예: ?ids=1,2,3 internal sealed class EquippedItems : IEndpoint { public void MapEndpoint(IEndpointRouteBuilder app) { app.MapGet("api/members/equipped-items", async ( string? ids, ISender sender, CancellationToken ct ) => { var memberIDs = (ids ?? string.Empty) .Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries) .Select(s => int.TryParse(s, out var v) ? v : 0) .Where(v => v > 0) .ToList(); var query = new Application.Features.Api.Member.Items.Equipped.Query(memberIDs); var result = await sender.Send(query, ct); return ApiResponse.Ok(result); }) .WithTags("Member"); } }