| 1234567891011121314151617181920212223242526272829 |
- using Application.Features.Api.Ranking.GetHallOfFame;
- using MediatR;
- using Web.Api.Common;
- namespace Web.Api.Endpoints.Ranking;
- internal sealed class GetHallOfFame : IEndpoint
- {
- public void MapEndpoint(IEndpointRouteBuilder app)
- {
- app.MapGet("api/ranking/hall-of-fame", async (
- int? limit,
- string? period,
- ISender sender,
- CancellationToken ct
- ) => {
- var resolvedPeriod = period ?? HallPeriod.All;
- if (!HallPeriod.ValidPeriods.Contains(resolvedPeriod))
- {
- return ApiResponse.Fail(StatusCodes.Status400BadRequest, "Invalid period");
- }
- var query = new Query(limit ?? 100, resolvedPeriod);
- var data = await sender.Send(query, ct);
- return ApiResponse.Ok(data);
- })
- .WithTags("Ranking");
- }
- }
|