Skip to main content

AddObjectWithFiles

Adds a new object with files.

Syntax

// Assumes shellUI has been initialized with IShellUI instance
const results = await shellUI.Vault.ObjectOperations.AddObjectWithFiles({
object_type_id: 0,
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 */,
},
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,
},
check_in: false,
files: {
type: 3 /* Enum: ObjFileSourceType */,
data: {
blank_template: {
name: "<!< Blank template file name.>",
},
user_defined_template: {
obj_id: {
type: 0,
item_id: {
internal_id: 0,
external_repository_id: {
connection: "<!< The external repository connection identifier.>",
item: "<item>",
},
},
},
},
uploaded_file: {
upload_id: 0,
title: "<!< The title of the file.>",
extension: "<extension>",
size: 0,
},
},
},
});

Message

NameDescriptionType
object_type_idThe object type of the new object.number
propertiesProperties of the new object as JSON array (represented by MF_PropertyValue struct).PropertyValue[]
aclThe ACL for the new object as JSON (represented by MF_ACL struct).AccessControlList
optionsFlags that control this operation.OBJECTOPFLAGS
check_inIf true, the object is checked in immediately, otherwise the object is left to checked-out state.boolean
filesFile source.ObjFileSource

Return type

NameDescriptionType
is_visible_to_userTrue if the latest version of the object is visible after the operation.boolean
created_objectThe information, properties, and ACL of the latest version of the object after the operation as JSON (if *pbLatestVisible is true). represented by MF_ObjectVersionExWP struct.)ObjectVersionExWP

Example

{
"is_visible_to_user": false,
"created_object": {
"object_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
}
}
},
"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
}
}
}