Calendar.cs 771 B

123456789101112131415161718192021222324252627
  1. using Web.Api.Common;
  2. using Web.Api.Extensions;
  3. using Application.Abstractions.Messaging;
  4. using System.Security.Claims;
  5. namespace Web.Api.Endpoints.Attendance;
  6. internal sealed class Calendar : IEndpoint
  7. {
  8. public void MapEndpoint(IEndpointRouteBuilder app)
  9. {
  10. app.MapGet("api/attendance/calendar", async (
  11. int year,
  12. int month,
  13. ClaimsPrincipal user,
  14. ISender sender,
  15. CancellationToken ct
  16. ) => {
  17. var memberID = user.GetMemberID();
  18. var data = await sender.Send(new Application.Features.Api.Attendance.GetCalendar.Query(memberID, year, month), ct);
  19. return ApiResponse.Ok(data);
  20. })
  21. .WithTags("Attendance")
  22. .AllowAnonymous();
  23. }
  24. }