Item
The Flow Items valves
Introduction
The Flow Items API defines how to create, remove and iterate over uniquely identified objects stored in the currently executing Flow's state called items.
Valves that support item iteration is executed on each item surviving item filtering.
Common configuration
These configuration properties applies to all valves that support item iteration
item_include_expr
Iteration
To control which items that are included in iteration you can enable item filtering. Filtering is based on a predicate expression (a boolean expression that returns true
or false
) deciding if the current item should be included or not.
The actual filter is an ECMA-script (JavaScript) that MUST evaluate to true
, false
or a function
returning true
or false
.
// Skip all items
"item_include_expr": "false"
// Include items with property "mobile"
"item_include_expr": "item.mobile != null"
During expression evaluation data is made available in scopes. A scope is a map (i.e key-values or hash) where values are accessed using a name and plain dot notation.
// Get id of current item
item.id
// Get first value of item property displayName
// Note: item properties are multivalue
item.displayname[0]
// or
item.displayname
// Get id of current session
session.id
// Get first value of multivalue "roles" stored in session
session.roles[0]
// Get value "otp" from state set by previous valve
state.otp
The following scopes are available:
item
The current item. All item properties are multi-value except for id
.
session
The current session
state
The current (pipe) state
request
The current (pipe) request
exports
AuthN exports
items
List of all items