2022-08-17 08:50:24 -07:00
import { INodeProperties } from 'n8n-workflow' ;
2022-05-27 09:39:55 -07:00
export const attachmentOperations : INodeProperties [ ] = [
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
noDataExpression : true ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'attachment' ] ,
2022-05-27 09:39:55 -07:00
} ,
} ,
options : [
{
name : 'Upload' ,
value : 'upload' ,
description : 'Upload an attachment to a specific table record' ,
2022-07-10 13:50:51 -07:00
action : 'Upload an attachment' ,
2022-05-27 09:39:55 -07:00
} ,
{
name : 'Delete' ,
value : 'delete' ,
description : 'Delete an attachment' ,
2022-07-10 13:50:51 -07:00
action : 'Delete an attachment' ,
2022-05-27 09:39:55 -07:00
} ,
{
name : 'Get' ,
value : 'get' ,
description : 'Get an attachment' ,
2022-07-10 13:50:51 -07:00
action : 'Get an attachment' ,
2022-05-27 09:39:55 -07:00
} ,
{
2022-09-07 07:51:14 -07:00
name : 'Get Many' ,
2022-05-27 09:39:55 -07:00
value : 'getAll' ,
description : 'Get all attachments on a table' ,
2022-07-10 13:50:51 -07:00
action : 'Get all attachments' ,
2022-05-27 09:39:55 -07:00
} ,
] ,
default : 'upload' ,
} ,
] ;
export const attachmentFields : INodeProperties [ ] = [
/* -------------------------------------------------------------------------- */
/* attachment common fields */
/* -------------------------------------------------------------------------- */
{
2022-06-03 10:23:49 -07:00
displayName : 'Table Name or ID' ,
2022-05-27 09:39:55 -07:00
name : 'tableName' ,
type : 'options' ,
2022-08-17 08:50:24 -07:00
description :
'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code-examples/expressions/">expression</a>' ,
2022-05-27 09:39:55 -07:00
typeOptions : {
loadOptionsMethod : 'getTables' ,
} ,
default : '' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'attachment' ] ,
operation : [ 'upload' , 'getAll' ] ,
2022-05-27 09:39:55 -07:00
} ,
} ,
required : true ,
} ,
/* -------------------------------------------------------------------------- */
/* attachment:upload */
/* -------------------------------------------------------------------------- */
{
displayName : 'Table Record ID' ,
name : 'id' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'attachment' ] ,
operation : [ 'upload' ] ,
2022-05-27 09:39:55 -07:00
} ,
} ,
required : true ,
2022-08-17 08:50:24 -07:00
description :
'Sys_id of the record in the table specified in Table Name that you want to attach the file to' ,
2022-05-27 09:39:55 -07:00
} ,
{
displayName : 'Input Data Field Name' ,
name : 'inputDataFieldName' ,
type : 'string' ,
default : 'data' ,
required : true ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'attachment' ] ,
operation : [ 'upload' ] ,
2022-05-27 09:39:55 -07:00
} ,
} ,
description : 'Name of the binary property that contains the data to upload' ,
} ,
{
displayName : 'Options' ,
name : 'options' ,
type : 'collection' ,
placeholder : 'Add Field' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'attachment' ] ,
operation : [ 'upload' ] ,
2022-05-27 09:39:55 -07:00
} ,
} ,
default : { } ,
options : [
{
displayName : 'File Name for the Attachment' ,
name : 'file_name' ,
type : 'string' ,
default : '' ,
description : 'Name to give the attachment' ,
} ,
] ,
} ,
/* -------------------------------------------------------------------------- */
/* attachment:delete */
/* -------------------------------------------------------------------------- */
{
displayName : 'Attachment ID' ,
name : 'attachmentId' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'attachment' ] ,
operation : [ 'delete' ] ,
2022-05-27 09:39:55 -07:00
} ,
} ,
required : true ,
description : 'Sys_id value of the attachment to delete' ,
} ,
/* -------------------------------------------------------------------------- */
/* attachment:get */
/* -------------------------------------------------------------------------- */
{
displayName : 'Attachment ID' ,
name : 'attachmentId' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'attachment' ] ,
operation : [ 'get' ] ,
2022-05-27 09:39:55 -07:00
} ,
} ,
required : true ,
description : 'Sys_id value of the attachment to delete' ,
} ,
/* -------------------------------------------------------------------------- */
/* attachment:getAll */
/* -------------------------------------------------------------------------- */
{
displayName : 'Return All' ,
name : 'returnAll' ,
type : 'boolean' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'attachment' ] ,
operation : [ 'getAll' ] ,
2022-05-27 09:39:55 -07:00
} ,
} ,
default : false ,
description : 'Whether to return all results or only up to a given limit' ,
} ,
{
displayName : 'Limit' ,
name : 'limit' ,
type : 'number' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'attachment' ] ,
operation : [ 'getAll' ] ,
returnAll : [ false ] ,
2022-05-27 09:39:55 -07:00
} ,
} ,
typeOptions : {
minValue : 1 ,
maxValue : 500 ,
} ,
default : 50 ,
description : 'Max number of results to return' ,
} ,
{
displayName : 'Download Attachments' ,
name : 'download' ,
type : 'boolean' ,
default : false ,
required : true ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'attachment' ] ,
operation : [ 'get' , 'getAll' ] ,
2022-05-27 09:39:55 -07:00
} ,
} ,
} ,
{
displayName : 'Output Field' ,
name : 'outputField' ,
type : 'string' ,
default : 'data' ,
description : 'Field name where downloaded data will be placed' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'attachment' ] ,
operation : [ 'get' , 'getAll' ] ,
download : [ true ] ,
2022-05-27 09:39:55 -07:00
} ,
} ,
} ,
{
displayName : 'Options' ,
name : 'options' ,
type : 'collection' ,
placeholder : 'Add Field' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'attachment' ] ,
operation : [ 'get' , 'getAll' ] ,
2022-05-27 09:39:55 -07:00
} ,
} ,
default : { } ,
options : [
{
displayName : 'Filter' ,
name : 'queryFilter' ,
type : 'string' ,
placeholder : '<col_name><operator><value>' ,
default : '' ,
description : 'An encoded query string used to filter the results' ,
hint : 'All parameters are case-sensitive. Queries can contain more than one entry. <a href="https://developer.servicenow.com/dev.do#!/learn/learning-plans/quebec/servicenow_application_developer/app_store_learnv2_rest_quebec_more_about_query_parameters">more information</a>.' ,
} ,
] ,
} ,
] ;