Skip to main content

GetWorkflowStatesAndTransitions

Gets the states and transitions of the given workflow.

Syntax

// Assumes shellUI has been initialized with IShellUI instance
const results =
await shellUI.Vault.ObjectOperations.GetWorkflowStatesAndTransitions({
workflow_id: 0,
current_state: {
is_null: false,
type: 15 /* Enum: Datatype */,
data: {
text: "<!< Text.>",
integer: 0,
real_number: 0,
decimal_number: "<!< Fixed precision number.>",
date: { seconds: 0, nanos: 0 } /* google.protobuf.Timestamp */,
time: { seconds: 0, nanos: 0 } /* google.protobuf.Timestamp */,
timestamp: { seconds: 0, nanos: 0 } /* google.protobuf.Timestamp */,
boolean: false,
lookup: {
value_list_item_info: {
obj_id: {
type: 0,
item_id: {
internal_id: 0,
external_repository_id: {
connection:
"<!< The external repository connection identifier.>",
item: "<item>",
},
},
},
name: "<!< The name of the item.>",
external_id_status: 5 /* Enum: ExtIDStatus */,
external_id: "<external_id>",
guid: "<!< GUID for the item.>",
options: {
all: false,
is_shortcut: false,
is_deleted: false,
is_accessed_by_valid: false,
has_shared_files: false,
is_conflict_object: false,
is_normal: false,
is_view: false,
has_external_data: false,
is_referred_external_object: false,
},
external_repository_icon_id: "<!< The ID of the item's icon.>",
},
version: {
type: 7 /* Enum: ObjVerVersionType */,
internal_version: 0,
external_repository_version: "<external_repository_version>",
external_repository_sort_key: 0,
},
},
multi_select_lookup: {
values: [] /* Array of Lookup */,
},
integer64: 0,
multi_line_text: "<!< Multi-line text.>",
acl: {
checked_out_to_user: 0,
is_fully_authoritative: false,
custom_component: {
named_acl_id: 0,
has_named_acl: false,
current_user_id: 0,
has_current_user: false,
permissions: [] /* Array of AccessControlEntry */,
overridability_permissions: [] /* Array of AccessControlEntry */,
status: {
all: false,
deleted: false,
source_item_linked_via_pseudo_users: false,
},
},
restrictive_components:
[] /* Array of AccessControlListComponentMapEntry */,
secondary_access_control_list: {} /* AccessControlList */,
additive_components:
[] /* Array of AccessControlListComponentMapEntry */,
},
},
},
obj_ver: {
obj_id: {} /* ObjID */,
version: {} /* ObjVerVersion */,
},
});

Message

NameDescriptionType
workflow_idThe ID of the workflow.number
current_stateIf the pointer is not NULL, it points to a struct that specifies the current state of the object(s) as JSON (represented by MF_TypedValue struct). If the pointer is NULL, the bSelectable flags of all returned states will be true because transition rights cannot be checked in that case.TypedValue
obj_verIf the pointer is not NULL, it specifies the object version for which the state transitions are inquired as JSON. If the pointer is NULL, the bSelectable flags of all state transitions that involve pseudo users will be true because transition rights cannot be checked in that case.ObjVer

Return type

NameDescriptionType
statesResults.StateBasic[]
transitionsResults.StateTransitionBasic[]

Example

{
"states": [] /* Array of StateBasic */,
"transitions": [] /* Array of StateTransitionBasic */
}