IRPCValueLists.SearchValueListItemsWithPermissions

View as Markdown

Vault API / core read session or assertion idempotent returns metadata structure version

Searches the items of one value list or object type by item ID, name, owner, parent or deleted state.

ServiceValue lists MFiles.IRPCValueLists
gRPC method/MFiles.IRPCValueLists/SearchValueListItemsWithPermissions
HTTP (mf-http-grpc)POST /grpc/v1/search-value-list-items-with-permissions
RequestSearchValueListItemsWithPermissionsRequest
ResponseSearchValueListItemsWithPermissionsResponse
Book and levelVault API, core
Kindread
SessionRequired: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata).
Idempotentyes
Returns metadata structure versionyes (in the mfiles-metadata-version-bin trailer)
Streamingnone (unary)

Remarks

Request: SearchValueListItemsWithPermissionsRequest

Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

FieldTypeDescription
call_importanceCallImportanceThe importance level of this call. Leave unset or use CALL_IMPORTANCE_NORMAL.Values: CALL_IMPORTANCE_DEFAULT (0), CALL_IMPORTANCE_NORMAL (1), CALL_IMPORTANCE_CAN_BE_REJECTED (2).
external_data_source_refreshExtDBRefreshTypeFor a list connected to an external database: whether to refresh it from the database before the search. EXT_DBREFRESH_TYPE_NONE reads the items the vault already has.Values: EXT_DBREFRESH_TYPE_NONE (0), EXT_DBREFRESH_TYPE_QUICK (1), EXT_DBREFRESH_TYPE_FULL (2).
value_listint32The ID of the value list or object type to search.
filtering_property_defint32The ID of a lookup property definition whose value filter (PropertyDef.value_list_item_filter) is applied, or -1 for no filter. Set -1 explicitly: the default 0 is a real property definition ID (Name or title).
search_conditions[]repeated SearchConditionConditions on the item pseudo properties 1-8 (see the service overview), combined with AND. Empty returns all items, deleted ones included.
search_conditions[].expressionExpressionThe left side of the condition: what is evaluated for each object, such as a property value, a status value or any field (full-text search).
search_conditions[].expression.typeExpressionTypeThe 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).
search_conditions[].expression.dataExpressionUnionThe expression data. Set the member that matches type.
search_conditions[].expression.indirection_levels[]repeated IndirectionLevelThe lookups to follow before evaluating the expression, from the searched object outwards. Empty evaluates the expression on the object itself.
search_conditions[].typeConditionTypeThe comparison operator.
search_conditions[].valueTypedValueThe right side of the condition: the value to compare with. Its data type must suit the expression, for example a lookup for a lookup property, Boolean for STATUS_TYPE_IS_DELETED.
search_conditions[].value.is_null_valueboolTrue if the value is empty. data is then unset.
search_conditions[].value.typeDatatypeThe data type of the value.
search_conditions[].value.dataTypedValueUnionThe value, in the member that matches type. Unset for an empty value.
resolve_current_user_placeholdersboolTrue to replace the "current user" entry in each item's automatic permissions with the caller's own user ID.
include_permissionsboolTrue to fill item_acls and item_current_user_permissions.
results_limituint32The maximum number of items to return; 0 returns all.

Response: SearchValueListItemsWithPermissionsResponse

Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page. Fields marked (recursive) refer to a type already on their path.

FieldTypeDescription
items[]repeated ValueListItemThe matching items. See ValueListItem.
items[].item_infoItemInfoThe item's identity and name: obj_id.type is the value list ID, obj_id.item_id.internal_id the item ID (unique within the list only), plus name, guid, external_id and flags. options.is_deleted marks a deleted item.
items[].item_info.obj_idObjIDThe object id or value list item id. Includes the object type or value list id.
items[].item_info.namestringThe name of the item.
items[].item_info.external_id_statusExtIDStatusThe status of this item's external ID.Values: EXT_IDSTATUS_UNKNOWN (0), EXT_IDSTATUS_EXTERNAL (1), EXT_IDSTATUS_INTERNAL (2), EXT_IDSTATUS_DISCARDED (3), EXT_IDSTATUS_NOT_AVAILABLE (4), EXT_IDSTATUS_EXTERNAL_REDUCED (5).
items[].item_info.external_idstringThe external ID (display ID) of this item. unset means that the external ID is the same as the internal ID.
items[].item_info.guidstringGUID for the item.
items[].item_info.optionsITEMFLAGSBit flags that provide additional information on the item (e.g. is the object deleted).
items[].item_info.external_repository_icon_idstringThe ID of the item's icon.
items[].has_parentboolTrue if the item has a parent item in the same (hierarchical) list.
items[].has_ownerboolTrue if the item belongs to an item of the owner list (ValueList.owner_object_type).
items[].parent_idint32With has_parent, the item ID of the parent item; otherwise ignored.
items[].owner_idint32With has_owner, the item ID of the owner item in the owner list.
items[].owner_namestringThe name of the owner item.
items[].automatic_permissionsAutomaticPermissionsIf set, specifies the automatic permissions for an object for which the user selects this item.
items[].automatic_permissions.permissionsNamedACLThe automatic permissions for an object for which the user selects this item.
items[].automatic_permissions.is_defaultboolTrue if these automatic permissions are not private i.e. they are not directly specified for (owned by) this item but they come from somewhere else, e.g. from the default/common automatic permissions of the object type.
items[].automatic_permissions.use_object_permissionsboolIf true the object/item's own permissions are used as its automatic permissions.
items[].iconBytesIf set, contains the icon of this item in .ICO format.
items[].icon.valuebytesArray of bytes.
item_acls[]repeated AccessControlListWith include_permissions, the access control list of each item, in the order of items; otherwise empty.
item_acls[].checked_out_to_userint32Specifies the ID of the user who has extended rights because of the checkout operation performed by her. 0 if such user does not exist.
item_acls[].is_fully_authoritativeboolSpecifies whether this access control list is set to ignore the secondary permissions that come from the latest checked in version.
item_acls[].custom_componentAccessControlListComponentAccesses the custom component of this ACL.
item_acls[].custom_component.named_acl_idint32Specifies the named ACL link of this component.
item_acls[].custom_component.has_named_aclboolTrue if the component links to a named ACL (named_acl_id).
item_acls[].custom_component.current_user_idint32Specifies the current user binding of this component.
item_acls[].custom_component.has_current_userboolTrue if the component has an access control entry for the current user.
item_acls[].custom_component.permissions[]repeated AccessControlEntryThe access control entry datas. The data belongs to the key in the corresponding index.
item_acls[].custom_component.overridability_permissions[]repeated AccessControlEntryOverridability permission data of this ACL component.
item_acls[].custom_component.statusACCESSCONTROLLISTCOMPONENTSTATUSFLAGSModification status of this component.
item_acls[].restrictive_components[]repeated AccessControlListComponentMapEntryAccesses the restrictive automatic components of this ACL.
item_acls[].restrictive_components[].keyAccessControlListComponentKeyAccess control list component.
item_acls[].restrictive_components[].componentAccessControlListComponentAccess control list component.
item_acls[].secondary_access_control_listAccessControlList (recursive)Secondary ACL used for latest version ACL. Not used for access check if null.
item_acls[].additive_components[]repeated AccessControlListComponentMapEntryAccesses the additive automatic components of this ACL.
item_acls[].additive_components[].keyAccessControlListComponentKeyAccess control list component.
item_acls[].additive_components[].componentAccessControlListComponentAccess control list component.
item_current_user_permissions[]repeated ObjectPermissionsForClientWith include_permissions, what the caller may do with each item, in the order of items; otherwise empty.
item_current_user_permissions[].can_user_seeboolThe object is visible for the current user (provided for symmetry).
item_current_user_permissions[].can_user_editboolThe current user can edit the object.
item_current_user_permissions[].can_user_deleteboolThe current user can delete the object.
item_current_user_permissions[].can_user_change_permissionsboolThe current user can change the object permissions.
has_more_resultsboolTrue if more items matched than results_limit allowed.