Files
tnsu-approval-route/frontend/src/webparts/approvalAdmin/models/resolve.ts
T
2026-08-07 14:02:56 +05:00

36 lines
1.1 KiB
TypeScript

// 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[];
}