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