2020-03-29 15:43:26 -07:00
import { INodeProperties } from 'n8n-workflow' ;
2020-03-22 12:43:35 -07:00
export const fileOperations = [
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
displayOptions : {
show : {
resource : [
'file' ,
] ,
} ,
} ,
options : [
{
name : 'Copy' ,
value : 'copy' ,
description : 'Copy a file' ,
} ,
{
name : 'Delete' ,
value : 'delete' ,
description : 'Delete a file' ,
} ,
{
name : 'Download' ,
value : 'download' ,
description : 'Download a file' ,
} ,
{
name : 'Get' ,
value : 'get' ,
description : 'Get a file' ,
} ,
{
name : 'Search' ,
value : 'search' ,
description : 'Search a file' ,
} ,
{
name : 'Upload' ,
value : 'upload' ,
description : 'Upload a file up to 4MB in size' ,
} ,
] ,
default : 'upload' ,
description : 'The operation to perform.' ,
} ,
] as INodeProperties [ ] ;
export const fileFields = [
/* -------------------------------------------------------------------------- */
/* file:copy */
/* -------------------------------------------------------------------------- */
{
displayName : 'File ID' ,
name : 'fileId' ,
type : 'string' ,
displayOptions : {
show : {
operation : [
'copy' ,
] ,
resource : [
'file' ,
] ,
} ,
} ,
default : '' ,
description : 'File ID' ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
displayOptions : {
show : {
operation : [
'copy' ,
] ,
resource : [
'file' ,
] ,
} ,
} ,
default : { } ,
options : [
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
description : ` The new name for the copy. If this isn't provided, the same name will be used as the original. ` ,
} ,
] ,
} ,
{
displayName : 'Parent Reference' ,
name : 'parentReference' ,
type : 'collection' ,
placeholder : 'Add Parent Reference' ,
description : 'Reference to the parent item the copy will be created in <a href="https://docs.microsoft.com/en-us/onedrive/developer/rest-api/resources/itemreference?view=odsp-graph-online"> Details </a>' ,
displayOptions : {
show : {
operation : [
'copy' ,
] ,
resource : [
'file' ,
] ,
} ,
} ,
default : { } ,
options : [
{
displayName : 'Drive ID' ,
name : 'driveId' ,
type : 'string' ,
default : '' ,
description : 'Identifier of the drive instance that contains the item.' ,
} ,
{
displayName : 'Drive Type' ,
name : 'driveType' ,
type : 'string' ,
default : '' ,
description : 'Identifies the type of drive.' ,
} ,
{
displayName : 'ID' ,
name : 'id' ,
type : 'string' ,
default : '' ,
description : 'Identifier of the item in the drive.' ,
} ,
{
displayName : 'List ID' ,
name : 'listId' ,
type : 'string' ,
default : '' ,
description : 'Identifier of the list.' ,
} ,
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
description : 'The name of the item being referenced' ,
} ,
{
displayName : 'Path' ,
name : 'path' ,
type : 'string' ,
default : '' ,
description : 'Path that can be used to navigate to the item' ,
} ,
{
displayName : 'Share ID' ,
name : 'shareId' ,
type : 'string' ,
default : '' ,
description : 'Identifier for a shared resource that can be accessed via the Shares API.' ,
} ,
{
displayName : 'Site ID' ,
name : 'siteId' ,
type : 'string' ,
default : '' ,
description : 'Identifier of the site.' ,
} ,
] ,
} ,
/* -------------------------------------------------------------------------- */
/* file:delete */
/* -------------------------------------------------------------------------- */
{
displayName : 'File ID' ,
name : 'fileId' ,
type : 'string' ,
displayOptions : {
show : {
operation : [
'delete' ,
] ,
resource : [
'file' ,
] ,
} ,
} ,
default : '' ,
description : 'Field ID' ,
} ,
/* -------------------------------------------------------------------------- */
/* file:download */
/* -------------------------------------------------------------------------- */
{
displayName : 'File ID' ,
name : 'fileId' ,
type : 'string' ,
displayOptions : {
show : {
operation : [
'download' ,
] ,
resource : [
'file' ,
] ,
} ,
} ,
default : '' ,
description : 'File ID' ,
} ,
{
displayName : 'Binary Property' ,
name : 'binaryPropertyName' ,
type : 'string' ,
required : true ,
default : 'data' ,
displayOptions : {
show : {
operation : [
'download'
] ,
resource : [
'file' ,
] ,
} ,
} ,
description : 'Name of the binary property to which to<br />write the data of the read file.' ,
} ,
/* -------------------------------------------------------------------------- */
/* file:get */
/* -------------------------------------------------------------------------- */
{
displayName : 'File ID' ,
name : 'fileId' ,
type : 'string' ,
displayOptions : {
show : {
operation : [
'get' ,
] ,
resource : [
'file' ,
] ,
} ,
} ,
default : '' ,
description : 'Field ID' ,
} ,
/* -------------------------------------------------------------------------- */
/* file:search */
/* -------------------------------------------------------------------------- */
{
displayName : 'Query' ,
name : 'query' ,
type : 'string' ,
displayOptions : {
show : {
operation : [
'search' ,
] ,
resource : [
'file' ,
] ,
} ,
} ,
default : '' ,
description : ` The query text used to search for items. Values may be matched
across several fields including filename , metadata , and file content . ` ,
} ,
/* -------------------------------------------------------------------------- */
/* file:upload */
/* -------------------------------------------------------------------------- */
{
displayName : 'File Name' ,
name : 'fileName' ,
type : 'string' ,
displayOptions : {
show : {
operation : [
'upload' ,
] ,
resource : [
'file' ,
] ,
} ,
} ,
default : '' ,
description : 'The name the file should be saved as.' ,
} ,
{
displayName : 'Parent ID' ,
name : 'parentId' ,
required : true ,
type : 'string' ,
displayOptions : {
show : {
operation : [
'upload' ,
] ,
resource : [
'file' ,
] ,
} ,
} ,
default : '' ,
description : 'ID of the parent folder that will contain the file.' ,
} ,
{
displayName : 'Binary Data' ,
name : 'binaryData' ,
type : 'boolean' ,
default : false ,
required : true ,
displayOptions : {
show : {
operation : [
'upload' ,
] ,
resource : [
'file' ,
] ,
} ,
} ,
description : 'If the data to upload should be taken from binary field.' ,
} ,
{
displayName : 'File Content' ,
name : 'fileContent' ,
type : 'string' ,
default : '' ,
required : true ,
displayOptions : {
show : {
binaryData : [
false ,
] ,
operation : [
'upload' ,
] ,
resource : [
'file' ,
] ,
} ,
} ,
placeholder : '' ,
description : 'The text content of the file.' ,
} ,
{
displayName : 'Binary Property' ,
name : 'binaryPropertyName' ,
type : 'string' ,
default : 'data' ,
required : true ,
displayOptions : {
show : {
binaryData : [
true ,
] ,
operation : [
'upload' ,
] ,
resource : [
'file' ,
] ,
} ,
} ,
placeholder : '' ,
description : 'Name of the binary property which contains<br />the data for the file.' ,
} ,
] as INodeProperties [ ] ;