using Application.Abstractions.Messaging; using Web.Api.Common; using Web.Api.Extensions; namespace Web.Api.Endpoints.Stocks; /// 종목별 CB/BW/EB 행사 내역 — 단축코드(6자리) 행사주식(기본) 또는 채권(byBond=true) 기준. 행사가·행사주수·행사주식 ISIN 링크 (익명 열람). SEIBro 기업행위 수집. internal sealed class CbExercises : IEndpoint { public void MapEndpoint(IEndpointRouteBuilder app) { app.MapGet("api/stocks/{code:regex(^\\d{{6}}$)}/cb-exercises", async ( string code, ISender sender, bool byBond = false, int page = 1, ushort perPage = 30, CancellationToken ct = default ) => { var result = await sender.Send(new Application.Features.Api.Stocks.GetCbExercises.Query(code, byBond, page, perPage), ct); return result.Match( () => ApiResponse.Ok(result.Value), CustomResults.Problem ); }) .WithTags("Stocks") .AllowAnonymous(); } }