IRPCValueLists.GetValueListItemsWithPermissions

View as Markdown

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

Gets the items of one value list or object type, or only the changes since a known version.

ServiceValue lists MFiles.IRPCValueLists
gRPC method/MFiles.IRPCValueLists/GetValueListItemsWithPermissions
HTTP (mf-http-grpc)POST /grpc/v1/get-value-list-items-with-permissions
RequestGetValueListItemsWithPermissionsRequest
ResponseGetValueListItemsWithPermissionsResponse
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: GetValueListItemsWithPermissionsRequest

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 first.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.
filtering_property_defint32The ID of a lookup property definition whose value filter is applied, or -1 for no filter. Set -1 explicitly: the default 0 is a real property definition.
known_versionint64The current_version from the caller's previous response, or 0 to get the full list. With 0 the server never returns a delta.
allow_deltaboolTrue to accept only the changes since known_version.
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.

Response: GetValueListItemsWithPermissionsResponse

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
current_versionint64The current version of the list's items. Store it and send it as known_version next time. It changes when items change, not with the metadata structure version.
is_deltaboolTrue if items and removed_items are only the changes since known_version.
removed_items[]repeated int32In a delta, the IDs of items deleted since known_version; otherwise empty.
items[]repeated ValueListItemThe items, or in a delta the added and changed items.
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.
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.
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 the list has more items than results_limit.
results_limituint32The item limit the server applied (0 when no items were returned).