Files
tnsu-approval-route/backend/Tnsu.ApprovalRoute.Api/Controllers/RemindersController.cs
T
gorbenko.pavel 95d460c80a
Tests / frontend-test (push) Successful in 46s
Tests / backend-test (push) Successful in 2m22s
Расширение reminders (#19)
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/19
2026-08-27 11:43:45 +00:00

30 lines
1.5 KiB
C#

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;
/// <summary>
/// Один вид напоминаний по выбору вызывающей стороны (см. ReminderFeed) — без
/// параметра feed отдаёт просроченные шаги согласования и исполнения, как и до
/// появления ProbationEnding.
///
/// Политика — та же AnyAuth, что и у остальных контроллеров: эндпоинт вызывает
/// Power Automate по расписанию (токен приложения), но и из админки его удобно
/// открыть под пользователем, чтобы посмотреть, что сервис реально отдаёт.
/// </summary>
[ApiController]
[Authorize(Policy = AuthPolicies.Any)]
[Route("api/reminders")]
[Produces("application/json")]
public sealed class RemindersController(ReminderService service) : ControllerBase
{
[HttpGet]
[ProducesResponseType(typeof(ApiResponse<IReadOnlyList<ReminderDto>>), StatusCodes.Status200OK)]
public async Task<IActionResult> List(
[FromQuery] ReminderFeed feed = ReminderFeed.ApprovalOverdue, CancellationToken ct = default) =>
(await service.GetRemindersAsync(feed, ct)).ToActionResult();
}