ChangeSecurity
Changes the security settings of an object.
Syntax
// Assumes shellUI has been initialized with IShellUI instance
const results = await shellUI.Vault.ObjectOperations.ChangeSecurity({
obj_ver: {
obj_id: {
type: 0,
item_id: {
internal_id: 0,
external_repository_id: {
connection: "<!< The external repository connection identifier.>",
item: "<item>",
},
},
},
version: {
type: 7 /* Enum: ObjVerVersionType */,
internal_version: 0,
external_repository_version: "<external_repository_version>",
external_repository_sort_key: 0,
},
},
acl: {
checked_out_to_user: 0,
is_fully_authoritative: false,
custom_component: {
named_acl_id: 0,
has_named_acl: false,
current_user_id: 0,
has_current_user: false,
permissions: [] /* Array of AccessControlEntry */,
overridability_permissions: [] /* Array of AccessControlEntry */,
status: {
all: false,
deleted: false,
source_item_linked_via_pseudo_users: false,
},
},
restrictive_components:
[] /* Array of AccessControlListComponentMapEntry */,
secondary_access_control_list: {} /* AccessControlList */,
additive_components: [] /* Array of AccessControlListComponentMapEntry */,
},
options: {
all: false,
require_read_access_after_operation: false,
require_edit_access_after_operation: false,
disallow_name_change: false,
require_change_permissions_access_after_operation: false,
require_full_access_after_operation: false,
change_acl_in_all_versions: false,
verify_check_in_wopi_locked_document: false,
},
});
Message
Name | Description | Type |
---|---|---|
obj_ver | The object version as JSON. (represented by MF_ObjVer struct) | ObjVer |
acl | The new ACL for the document as JSON (represented by MF_ACL struct). | AccessControlList |
options | Flags that control this operation. | OBJECTOPFLAGS |
Return type
Name | Description | Type |
---|---|---|
is_specified_version_still_visible | Receives true if the specified document version is still visible to the caller after this operation. | boolean |
specified_version | Document info after this operation as JSON. | ObjectVersionEx |
result | Information about the object after the operation as JSON. | ExtObjectInfo |
Example
{
"is_specified_version_still_visible": false,
"specified_version": {
"version_info": {
"version": {
"type": 7 /* Enum: ObjVerVersionType */,
"internal_version": 0,
"external_repository_version": "<external_repository_version>",
"external_repository_sort_key": 0
},
"title": "<!< The title of the object.>",
"is_single_file_object": false,
"has_assignments": false,
"last_modified_at_utc": {
"seconds": 0,
"nanos": 0
} /* google.protobuf.Timestamp */,
"files": [] /* Array of File */,
"object_version_flags": {
"all": false,
"is_assignment_completed": false,
"has_related_objects": false,
"is_assignment_rejected": false,
"has_file_duplicates": false
},
"class_id": 0,
"version_guid": "<!< GUID of the object version.>",
"primary_file": {
"type": 3 /* Enum: FileIDType */,
"internal_id": 0,
"external_repository_id": "<!< External file id.>"
}
},
"object_info": {
"obj_id": {
"type": 0,
"item_id": {
"internal_id": 0,
"external_repository_id": {
"connection": "<!< The external repository connection identifier.>",
"item": "<item>"
}
}
},
"external_id_status": 5 /* Enum: ExtIDStatus */,
"external_id": "<external_id>",
"checked_out_version": {} /* ObjVerVersion */,
"checked_out_to_user_id": 0,
"checked_out_to_user_name": "<checked_out_to_user_name>",
"checked_out_to_host_name": "<checked_out_to_host_name>",
"checked_out_at_utc": {
"seconds": 0,
"nanos": 0
} /* google.protobuf.Timestamp */,
"checked_in_version": {} /* ObjVerVersion */,
"created_at_utc": {
"seconds": 0,
"nanos": 0
} /* google.protobuf.Timestamp */,
"accessed_by_me_utc": {
"seconds": 0,
"nanos": 0
} /* google.protobuf.Timestamp */,
"guid": "<!< Object GUID.>",
"options": {
"all": false,
"is_shortcut": false,
"is_deleted": false,
"is_accessed_by_valid": false,
"has_shared_files": false,
"is_conflict_object": false,
"is_normal": false,
"is_view": false,
"has_external_data": false,
"is_referred_external_object": false
},
"original_vault_guid": "<original_vault_guid>",
"original_vault_obj_id": {} /* ObjID */,
"associated_view_id": {} /* ItemID */,
"external_repository_icon_id": "<external_repository_icon_id>",
"primary_view_id": {} /* ItemID */,
"capabilities": {
"all": false,
"can_have_history": false,
"can_have_relationships": false,
"can_edit_old_versions": false,
"can_delete": false,
"can_destroy": false,
"can_undelete": false,
"can_rename": false,
"can_edit_metadata": false,
"can_edit_assignments": false,
"can_edit_workflows": false,
"can_edit_files": false,
"can_edit_version_comments": false,
"can_convert_single_multi_file": false,
"can_add_and_remove_files": false,
"can_change_file_type": false,
"can_change_permissions": false
}
}
},
"result": {
"is_visible": false,
"object_info": {} /* ObjectLevelInfo */,
"is_latest_version_visible": false,
"latest_version": {
"object_version": {} /* ObjectVersionEx */,
"properties": [] /* Array of PropertyValue */,
"acl": {
"checked_out_to_user": 0,
"is_fully_authoritative": false,
"custom_component": {
"named_acl_id": 0,
"has_named_acl": false,
"current_user_id": 0,
"has_current_user": false,
"permissions": [] /* Array of AccessControlEntry */,
"overridability_permissions": [] /* Array of AccessControlEntry */,
"status": {
"all": false,
"deleted": false,
"source_item_linked_via_pseudo_users": false
}
},
"restrictive_components": [] /* Array of AccessControlListComponentMapEntry */,
"secondary_access_control_list": {} /* AccessControlList */,
"additive_components": [] /* Array of AccessControlListComponentMapEntry */
},
"current_user_permissions": {
"can_user_see": false,
"can_user_edit": false,
"can_user_delete": false,
"can_user_change_permissions": false
}
},
"original_obj_ver": {
"obj_id": {} /* ObjID */,
"version": {} /* ObjVerVersion */
}
}
}