using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Tnsu.ApprovalRoute.Api.Auth; using Tnsu.ApprovalRoute.Api.Common; using Tnsu.ApprovalRoute.Application.Reminders; namespace Tnsu.ApprovalRoute.Api.Controllers; /// /// Один вид напоминаний по выбору вызывающей стороны (см. ReminderFeed) — без /// параметра feed отдаёт просроченные шаги согласования и исполнения, как и до /// появления ProbationEnding. /// /// Политика — та же AnyAuth, что и у остальных контроллеров: эндпоинт вызывает /// Power Automate по расписанию (токен приложения), но и из админки его удобно /// открыть под пользователем, чтобы посмотреть, что сервис реально отдаёт. /// [ApiController] [Authorize(Policy = AuthPolicies.Any)] [Route("api/reminders")] [Produces("application/json")] public sealed class RemindersController(ReminderService service) : ControllerBase { [HttpGet] [ProducesResponseType(typeof(ApiResponse>), StatusCodes.Status200OK)] public async Task List( [FromQuery] ReminderFeed feed = ReminderFeed.ApprovalOverdue, CancellationToken ct = default) => (await service.GetRemindersAsync(feed, ct)).ToActionResult(); }