using Tnsu.ApprovalRoute.Domain.Enums; namespace Tnsu.ApprovalRoute.Application.TemplateRoutes; public sealed record ResolvedRouteStepDto( int Id, int OrderNo, string? ExecutorEmail, string? Position, bool AllowReassignToOtherApprovers, string? Warning = null); public sealed record ResolveTemplateRouteResultDto( int RouteId, bool RequiresControl, IReadOnlyList Steps); /// Значение поля списка SharePoint (field_name шага) для проверки условий шагов при resolve. public sealed record ResolveFieldValueDto(string FieldName, string Value); /// /// Отдел для шагов с HeadType.DepartmentHead ("руководитель указанного отдела") — /// не выводится из инициатора, поэтому должен быть передан явно. Необязателен: /// если в маршруте нет такого шага, поле не нужно; если есть, а поле не /// передано — шаг не резолвится и получает предупреждение (см. /// TemplateRouteService.ResolveStepAsync), весь запрос при этом не падает. /// public sealed record ResolveTemplateRouteRequest( int RequestTypeId, string? UserEmail, Guid? ProjectId, RouteStepStatus Status, IReadOnlyList? FieldValues = null, Guid? DepartmentId = null);