Expression

View as Markdown

Expression that can be evaluated for any object.

Set type and the member of data that matches it, for example EXPRESSION_TYPE_PROPERTY_VALUE with data.property_value.

Indirection levels evaluate a property of a related object. For example, documents whose project's customer is a given customer: a property value expression for the Customer property, with one indirection level for the Project property. The levels are listed from the searched object outwards. Indirection works with property value, typed value and document ID segment expressions, and with the STATUS_TYPE_OBJECT_ID status value; other expressions with indirection levels fail with "Invalid search condition."

Full nameMFiles.Expression
Proto filemfiles/structs.proto

Fields

FieldTypeNumberDescription
typeExpressionType1The kind of expression. Must match the member set in data.Values: EXPRESSION_TYPE_UNINITIALIZED (0), EXPRESSION_TYPE_PROPERTY_VALUE (1), EXPRESSION_TYPE_ID_SEGMENT (2), EXPRESSION_TYPE_STATUS_VALUE (3), EXPRESSION_TYPE_FILE_VALUE (4), EXPRESSION_TYPE_TYPED_VALUE (5), EXPRESSION_TYPE_ANY_FIELD (6), EXPRESSION_TYPE_PERMISSIONS (7).
dataExpressionUnion2The expression data. Set the member that matches type.
indirection_levelsrepeated IndirectionLevel3The lookups to follow before evaluating the expression, from the searched object outwards. Empty evaluates the expression on the object itself.

Used by methods

Used in fields