27 lines
910 B
C#
27 lines
910 B
C#
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using ROLAC.API.Services;
|
|
|
|
namespace ROLAC.API.Controllers;
|
|
|
|
[ApiController]
|
|
[Route("api/meal-attendance")]
|
|
public class MealAttendanceController : ControllerBase
|
|
{
|
|
private readonly IMealAttendanceService _svc;
|
|
|
|
public MealAttendanceController(IMealAttendanceService svc) => _svc = svc;
|
|
|
|
/// <summary>Today's live counts. Public — feeds the volunteer counter page on first load.</summary>
|
|
[HttpGet("today")]
|
|
[AllowAnonymous]
|
|
public async Task<IActionResult> GetToday()
|
|
=> Ok(await _svc.GetOrCreateAsync(_svc.ServiceDay));
|
|
|
|
/// <summary>Daily counts within a date range, for the back-office dashboard chart.</summary>
|
|
[HttpGet]
|
|
[Authorize]
|
|
public async Task<IActionResult> GetRange([FromQuery] DateOnly from, [FromQuery] DateOnly to)
|
|
=> Ok(await _svc.GetRangeAsync(from, to));
|
|
}
|