IRPCVault.GetUsersAndUserGroupsOrDelta

View as Markdown

Vault API / core write session or assertion returns metadata structure version

Gets users and normal user groups as JSON, or only the changes since a version the caller already has.

ServiceVault information MFiles.IRPCVault
gRPC method/MFiles.IRPCVault/GetUsersAndUserGroupsOrDelta
HTTP (mf-http-grpc)POST /grpc/v1/get-users-and-user-groups-or-delta
RequestGetUsersAndUserGroupsOrDeltaRequest
ResponseGetUsersAndUserGroupsOrDeltaResponse
Book and levelVault API, core
Kindwrite
SessionRequired: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata).
Idempotentno
Returns metadata structure versionyes (in the mfiles-metadata-version-bin trailer)
Streamingnone (unary)

Remarks

Used by M-Files clients to keep a local copy of the user lists; applications usually call GetUsersAndUserContainers instead.

Send 0 for both versions to get everything. Later, send the current_..._version_on_server values you received with allow_receiving_delta true: if nothing changed, the JSON is an empty delta ({"isDelta":true,"removedUsers":[],"users":[]} for users). users and groups are NUL-terminated UTF-8 JSON objects, zlib-compressed unless their length field is 4294967295.

Request: GetUsersAndUserGroupsOrDeltaRequest

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

FieldTypeDescription
callers_current_users_versionint64The users version from your previous call, or 0 to get all users.
callers_current_user_groups_versionint64The user groups version from your previous call, or 0 to get all groups.
allow_receiving_deltaboolTrue to accept only the changes since the versions given.

Response: GetUsersAndUserGroupsOrDeltaResponse

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

FieldTypeDescription
current_users_version_on_serverint64The current users version. Send it in the next call.
current_user_groups_version_on_serverint64The current user groups version. Send it in the next call.
usersbytesNUL-terminated JSON object (isDelta, removedUsers, users), zlib-compressed unless uncompressed_users_length is 4294967295.
uncompressed_users_lengthuint32Size of the decompressed users, or 4294967295 if not compressed.
groupsbytesNUL-terminated JSON object with the groups or their changes, zlib-compressed unless uncompressed_groups_length is 4294967295.
uncompressed_groups_lengthuint32Size of the decompressed groups, or 4294967295 if not compressed.