36 lines
1.1 KiB
TypeScript
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[];
|
|
}
|