// DTO эндпоинта api/template-routes/resolve // (Application/TemplateRoutes/ResolveTemplateRouteDto.cs). /* eslint-disable @rushstack/no-new-null -- поля 1:1 зеркалят nullable JSON-контракт бэкенда */ import { RouteStepStatus } from './enums'; /** Значение поля списка SharePoint (field_name шага) для проверки условий шагов. */ export interface ResolveFieldValue { fieldName: string; value: string; } export interface ResolveTemplateRouteQuery { requestTypeId: number; userEmail?: string; projectId?: string; status: RouteStepStatus; fieldValues?: ResolveFieldValue[]; } export interface ResolvedRouteStep { id: number; orderNo: number; executorEmail: string | null; position: string | null; allowReassignToOtherApprovers: boolean; /** Причина, по которой исполнитель шага не определился (текст с бэкенда). */ warning: string | null; } export interface ResolveTemplateRouteResult { routeId: number; requiresControl: boolean; steps: ResolvedRouteStep[]; }