// Домен вкладки «Заявки по согласующему» (ManageByUserScreen) — сводит вместе // два независимых источника по одному конкретному человеку: живые строки // согласования (SharePoint, requestManageService.ts) и шаблонные шаги // маршрутов (Tnsu.ApprovalRoute.Api, TemplateRouteStep с ExecutorEmail). import { ManagedApprovalRow } from './requestManage'; import { TemplateRouteStep } from './templateRouteSteps'; /** * Строка согласования, найденная сразу по ВСЕМ типам заявок и ВСЕМ их * партициям — в отличие от ManagedApprovalRow (одна открытая заявка одного * типа), здесь нужен контекст, к какому типу/списку/партиции она относится, * чтобы её можно было и показать, и записать обратно через reassignApprover. */ export interface UserApprovalRow extends ManagedApprovalRow { requestTypeId: number; requestTypeName: string; siteUrl: string; /** Партиция списка ДАННЫХ, где физически лежит заявка. */ listId: string; approvalListTitle: string; requestTitle: string; // eslint-disable-next-line @rushstack/no-new-null -- зеркалит SharePoint: колонки может не быть requestUniqueCode: string | null; } /** Шаг шаблона маршрута с ExecutorEmail = искомый человек, обогащённый для отображения. */ export interface UserTemplateStepRow extends TemplateRouteStep { requestTypeName: string; companyName: string; departmentName: string; }