Резолв маршрута: поле PositionCode (HeadType) в ответе шага

Раньше по ответу резолва нельзя было отличить «руководителя направления» от
«директора Tansu» иначе как парсингом Position (реальной должности из
справочника api.tnsu.kz, свободный текст). PositionCode — это HeadType
самого шага (Chief/DirectionHead/DirectorTansu/ManagingDirectorTansu/
DepartmentHead), null для шагов с исполнителем по email/должности/роли.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
gorbenko.pavel
2026-08-25 10:15:11 +05:00
parent 10c3057eff
commit ca8de91742
4 changed files with 21 additions and 3 deletions
@@ -2,7 +2,7 @@
// (Application/TemplateRoutes/ResolveTemplateRouteDto.cs).
/* eslint-disable @rushstack/no-new-null -- поля 1:1 зеркалят nullable JSON-контракт бэкенда */
import { RouteStepStatus } from './enums';
import { HeadType, RouteStepStatus } from './enums';
/** Значение поля списка SharePoint (field_name шага) для проверки условий шагов. */
export interface ResolveFieldValue {
@@ -28,6 +28,12 @@ export interface ResolvedRouteStep {
allowReassignToOtherApprovers: boolean;
/** Причина, по которой исполнитель шага не определился (текст с бэкенда). */
warning: string | null;
/**
* HeadType шага (Chief/DirectionHead/...), если исполнитель задан типом
* руководителя, иначе null. В отличие от position (реальная должность
* резолвнутого сотрудника из справочника) — это код роли из самого шага.
*/
positionCode: HeadType | null;
}
export interface ResolveTemplateRouteResult {