2023-01-27 03:22:44 -08:00
import type { INodeProperties } from 'n8n-workflow' ;
2020-03-22 12:43:35 -07:00
2021-12-03 00:44:16 -08:00
export const fileOperations : INodeProperties [ ] = [
2020-03-22 12:43:35 -07:00
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
2022-05-20 14:47:24 -07:00
noDataExpression : true ,
2020-03-22 12:43:35 -07:00
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
options : [
{
name : 'Copy' ,
value : 'copy' ,
description : 'Copy a file' ,
2022-07-10 13:50:51 -07:00
action : 'Copy a file' ,
2020-03-22 12:43:35 -07:00
} ,
{
name : 'Delete' ,
value : 'delete' ,
description : 'Delete a file' ,
2022-07-10 13:50:51 -07:00
action : 'Delete a file' ,
2020-03-22 12:43:35 -07:00
} ,
{
name : 'Download' ,
value : 'download' ,
description : 'Download a file' ,
2022-07-10 13:50:51 -07:00
action : 'Download a file' ,
2020-03-22 12:43:35 -07:00
} ,
{
name : 'Get' ,
value : 'get' ,
description : 'Get a file' ,
2022-07-10 13:50:51 -07:00
action : 'Get a file' ,
2020-03-22 12:43:35 -07:00
} ,
2022-05-15 10:55:09 -07:00
{
name : 'Rename' ,
value : 'rename' ,
description : 'Rename a file' ,
2022-07-10 13:50:51 -07:00
action : 'Rename a file' ,
2022-05-15 10:55:09 -07:00
} ,
2020-03-22 12:43:35 -07:00
{
name : 'Search' ,
value : 'search' ,
description : 'Search a file' ,
2022-07-10 13:50:51 -07:00
action : 'Search a file' ,
2020-03-22 12:43:35 -07:00
} ,
2020-10-13 02:08:07 -07:00
{
name : 'Share' ,
value : 'share' ,
description : 'Share a file' ,
2022-07-10 13:50:51 -07:00
action : 'Share a file' ,
2020-10-13 02:08:07 -07:00
} ,
2020-03-22 12:43:35 -07:00
{
name : 'Upload' ,
value : 'upload' ,
description : 'Upload a file up to 4MB in size' ,
2022-07-10 13:50:51 -07:00
action : 'Upload a file' ,
2020-03-22 12:43:35 -07:00
} ,
] ,
default : 'upload' ,
} ,
2021-12-03 00:44:16 -08:00
] ;
2020-03-22 12:43:35 -07:00
2021-12-03 00:44:16 -08:00
export const fileFields : INodeProperties [ ] = [
2022-08-17 08:50:24 -07:00
/* -------------------------------------------------------------------------- */
/* file:copy */
/* -------------------------------------------------------------------------- */
2020-03-22 12:43:35 -07:00
{
displayName : 'File ID' ,
name : 'fileId' ,
type : 'string' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'copy' ] ,
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
default : '' ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'copy' ] ,
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
default : { } ,
options : [
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
2022-08-17 08:50:24 -07:00
description :
"The new name for the copy. If this isn't provided, the same name will be used as the original." ,
2020-03-22 12:43:35 -07:00
} ,
] ,
} ,
{
displayName : 'Parent Reference' ,
name : 'parentReference' ,
type : 'collection' ,
placeholder : 'Add Parent Reference' ,
2022-08-17 08:50:24 -07:00
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>' ,
2020-03-22 12:43:35 -07:00
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'copy' ] ,
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
default : { } ,
options : [
{
displayName : 'Drive ID' ,
name : 'driveId' ,
type : 'string' ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'Identifier of the drive instance that contains the item' ,
2020-03-22 12:43:35 -07:00
} ,
{
displayName : 'Drive Type' ,
name : 'driveType' ,
type : 'string' ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'Identifies the type of drive' ,
2020-03-22 12:43:35 -07:00
} ,
{
displayName : 'ID' ,
name : 'id' ,
type : 'string' ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'Identifier of the item in the drive' ,
2020-03-22 12:43:35 -07:00
} ,
{
displayName : 'List ID' ,
name : 'listId' ,
type : 'string' ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'Identifier of the list' ,
2020-03-22 12:43:35 -07:00
} ,
{
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 : '' ,
2022-05-06 14:01:25 -07:00
description : 'Identifier for a shared resource that can be accessed via the Shares API' ,
2020-03-22 12:43:35 -07:00
} ,
{
displayName : 'Site ID' ,
name : 'siteId' ,
type : 'string' ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'Identifier of the site' ,
2020-03-22 12:43:35 -07:00
} ,
] ,
} ,
2022-08-17 08:50:24 -07:00
/* -------------------------------------------------------------------------- */
/* file:delete */
/* -------------------------------------------------------------------------- */
2020-03-22 12:43:35 -07:00
{
displayName : 'File ID' ,
name : 'fileId' ,
type : 'string' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'delete' ] ,
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
default : '' ,
description : 'Field ID' ,
} ,
2022-08-17 08:50:24 -07:00
/* -------------------------------------------------------------------------- */
/* file:download */
/* -------------------------------------------------------------------------- */
2020-03-22 12:43:35 -07:00
{
displayName : 'File ID' ,
name : 'fileId' ,
type : 'string' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'download' ] ,
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
default : '' ,
} ,
{
2024-01-03 03:08:16 -08:00
displayName : 'Put Output File in Field' ,
2020-03-22 12:43:35 -07:00
name : 'binaryPropertyName' ,
type : 'string' ,
required : true ,
default : 'data' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'download' ] ,
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
2024-01-03 03:08:16 -08:00
hint : 'The name of the output binary field to put the file in' ,
2020-03-22 12:43:35 -07:00
} ,
2022-08-17 08:50:24 -07:00
/* -------------------------------------------------------------------------- */
/* file:get */
/* -------------------------------------------------------------------------- */
2020-03-22 12:43:35 -07:00
{
displayName : 'File ID' ,
name : 'fileId' ,
type : 'string' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'get' ] ,
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
default : '' ,
description : 'Field ID' ,
} ,
2022-08-17 08:50:24 -07:00
/* -------------------------------------------------------------------------- */
/* file:rename */
/* -------------------------------------------------------------------------- */
{
displayName : 'Item ID' ,
name : 'itemId' ,
type : 'string' ,
displayOptions : {
show : {
operation : [ 'rename' ] ,
resource : [ 'file' ] ,
} ,
2022-05-15 10:55:09 -07:00
} ,
2022-08-17 08:50:24 -07:00
default : '' ,
description : 'ID of the file' ,
2022-05-15 10:55:09 -07:00
} ,
2022-08-17 08:50:24 -07:00
{
displayName : 'New Name' ,
name : 'newName' ,
type : 'string' ,
displayOptions : {
show : {
operation : [ 'rename' ] ,
resource : [ 'file' ] ,
} ,
2022-05-15 10:55:09 -07:00
} ,
2022-08-17 08:50:24 -07:00
default : '' ,
description : 'New name for file' ,
2022-05-15 10:55:09 -07:00
} ,
2022-08-17 08:50:24 -07:00
/* -------------------------------------------------------------------------- */
/* file:search */
/* -------------------------------------------------------------------------- */
2020-03-22 12:43:35 -07:00
{
displayName : 'Query' ,
name : 'query' ,
type : 'string' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'search' ] ,
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
default : '' ,
2022-08-17 08:50:24 -07:00
description :
'The query text used to search for items. Values may be matched across several fields including filename, metadata, and file content.' ,
2020-03-22 12:43:35 -07:00
} ,
2022-08-17 08:50:24 -07:00
/* -------------------------------------------------------------------------- */
/* file:share */
/* -------------------------------------------------------------------------- */
2020-10-13 02:08:07 -07:00
{
displayName : 'File ID' ,
name : 'fileId' ,
type : 'string' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'share' ] ,
resource : [ 'file' ] ,
2020-10-13 02:08:07 -07:00
} ,
} ,
default : '' ,
} ,
{
displayName : 'Type' ,
name : 'type' ,
type : 'options' ,
options : [
{
name : 'View' ,
value : 'view' ,
} ,
{
name : 'Edit' ,
value : 'edit' ,
} ,
{
name : 'Embed' ,
value : 'embed' ,
} ,
] ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'share' ] ,
resource : [ 'file' ] ,
2020-10-13 02:08:07 -07:00
} ,
} ,
default : '' ,
description : 'The type of sharing link to create' ,
} ,
{
displayName : 'Scope' ,
name : 'scope' ,
type : 'options' ,
options : [
{
name : 'Anonymous' ,
value : 'anonymous' ,
} ,
{
name : 'Organization' ,
value : 'organization' ,
} ,
] ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'share' ] ,
resource : [ 'file' ] ,
2020-10-13 02:08:07 -07:00
} ,
} ,
default : '' ,
description : 'The type of sharing link to create' ,
} ,
2022-08-17 08:50:24 -07:00
/* -------------------------------------------------------------------------- */
/* file:upload */
/* -------------------------------------------------------------------------- */
2020-03-22 12:43:35 -07:00
{
displayName : 'File Name' ,
name : 'fileName' ,
type : 'string' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'upload' ] ,
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'The name the file should be saved as' ,
2020-03-22 12:43:35 -07:00
} ,
{
displayName : 'Parent ID' ,
name : 'parentId' ,
required : true ,
type : 'string' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'upload' ] ,
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'ID of the parent folder that will contain the file' ,
2020-03-22 12:43:35 -07:00
} ,
{
2024-01-03 03:08:16 -08:00
displayName : 'Binary File' ,
2020-03-22 12:43:35 -07:00
name : 'binaryData' ,
type : 'boolean' ,
default : false ,
required : true ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'upload' ] ,
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
2022-06-20 07:54:01 -07:00
description : 'Whether the data to upload should be taken from binary field' ,
2020-03-22 12:43:35 -07:00
} ,
{
displayName : 'File Content' ,
name : 'fileContent' ,
type : 'string' ,
default : '' ,
required : true ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
binaryData : [ false ] ,
operation : [ 'upload' ] ,
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
placeholder : '' ,
2022-05-06 14:01:25 -07:00
description : 'The text content of the file' ,
2020-03-22 12:43:35 -07:00
} ,
{
2024-01-03 03:08:16 -08:00
displayName : 'Input Binary Field' ,
2020-03-22 12:43:35 -07:00
name : 'binaryPropertyName' ,
type : 'string' ,
default : 'data' ,
required : true ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
binaryData : [ true ] ,
operation : [ 'upload' ] ,
resource : [ 'file' ] ,
2020-03-22 12:43:35 -07:00
} ,
} ,
placeholder : '' ,
2024-01-03 03:08:16 -08:00
hint : 'The name of the input binary field containing the file to be written' ,
2020-03-22 12:43:35 -07:00
} ,
2021-12-03 00:44:16 -08:00
] ;