35 lines
1.5 KiB
C#
35 lines
1.5 KiB
C#
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<ResolvedRouteStepDto> Steps);
|
||
|
||
/// <summary>Значение поля списка SharePoint (field_name шага) для проверки условий шагов при resolve.</summary>
|
||
public sealed record ResolveFieldValueDto(string FieldName, string Value);
|
||
|
||
/// <param name="DepartmentId">
|
||
/// Отдел для шагов с HeadType.DepartmentHead ("руководитель указанного отдела") —
|
||
/// не выводится из инициатора, поэтому должен быть передан явно. Необязателен:
|
||
/// если в маршруте нет такого шага, поле не нужно; если есть, а поле не
|
||
/// передано — шаг не резолвится и получает предупреждение (см.
|
||
/// TemplateRouteService.ResolveStepAsync), весь запрос при этом не падает.
|
||
/// </param>
|
||
public sealed record ResolveTemplateRouteRequest(
|
||
int RequestTypeId,
|
||
string? UserEmail,
|
||
Guid? ProjectId,
|
||
RouteStepStatus Status,
|
||
IReadOnlyList<ResolveFieldValueDto>? FieldValues = null,
|
||
Guid? DepartmentId = null);
|