EsgSecurities.cs 845 B

12345678910111213141516171819202122232425
  1. using Application.Abstractions.Messaging;
  2. using Web.Api.Common;
  3. namespace Web.Api.Endpoints.Market;
  4. /// <summary>ESG 증권상품 목록 — 지정일(미지정 시 최신 거래일) 페이징 (익명 열람). KRX ESG 증권상품 수집.</summary>
  5. internal sealed class EsgSecurities : IEndpoint
  6. {
  7. public void MapEndpoint(IEndpointRouteBuilder app)
  8. {
  9. app.MapGet("api/market/esg/securities", async (
  10. ISender sender,
  11. DateOnly? date = null,
  12. int page = 1,
  13. ushort perPage = 20,
  14. CancellationToken ct = default
  15. ) => {
  16. var result = await sender.Send(new Application.Features.Api.Stocks.GetEsgSecurities.Query(date, page, perPage), ct);
  17. return ApiResponse.Ok(result);
  18. })
  19. .WithTags("Market")
  20. .AllowAnonymous();
  21. }
  22. }