Files
tnsu-approval-route/backend/Tnsu.ApprovalRoute.Api/Controllers/TemplateRouteStepSearchController.cs
T
2026-08-19 16:22:50 +05:00

26 lines
1.3 KiB
C#

using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Tnsu.ApprovalRoute.Api.Common;
using Tnsu.ApprovalRoute.Application.TemplateRouteSteps;
namespace Tnsu.ApprovalRoute.Api.Controllers;
/// <summary>
/// Поиск шагов шаблонов маршрутов НЕ по конкретному маршруту, а сквозной, по всем
/// маршрутам разом — отдельный top-level контроллер, а не вложенный под
/// /api/template-routes/{routeId}/steps (тот же приём, что RequestTypeListsController
/// отдельно от RequestTypesController).
/// </summary>
[ApiController]
[Authorize]
[Route("api/template-route-steps")]
[Produces("application/json")]
public sealed class TemplateRouteStepSearchController(TemplateRouteStepService service) : ControllerBase
{
/// <summary>Шаги ВСЕХ маршрутов с данным ExecutorEmail — для экрана «заменить согласующего everywhere».</summary>
[HttpGet]
[ProducesResponseType(typeof(ApiResponse<IReadOnlyList<TemplateRouteStepDto>>), StatusCodes.Status200OK)]
public async Task<IActionResult> List([FromQuery] string executorEmail, CancellationToken ct) =>
(await service.ListByExecutorEmailAsync(executorEmail, ct)).ToActionResult();
}