diff --git a/API/ROLAC.API/Controllers/MealAttendanceController.cs b/API/ROLAC.API/Controllers/MealAttendanceController.cs index 4282885..a2de3b0 100644 --- a/API/ROLAC.API/Controllers/MealAttendanceController.cs +++ b/API/ROLAC.API/Controllers/MealAttendanceController.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using ROLAC.API.DTOs.MealAttendance; using ROLAC.API.Services; namespace ROLAC.API.Controllers; @@ -23,4 +24,10 @@ public class MealAttendanceController : ControllerBase [Authorize] public async Task GetRange([FromQuery] DateOnly from, [FromQuery] DateOnly to) => Ok(await _svc.GetRangeAsync(from, to)); + + /// Overwrite a specific Sunday's counts (back-office editor). Authenticated only. + [HttpPut("{date}")] + [Authorize] + public async Task SetCounts(DateOnly date, [FromBody] SetAttendanceRequest body) + => Ok(await _svc.SetCountsAsync(date, body.Adult, body.Youth, body.Kid)); } diff --git a/API/ROLAC.API/DTOs/MealAttendance/SetAttendanceRequest.cs b/API/ROLAC.API/DTOs/MealAttendance/SetAttendanceRequest.cs new file mode 100644 index 0000000..6d4f1b8 --- /dev/null +++ b/API/ROLAC.API/DTOs/MealAttendance/SetAttendanceRequest.cs @@ -0,0 +1,9 @@ +namespace ROLAC.API.DTOs.MealAttendance; + +/// Absolute head-counts to write for one Sunday, from the back-office editor. +public class SetAttendanceRequest +{ + public int Adult { get; set; } + public int Youth { get; set; } + public int Kid { get; set; } +}