assetAssignmentMachine
@mineflow/api-schemas / assetAssignmentMachine
Variable: assetAssignmentMachine
const assetAssignmentMachine: StateMachine<AssetAssignmentContext, AssetAssignmentEvent, {
}, never, never, never, never, "active" | "closed", string, NonReducibleUnknown, NonReducibleUnknown, EventObject, MetaObject, ToStateSchema<{
context: {
assignmentId: "";
};
id: "asset-assignment";
initial: "active";
states: {
active: {
on: {
CLOSE: "closed";
};
};
closed: {
type: "final";
};
};
}>>;
Defined in: hr/src/asset-assignments/state-machine/asset-assignment.machine.ts:25
FSM закрепления техники за сотрудником (HR AssetAssignment) — temporal-only.
Источник истины — entity (ADR-0022); машина — spec для xstate property-тестов
(exhaustive coverage перехода) и документации lifecycle. Re-export'ится
@mineflow/api-schemas для FSM-кнопок в UI.
Состояния и переходы:
active(начальное) →CLOSE→closedclosed— терминальное состояние.
Событие CLOSE несёт причину закрытия (cause): ручное закрытие, списание
актива, деактивация сотрудника или замена.