Перейти к основному содержимому

assetAssignmentMachine

@mineflow/api-schemas


@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 (начальное) → CLOSEclosed
  • closed — терминальное состояние.

Событие CLOSE несёт причину закрытия (cause): ручное закрытие, списание актива, деактивация сотрудника или замена.