using Application.Abstractions.Messaging; using Domain.Entities.Stocks.ValueObject; using Web.Api.Common; namespace Web.Api.Endpoints.Market; /// 옵션(일반/주식유가/주식코스닥) 목록 — 상품군·세션(기본 정규, 2=야간)별 지정일(미지정 시 최신 거래일) 페이징 (익명 열람). KRX 파생상품 수집. internal sealed class Options : IEndpoint { public void MapEndpoint(IEndpointRouteBuilder app) { app.MapGet("api/market/options", async ( ISender sender, OptionsKind kind = OptionsKind.General, DateOnly? date = null, int page = 1, ushort perPage = 20, MarketSession session = MarketSession.Regular, CancellationToken ct = default ) => { var result = await sender.Send(new Application.Features.Api.Stocks.GetOptions.Query(kind, date, page, perPage, session), ct); return ApiResponse.Ok(result); }) .WithTags("Market") .AllowAnonymous(); } }