Skip to main content

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: "<connection>",
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

NameDescriptionType
obj_verThe object version whose security settings to change, as an ObjVer object.ObjVer
aclThe new access control list to apply, as an ACL object.AccessControlList
optionsFlags that control this operation.OBJECTOPFLAGS

Return type

NameDescriptionType
is_specified_version_still_visibleReceives true if the specified document version is still visible to the caller after this operation.boolean
specified_versionDocument info after this operation as JSON.ObjectVersionEx
resultInformation 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": "<title>",
"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": "<version guid>",
"primary_file": {
"type": 3 /* Enum: FileIDType */,
"internal_id": 0,
"external_repository_id": "<external repository id>"
}
},
"object_info": {
"obj_id": {
"type": 0,
"item_id": {
"internal_id": 0,
"external_repository_id": {
"connection": "<connection>",
"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": "<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,
"is_external_origin": false,
"is_omitted_from_database": 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 */
}
}
}