26 lines
1.3 KiB
C#
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();
|
|
}
|