using Application.Abstractions.Messaging; using Web.Api.Common; using Web.Api.Extensions; namespace Web.Api.Endpoints.Market; /// 주총 캘린더 — 기간(총회일 from/to) 주주총회 일정 목록. 종목명·총회종류·전자투표·안건수 포함 (익명 열람). SEIBro 기업행위 수집. internal sealed class MeetingCalendar : IEndpoint { public void MapEndpoint(IEndpointRouteBuilder app) { app.MapGet("api/market/meeting-calendar", async ( ISender sender, DateOnly? from = null, DateOnly? to = null, int page = 1, ushort perPage = 30, CancellationToken ct = default ) => { var result = await sender.Send(new Application.Features.Api.Stocks.GetMeetingCalendar.Query(from, to, page, perPage), ct); return result.Match( () => ApiResponse.Ok(result.Value), CustomResults.Problem ); }) .WithTags("Market") .AllowAnonymous(); } }