n8n-nodes-base
Version:
Base nodes of n8n
202 lines (197 loc) • 8.14 kB
text/typescript
/**
* Convert to File Node - Version 1.1
* Convert JSON data to binary data
*/
export interface ConvertToFileV11Params {
operation?: 'csv' | 'html' | 'iCal' | 'toJson' | 'ods' | 'rtf' | 'toText' | 'xls' | 'xlsx' | 'toBinary';
/**
* Put Output File in Field
* @hint The name of the output binary field to put the file in
* @displayOptions.show { operation: ["csv", "html", "rtf", "ods", "xls", "xlsx", "toBinary", "toText", "toJson", "iCal"] }
* @default data
*/
binaryPropertyName?: string | Expression<string> | PlaceholderValue;
/**
* Options
* @displayOptions.show { operation: ["csv", "html", "rtf", "ods", "xls", "xlsx", "toBinary", "toText", "toJson"] }
* @default {}
*/
options?: {
/** Whether to reduce the output file size
* @displayOptions.show { /operation: ["xlsx", "ods"] }
* @default false
*/
compression?: boolean | Expression<boolean>;
/** The character to use to separate fields
* @displayOptions.show { /operation: ["csv"] }
* @default ,
*/
delimiter?: string | Expression<string> | PlaceholderValue;
/** Name of the output file
*/
fileName?: string | Expression<string> | PlaceholderValue;
/** Whether the first row of the file contains the header names
* @default true
*/
headerRow?: boolean | Expression<boolean>;
/** Name of the sheet to create in the spreadsheet
* @displayOptions.show { /operation: ["ods", "xls", "xlsx"] }
* @default Sheet
*/
sheetName?: string | Expression<string> | PlaceholderValue;
/** Whether to add special marker at the start of your text file. This marker helps some programs understand how to read the file correctly.
* @displayOptions.show { encoding: ["utf8", "cesu8", "ucs2"] }
* @default false
*/
addBOM?: boolean | Expression<boolean>;
/** Whether the data is already base64 encoded
* @default true
*/
dataIsBase64?: boolean | Expression<boolean>;
/** Choose the character set to use to encode the data
* @displayOptions.hide { dataIsBase64: [true] }
* @default utf8
*/
encoding?: 'armscii8' | 'ascii' | 'base64' | 'big5hkscs' | 'binary' | 'cesu8' | 'cp1046' | 'cp1124' | 'cp1125' | 'cp1129' | 'cp1133' | 'cp1161' | 'cp1162' | 'cp1163' | 'cp437' | 'cp720' | 'cp737' | 'cp775' | 'cp808' | 'cp850' | 'cp852' | 'cp855' | 'cp856' | 'cp857' | 'cp858' | 'cp860' | 'cp861' | 'cp862' | 'cp863' | 'cp864' | 'cp865' | 'cp866' | 'cp869' | 'cp922' | 'cp936' | 'cp949' | 'cp950' | 'eucjp' | 'gb18030' | 'gbk' | 'georgianacademy' | 'georgianps' | 'hex' | 'hproman8' | 'iso646cn' | 'iso646jp' | 'iso88591' | 'iso885910' | 'iso885911' | 'iso885913' | 'iso885914' | 'iso885915' | 'iso885916' | 'iso88592' | 'iso88593' | 'iso88594' | 'iso88595' | 'iso88596' | 'iso88597' | 'iso88598' | 'iso88599' | 'koi8r' | 'koi8ru' | 'koi8t' | 'koi8u' | 'maccenteuro' | 'maccroatian' | 'maccyrillic' | 'macgreek' | 'maciceland' | 'macintosh' | 'macroman' | 'macromania' | 'macthai' | 'macturkish' | 'macukraine' | 'mik' | 'pt154' | 'rk1048' | 'shiftjis' | 'tcvn' | 'tis620' | 'ucs2' | 'utf16' | 'utf16be' | 'utf32' | 'utf32be' | 'utf32le' | 'utf7' | 'utf7imap' | 'utf8' | 'viscii' | 'windows1250' | 'windows1251' | 'windows1252' | 'windows1253' | 'windows1254' | 'windows1255' | 'windows1256' | 'windows1257' | 'windows1258' | 'windows874' | Expression<string>;
/** The MIME type of the output file. <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types" target="_blank">Common MIME types</a>.
*/
mimeType?: string | Expression<string> | PlaceholderValue;
/** Whether to format the JSON data for easier reading
* @default false
*/
format?: boolean | Expression<boolean>;
};
/**
* The name of the input field that contains the base64 string to convert to a file. Use dot-notation for deep fields (e.g. 'level1.level2.currentKey').
* @displayOptions.show { operation: ["toBinary", "toText"] }
*/
sourceProperty?: string | Expression<string> | PlaceholderValue;
/**
* Mode
* @displayOptions.show { operation: ["toJson"] }
* @default once
*/
mode?: 'once' | 'each';
/**
* Event Title
* @displayOptions.show { operation: ["iCal"] }
*/
title?: string | Expression<string> | PlaceholderValue;
/**
* Date and time at which the event begins. (For all-day events, the time will be ignored.).
* @displayOptions.show { operation: ["iCal"] }
*/
start?: string | Expression<string>;
/**
* Date and time at which the event ends. (For all-day events, the time will be ignored.).
* @hint If not set, will be equal to the start date
* @displayOptions.show { operation: ["iCal"] }
*/
end?: string | Expression<string>;
/**
* Whether the event lasts all day or not
* @displayOptions.show { operation: ["iCal"] }
* @default false
*/
allDay?: boolean | Expression<boolean>;
/**
* Options
* @displayOptions.show { operation: ["iCal"] }
* @default {}
*/
additionalFields?: {
/** Attendees
* @default {}
*/
attendeesUi?: {
/** Attendees
*/
attendeeValues?: Array<{
/** Name
*/
name?: string | Expression<string> | PlaceholderValue;
/** Email
*/
email?: string | Expression<string> | PlaceholderValue;
/** Whether the attendee has to confirm attendance or not
* @default false
*/
rsvp?: boolean | Expression<boolean>;
}>;
};
/** Used to specify busy status for Microsoft applications, like Outlook
*/
busyStatus?: 'BUSY' | 'TENTATIVE' | Expression<string>;
/** Specifies the calendar (not event) name. Used by Apple iCal and Microsoft Outlook. <a href="https://docs.microsoft.com/en-us/openspecs/exchange_server_protocols/ms-oxcical/1da58449-b97e-46bd-b018-a1ce576f3e6d">More info</a>.
*/
calName?: string | Expression<string> | PlaceholderValue;
/** Description
*/
description?: string | Expression<string> | PlaceholderValue;
/** The name of the file to be generated. Default name is event.ics.
*/
fileName?: string | Expression<string> | PlaceholderValue;
/** Geolocation
* @default {}
*/
geolocationUi?: {
/** Geolocation
*/
geolocationValues?: {
/** Latitude
*/
lat?: string | Expression<string> | PlaceholderValue;
/** Longitude
*/
lon?: string | Expression<string> | PlaceholderValue;
};
};
/** The intended venue
*/
location?: string | Expression<string> | PlaceholderValue;
/** A rule to define the repeat pattern of the event (RRULE). (<a href="https://icalendar.org/rrule-tool.html">Rule generator</a>).
*/
recurrenceRule?: string | Expression<string> | PlaceholderValue;
/** Organizer
* @default {}
*/
organizerUi?: {
/** Organizer
*/
organizerValues?: {
/** Name
*/
name?: string | Expression<string> | PlaceholderValue;
/** Email
*/
email?: string | Expression<string> | PlaceholderValue;
};
};
/** When sending an update for an event (with the same uid), defines the revision sequence number
* @default 0
*/
sequence?: number | Expression<number>;
/** Status
* @default CONFIRMED
*/
status?: 'CONFIRMED' | 'CANCELLED' | 'TENTATIVE' | Expression<string>;
/** Universally unique ID for the event (will be auto-generated if not specified here). Should be globally unique.
*/
uid?: string | Expression<string> | PlaceholderValue;
/** URL associated with event
*/
url?: string | Expression<string> | PlaceholderValue;
/** Whether to use the workflow timezone set in node's settings rather than UTC
* @default false
*/
useWorkflowTimezone?: boolean | Expression<boolean>;
};
}
interface ConvertToFileV11NodeBase {
type: 'n8n-nodes-base.convertToFile';
version: 1.1;
}
export type ConvertToFileV11ParamsNode = ConvertToFileV11NodeBase & {
config: NodeConfig<ConvertToFileV11Params>;
};
export type ConvertToFileV11Node = ConvertToFileV11ParamsNode;