using Application.Abstractions.Messaging; using Web.Api.Common; namespace Web.Api.Endpoints.TrackRecord; /// 예측 적중률 리더보드 — 채점 표본 10+ 회원 HitRate 내림차순 (D2 M4, 익명 허용). internal sealed class GetLeaderboard : IEndpoint { public void MapEndpoint(IEndpointRouteBuilder app) { app.MapGet("api/track-records/leaderboard", async ( ISender sender, string? period = null, int page = 1, CancellationToken ct = default ) => { var data = await sender.Send(new Application.Features.Api.TrackRecord.GetLeaderboard.Query(period, page), ct); return ApiResponse.Ok(data); }) .WithTags("TrackRecord") .AllowAnonymous(); } }