n8n-nodes-base 1.95.1 → 1.96.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/credentials/PerplexityApi.credentials.js +1 -1
  2. package/dist/credentials/PerplexityApi.credentials.js.map +1 -1
  3. package/dist/nodes/Adalo/__schema__/v1.0.0/collection/getAll.json +21 -0
  4. package/dist/nodes/Airtable/test/v2/node/helpers.js +12 -2
  5. package/dist/nodes/Airtable/test/v2/node/helpers.js.map +1 -1
  6. package/dist/nodes/Airtop/__schema__/v1.0.0/extraction/query.json +7 -1
  7. package/dist/nodes/Airtop/__schema__/v1.0.0/session/create.json +9 -0
  8. package/dist/nodes/Airtop/__schema__/v1.0.0/window/create.json +40 -0
  9. package/dist/nodes/Airtop/test/node/helpers.js +12 -2
  10. package/dist/nodes/Airtop/test/node/helpers.js.map +1 -1
  11. package/dist/nodes/Asana/__schema__/v1.0.0/subtask/getAll.json +4 -1
  12. package/dist/nodes/Aws/S3/__schema__/v2.0.0/file/getAll.json +7 -1
  13. package/dist/nodes/Aws/S3/__schema__/v2.0.0/folder/getAll.json +7 -1
  14. package/dist/nodes/BambooHr/__schema__/v1.0.0/employee/getAll.json +1 -4
  15. package/dist/nodes/ClickUp/__schema__/v1.0.0/list/customFields.json +23 -1
  16. package/dist/nodes/Code/Pyodide.js +24 -0
  17. package/dist/nodes/Code/Pyodide.js.map +1 -1
  18. package/dist/nodes/CompareDatasets/GenericFunctions.js +5 -5
  19. package/dist/nodes/CompareDatasets/GenericFunctions.js.map +1 -1
  20. package/dist/nodes/Discord/__schema__/v2.0.0/message/sendAndWait.json +14 -0
  21. package/dist/nodes/Discord/v2/helpers/utils.js +2 -2
  22. package/dist/nodes/Discord/v2/helpers/utils.js.map +1 -1
  23. package/dist/nodes/Dropbox/__schema__/v1.0.0/file/download.json +31 -1
  24. package/dist/nodes/Dropcontact/__schema__/v1.0.0/contact/enrich.json +15 -1
  25. package/dist/nodes/Dropcontact/__schema__/v1.0.0/contact/fetchRequest.json +50 -0
  26. package/dist/nodes/EmailReadImap/v2/utils.js +16 -3
  27. package/dist/nodes/EmailReadImap/v2/utils.js.map +1 -1
  28. package/dist/nodes/EmailSend/__schema__/v2.1.0/email/send.json +1 -7
  29. package/dist/nodes/Evaluation/EvaluationTrigger/EvaluationTrigger.node.ee.js +1 -1
  30. package/dist/nodes/Evaluation/EvaluationTrigger/EvaluationTrigger.node.ee.js.map +1 -1
  31. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflowTrigger/ExecuteWorkflowTrigger.node.js +2 -2
  32. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflowTrigger/ExecuteWorkflowTrigger.node.js.map +1 -1
  33. package/dist/nodes/Freshservice/GenericFunctions.js +12 -2
  34. package/dist/nodes/Freshservice/GenericFunctions.js.map +1 -1
  35. package/dist/nodes/Google/Ads/__schema__/v1.0.0/campaign/getAll.json +13 -1
  36. package/dist/nodes/Google/Analytics/__schema__/v2.0.0/report/get.json +1 -4
  37. package/dist/nodes/Google/Calendar/__schema__/v1.3.0/event/getAll.json +1 -4
  38. package/dist/nodes/Google/Chat/__schema__/v1.0.0/message/create.json +30 -1
  39. package/dist/nodes/Google/Drive/__schema__/v3.0.0/file/upload.json +4 -1
  40. package/dist/nodes/Google/Drive/test/v2/node/helpers.js +12 -2
  41. package/dist/nodes/Google/Drive/test/v2/node/helpers.js.map +1 -1
  42. package/dist/nodes/Google/Firebase/CloudFirestore/__schema__/v1.1.0/document/query.json +1 -7
  43. package/dist/nodes/Google/Gmail/__schema__/v2.1.0/message/addLabels.json +13 -1
  44. package/dist/nodes/Google/Gmail/__schema__/v2.1.0/message/get.json +1 -7
  45. package/dist/nodes/Google/Gmail/__schema__/v2.1.0/message/markAsRead.json +13 -1
  46. package/dist/nodes/Google/Gmail/__schema__/v2.1.0/thread/addLabels.json +16 -1
  47. package/dist/nodes/Google/Sheet/v2/actions/sheet/update.operation.js +10 -4
  48. package/dist/nodes/Google/Sheet/v2/actions/sheet/update.operation.js.map +1 -1
  49. package/dist/nodes/HaloPSA/__schema__/v1.0.0/ticket/getAll.json +1 -268
  50. package/dist/nodes/HttpRequest/shared/optimizeResponse.js +5 -3
  51. package/dist/nodes/HttpRequest/shared/optimizeResponse.js.map +1 -1
  52. package/dist/nodes/Hubspot/__schema__/v2.1.0/company/getAll.json +1 -4
  53. package/dist/nodes/Hubspot/__schema__/v2.1.0/deal/getAll.json +64 -1
  54. package/dist/nodes/Hubspot/__schema__/v2.1.0/deal/search.json +1 -4
  55. package/dist/nodes/Hubspot/__schema__/v2.1.0/ticket/get.json +1 -61
  56. package/dist/nodes/JinaAI/__schema__/v1.0.0/reader/read.json +26 -0
  57. package/dist/nodes/Jira/__schema__/v1.0.0/issue/get.json +604 -7
  58. package/dist/nodes/Jira/__schema__/v1.0.0/issue/getAll.json +1 -110
  59. package/dist/nodes/Lemlist/__schema__/v2.0.0/lead/create.json +1 -4
  60. package/dist/nodes/Lemlist/__schema__/v2.0.0/lead/get.json +30 -0
  61. package/dist/nodes/Line/__schema__/v1.0.0/notification/send.json +4 -7
  62. package/dist/nodes/Linear/__schema__/v1.0.0/issue/getAll.json +12 -1
  63. package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js +23 -3
  64. package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js.map +1 -1
  65. package/dist/nodes/Microsoft/Entra/__schema__/v1.0.0/user/getAll.json +1 -7
  66. package/dist/nodes/Microsoft/Entra/descriptions/GroupDescription.js +12 -2
  67. package/dist/nodes/Microsoft/Entra/descriptions/GroupDescription.js.map +1 -1
  68. package/dist/nodes/Microsoft/Entra/descriptions/UserDescription.js +13 -3
  69. package/dist/nodes/Microsoft/Entra/descriptions/UserDescription.js.map +1 -1
  70. package/dist/nodes/Microsoft/OneDrive/__schema__/v1.0.0/file/download.json +23 -10
  71. package/dist/nodes/Microsoft/OneDrive/__schema__/v1.0.0/folder/create.json +1 -15
  72. package/dist/nodes/Microsoft/Outlook/__schema__/v2.0.0/event/getAll.json +1 -4
  73. package/dist/nodes/Microsoft/Outlook/__schema__/v2.0.0/folderMessage/getAll.json +124 -1
  74. package/dist/nodes/Microsoft/Outlook/__schema__/v2.0.0/message/getAll.json +1 -56
  75. package/dist/nodes/Microsoft/Sql/MicrosoftSql.node.js +12 -2
  76. package/dist/nodes/Microsoft/Sql/MicrosoftSql.node.js.map +1 -1
  77. package/dist/nodes/Microsoft/Storage/__schema__/v1.0.0/blob/create.json +39 -0
  78. package/dist/nodes/Microsoft/Storage/__schema__/v1.0.0/blob/get.json +44 -0
  79. package/dist/nodes/Microsoft/ToDo/__schema__/v1.0.0/task/getAll.json +5 -21
  80. package/dist/nodes/N8n/WorkflowDescription.js +40 -0
  81. package/dist/nodes/N8n/WorkflowDescription.js.map +1 -1
  82. package/dist/nodes/Nasa/__schema__/v1.0.0/donkiSolarFlare/get.json +1 -4
  83. package/dist/nodes/Notion/__schema__/v2.2.0/database/get.json +2 -149
  84. package/dist/nodes/Odoo/__schema__/v1.0.0/contact/get.json +1 -4
  85. package/dist/nodes/Odoo/__schema__/v1.0.0/contact/getAll.json +1 -10
  86. package/dist/nodes/Odoo/__schema__/v1.0.0/opportunity/getAll.json +1 -40
  87. package/dist/nodes/OpenAi/__schema__/v1.1.0/chat/complete.json +29 -1
  88. package/dist/nodes/Pipedrive/__schema__/v1.0.0/person/search.json +7 -1
  89. package/dist/nodes/QuickBase/__schema__/v1.0.0/record/getAll.json +9 -0
  90. package/dist/nodes/QuickBooks/__schema__/v1.0.0/transaction/getReport.json +4 -1
  91. package/dist/nodes/RssFeedRead/RssFeedRead.node.js +9 -3
  92. package/dist/nodes/RssFeedRead/RssFeedRead.node.js.map +1 -1
  93. package/dist/nodes/S3/__schema__/v1.0.0/file/download.json +21 -0
  94. package/dist/nodes/Salesforce/__schema__/v1.0.0/customObject/getAll.json +1 -4
  95. package/dist/nodes/Salesforce/__schema__/v1.0.0/lead/getAll.json +1 -4
  96. package/dist/nodes/Salesforce/__schema__/v1.0.0/opportunity/getAll.json +1 -4
  97. package/dist/nodes/Salesforce/__schema__/v1.0.0/search/query.json +1 -4
  98. package/dist/nodes/Shopify/__schema__/v1.0.0/order/getAll.json +250 -3
  99. package/dist/nodes/Slack/__schema__/v2.3.0/channel/history.json +1 -50
  100. package/dist/nodes/Slack/__schema__/v2.3.0/channel/member.json +168 -2
  101. package/dist/nodes/Slack/__schema__/v2.3.0/message/post.json +1 -4
  102. package/dist/nodes/Sms77/__schema__/v1.0.0/sms/send.json +1 -10
  103. package/dist/nodes/Strapi/__schema__/v1.0.0/entry/getAll.json +10 -1
  104. package/dist/nodes/Telegram/__schema__/v1.2.0/chat/member.json +1 -4
  105. package/dist/nodes/Telegram/__schema__/v1.2.0/message/editMessageText.json +4 -1
  106. package/dist/nodes/Telegram/__schema__/v1.2.0/message/sendAndWait.json +14 -0
  107. package/dist/nodes/Telegram/__schema__/v1.2.0/message/sendMessage.json +4 -21
  108. package/dist/nodes/Telegram/__schema__/v1.2.0/message/sendPhoto.json +1 -7
  109. package/dist/nodes/Telegram/tests/Helpers.js +12 -2
  110. package/dist/nodes/Telegram/tests/Helpers.js.map +1 -1
  111. package/dist/nodes/Transform/RemoveDuplicates/utils.js +8 -6
  112. package/dist/nodes/Transform/RemoveDuplicates/utils.js.map +1 -1
  113. package/dist/nodes/Trello/__schema__/v1.0.0/list/getAll.json +1 -4
  114. package/dist/nodes/Trello/__schema__/v1.0.0/list/getCards.json +1 -4
  115. package/dist/nodes/Twitter/__schema__/v2.0.0/tweet/search.json +7 -1
  116. package/dist/nodes/Wordpress/__schema__/v1.0.0/post/get.json +1 -7
  117. package/dist/nodes/Zoho/__schema__/v1.0.0/contact/getAll.json +1 -4
  118. package/dist/nodes/Zoho/__schema__/v1.0.0/lead/getAll.json +99 -1
  119. package/dist/test/nodes/Helpers.js +12 -2
  120. package/dist/test/nodes/Helpers.js.map +1 -1
  121. package/dist/types/credentials.json +1 -1
  122. package/dist/types/nodes.json +13 -13
  123. package/dist/utils/binary.js +12 -9
  124. package/dist/utils/binary.js.map +1 -1
  125. package/dist/utils/sendAndWait/utils.js +20 -5
  126. package/dist/utils/sendAndWait/utils.js.map +1 -1
  127. package/dist/utils/utilities.js +31 -16
  128. package/dist/utils/utilities.js.map +1 -1
  129. package/dist/utils/workflowInputsResourceMapping/GenericFunctions.js +2 -2
  130. package/dist/utils/workflowInputsResourceMapping/GenericFunctions.js.map +1 -1
  131. package/package.json +8 -8
@@ -1,162 +1,15 @@
1
1
  {
2
2
  "type": "object",
3
3
  "properties": {
4
- "archived": {
5
- "type": "boolean"
6
- },
7
- "created_by": {
8
- "type": "object",
9
- "properties": {
10
- "id": {
11
- "type": "string"
12
- },
13
- "object": {
14
- "type": "string"
15
- }
16
- }
17
- },
18
- "created_time": {
19
- "type": "string"
20
- },
21
- "description": {
22
- "type": "array",
23
- "items": {
24
- "type": "object",
25
- "properties": {
26
- "annotations": {
27
- "type": "object",
28
- "properties": {
29
- "bold": {
30
- "type": "boolean"
31
- },
32
- "code": {
33
- "type": "boolean"
34
- },
35
- "color": {
36
- "type": "string"
37
- },
38
- "italic": {
39
- "type": "boolean"
40
- },
41
- "strikethrough": {
42
- "type": "boolean"
43
- },
44
- "underline": {
45
- "type": "boolean"
46
- }
47
- }
48
- },
49
- "plain_text": {
50
- "type": "string"
51
- },
52
- "text": {
53
- "type": "object",
54
- "properties": {
55
- "content": {
56
- "type": "string"
57
- }
58
- }
59
- },
60
- "type": {
61
- "type": "string"
62
- }
63
- }
64
- }
65
- },
66
4
  "id": {
67
5
  "type": "string"
68
6
  },
69
- "in_trash": {
70
- "type": "boolean"
71
- },
72
- "is_inline": {
73
- "type": "boolean"
74
- },
75
- "last_edited_by": {
76
- "type": "object",
77
- "properties": {
78
- "id": {
79
- "type": "string"
80
- },
81
- "object": {
82
- "type": "string"
83
- }
84
- }
85
- },
86
- "last_edited_time": {
87
- "type": "string"
88
- },
89
- "object": {
7
+ "name": {
90
8
  "type": "string"
91
9
  },
92
- "parent": {
93
- "type": "object",
94
- "properties": {
95
- "type": {
96
- "type": "string"
97
- },
98
- "workspace": {
99
- "type": "boolean"
100
- }
101
- }
102
- },
103
- "request_id": {
104
- "type": "string"
105
- },
106
- "title": {
107
- "type": "array",
108
- "items": {
109
- "type": "object",
110
- "properties": {
111
- "annotations": {
112
- "type": "object",
113
- "properties": {
114
- "bold": {
115
- "type": "boolean"
116
- },
117
- "code": {
118
- "type": "boolean"
119
- },
120
- "color": {
121
- "type": "string"
122
- },
123
- "italic": {
124
- "type": "boolean"
125
- },
126
- "strikethrough": {
127
- "type": "boolean"
128
- },
129
- "underline": {
130
- "type": "boolean"
131
- }
132
- }
133
- },
134
- "href": {
135
- "type": "null"
136
- },
137
- "plain_text": {
138
- "type": "string"
139
- },
140
- "text": {
141
- "type": "object",
142
- "properties": {
143
- "content": {
144
- "type": "string"
145
- },
146
- "link": {
147
- "type": "null"
148
- }
149
- }
150
- },
151
- "type": {
152
- "type": "string"
153
- }
154
- }
155
- }
156
- },
157
10
  "url": {
158
11
  "type": "string"
159
12
  }
160
13
  },
161
- "version": 2
14
+ "version": 3
162
15
  }
@@ -3,10 +3,7 @@
3
3
  "properties": {
4
4
  "id": {
5
5
  "type": "integer"
6
- },
7
- "name": {
8
- "type": "string"
9
6
  }
10
7
  },
11
- "version": 1
8
+ "version": 2
12
9
  }
@@ -1,18 +1,9 @@
1
1
  {
2
2
  "type": "object",
3
3
  "properties": {
4
- "contact_address_complete": {
5
- "type": "string"
6
- },
7
- "display_name": {
8
- "type": "string"
9
- },
10
4
  "id": {
11
5
  "type": "integer"
12
- },
13
- "is_company": {
14
- "type": "boolean"
15
6
  }
16
7
  },
17
- "version": 2
8
+ "version": 3
18
9
  }
@@ -1,21 +1,9 @@
1
1
  {
2
2
  "type": "object",
3
3
  "properties": {
4
- "__last_update": {
5
- "type": "string"
6
- },
7
4
  "active": {
8
5
  "type": "boolean"
9
6
  },
10
- "contact_fullname": {
11
- "type": "string"
12
- },
13
- "contact_lastname": {
14
- "type": "string"
15
- },
16
- "country": {
17
- "type": "boolean"
18
- },
19
7
  "create_date": {
20
8
  "type": "string"
21
9
  },
@@ -24,34 +12,7 @@
24
12
  },
25
13
  "id": {
26
14
  "type": "integer"
27
- },
28
- "is_blacklisted": {
29
- "type": "boolean"
30
- },
31
- "lost_reason": {
32
- "type": "boolean"
33
- },
34
- "message_attachment_count": {
35
- "type": "integer"
36
- },
37
- "message_ids": {
38
- "type": "array",
39
- "items": {
40
- "type": "integer"
41
- }
42
- },
43
- "street4": {
44
- "type": "boolean"
45
- },
46
- "tag_ids": {
47
- "type": "array",
48
- "items": {
49
- "type": "integer"
50
- }
51
- },
52
- "type": {
53
- "type": "string"
54
15
  }
55
16
  },
56
- "version": 3
17
+ "version": 4
57
18
  }
@@ -13,6 +13,34 @@
13
13
  "message": {
14
14
  "type": "object",
15
15
  "properties": {
16
+ "annotations": {
17
+ "type": "array",
18
+ "items": {
19
+ "type": "object",
20
+ "properties": {
21
+ "type": {
22
+ "type": "string"
23
+ },
24
+ "url_citation": {
25
+ "type": "object",
26
+ "properties": {
27
+ "end_index": {
28
+ "type": "integer"
29
+ },
30
+ "start_index": {
31
+ "type": "integer"
32
+ },
33
+ "title": {
34
+ "type": "string"
35
+ },
36
+ "url": {
37
+ "type": "string"
38
+ }
39
+ }
40
+ }
41
+ }
42
+ }
43
+ },
16
44
  "content": {
17
45
  "type": "string"
18
46
  },
@@ -25,5 +53,5 @@
25
53
  }
26
54
  }
27
55
  },
28
- "version": 2
56
+ "version": 3
29
57
  }
@@ -1,6 +1,12 @@
1
1
  {
2
2
  "type": "object",
3
3
  "properties": {
4
+ "custom_fields": {
5
+ "type": "array",
6
+ "items": {
7
+ "type": "string"
8
+ }
9
+ },
4
10
  "emails": {
5
11
  "type": "array",
6
12
  "items": {
@@ -46,5 +52,5 @@
46
52
  "type": "integer"
47
53
  }
48
54
  },
49
- "version": 3
55
+ "version": 4
50
56
  }
@@ -0,0 +1,9 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "NSN": {
5
+ "type": "string"
6
+ }
7
+ },
8
+ "version": 1
9
+ }
@@ -19,6 +19,9 @@
19
19
  "other_account": {
20
20
  "type": "string"
21
21
  },
22
+ "subt_nat_amount": {
23
+ "type": "string"
24
+ },
22
25
  "tx_date": {
23
26
  "type": "string"
24
27
  },
@@ -26,5 +29,5 @@
26
29
  "type": "string"
27
30
  }
28
31
  },
29
- "version": 2
32
+ "version": 3
30
33
  }
@@ -51,7 +51,7 @@ class RssFeedRead {
51
51
  icon: "fa:rss",
52
52
  iconColor: "orange-red",
53
53
  group: ["input"],
54
- version: [1, 1.1],
54
+ version: [1, 1.1, 1.2],
55
55
  description: "Reads data from an RSS Feed",
56
56
  defaults: {
57
57
  name: "RSS Read",
@@ -114,11 +114,17 @@ class RssFeedRead {
114
114
  itemIndex: i
115
115
  });
116
116
  }
117
- const parser = new import_rss_parser.default({
117
+ const parserOptions = {
118
118
  requestOptions: {
119
119
  rejectUnauthorized: !ignoreSSL
120
120
  }
121
- });
121
+ };
122
+ if (nodeVersion >= 1.2) {
123
+ parserOptions.headers = {
124
+ Accept: "application/rss+xml, application/rdf+xml;q=0.8, application/atom+xml;q=0.6, application/xml;q=0.4, text/xml;q=0.4"
125
+ };
126
+ }
127
+ const parser = new import_rss_parser.default(parserOptions);
122
128
  let feed;
123
129
  try {
124
130
  feed = await parser.parseURL(url);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../nodes/RssFeedRead/RssFeedRead.node.ts"],"sourcesContent":["import type {\n\tIExecuteFunctions,\n\tIDataObject,\n\tINodeExecutionData,\n\tINodeType,\n\tINodeTypeDescription,\n} from 'n8n-workflow';\nimport { NodeConnectionTypes, NodeOperationError } from 'n8n-workflow';\nimport Parser from 'rss-parser';\nimport { URL } from 'url';\n\nimport { generatePairedItemData } from '../../utils/utilities';\n\n// Utility function\n\nfunction validateURL(url: string) {\n\ttry {\n\t\tnew URL(url);\n\t\treturn true;\n\t} catch (err) {\n\t\treturn false;\n\t}\n}\n\nexport class RssFeedRead implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'RSS Read',\n\t\tname: 'rssFeedRead',\n\t\ticon: 'fa:rss',\n\t\ticonColor: 'orange-red',\n\t\tgroup: ['input'],\n\t\tversion: [1, 1.1],\n\t\tdescription: 'Reads data from an RSS Feed',\n\t\tdefaults: {\n\t\t\tname: 'RSS Read',\n\t\t\tcolor: '#b02020',\n\t\t},\n\t\tusableAsTool: true,\n\t\tinputs: [NodeConnectionTypes.Main],\n\t\toutputs: [NodeConnectionTypes.Main],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'URL',\n\t\t\t\tname: 'url',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'URL of the RSS feed',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Options',\n\t\t\t\tname: 'options',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add option',\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Ignore SSL Issues (Insecure)',\n\t\t\t\t\t\tname: 'ignoreSSL',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription: 'Whether to ignore SSL/TLS certificate issues or not',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t};\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst returnData: INodeExecutionData[] = [];\n\t\tconst nodeVersion = this.getNode().typeVersion;\n\t\tconst items = this.getInputData();\n\n\t\tlet itemsLength = items.length ? 1 : 0;\n\t\tlet fallbackPairedItems;\n\n\t\tif (nodeVersion >= 1.1) {\n\t\t\titemsLength = items.length;\n\t\t} else {\n\t\t\tfallbackPairedItems = generatePairedItemData(items.length);\n\t\t}\n\n\t\tfor (let i = 0; i < itemsLength; i++) {\n\t\t\ttry {\n\t\t\t\tconst url = this.getNodeParameter('url', i) as string;\n\t\t\t\tconst options = this.getNodeParameter('options', i);\n\t\t\t\tconst ignoreSSL = Boolean(options.ignoreSSL);\n\n\t\t\t\tif (!url) {\n\t\t\t\t\tthrow new NodeOperationError(this.getNode(), 'The parameter \"URL\" has to be set!', {\n\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (!validateURL(url)) {\n\t\t\t\t\tthrow new NodeOperationError(this.getNode(), 'The provided \"URL\" is not valid!', {\n\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst parser = new Parser({\n\t\t\t\t\trequestOptions: {\n\t\t\t\t\t\trejectUnauthorized: !ignoreSSL,\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\tlet feed: Parser.Output<IDataObject>;\n\t\t\t\ttry {\n\t\t\t\t\tfeed = await parser.parseURL(url);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error.code === 'ECONNREFUSED') {\n\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t`It was not possible to connect to the URL. Please make sure the URL \"${url}\" it is valid!`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow new NodeOperationError(this.getNode(), error as Error, {\n\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// For now we just take the items and ignore everything else\n\t\t\t\tif (feed.items) {\n\t\t\t\t\tconst feedItems = (feed.items as IDataObject[]).map((item) => ({\n\t\t\t\t\t\tjson: item,\n\t\t\t\t\t})) as INodeExecutionData[];\n\n\t\t\t\t\tconst itemData = fallbackPairedItems || [{ item: i }];\n\n\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(feedItems, {\n\t\t\t\t\t\titemData,\n\t\t\t\t\t});\n\n\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (this.continueOnFail()) {\n\t\t\t\t\treturnData.push({\n\t\t\t\t\t\tjson: { error: error.message },\n\t\t\t\t\t\tpairedItem: fallbackPairedItems || [{ item: i }],\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\treturn [returnData];\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,0BAAwD;AACxD,wBAAmB;AACnB,iBAAoB;AAEpB,uBAAuC;AAIvC,SAAS,YAAY,KAAa;AACjC,MAAI;AACH,QAAI,eAAI,GAAG;AACX,WAAO;AAAA,EACR,SAAS,KAAK;AACb,WAAO;AAAA,EACR;AACD;AAEO,MAAM,YAAiC;AAAA,EAAvC;AACN,uBAAoC;AAAA,MACnC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,WAAW;AAAA,MACX,OAAO,CAAC,OAAO;AAAA,MACf,SAAS,CAAC,GAAG,GAAG;AAAA,MAChB,aAAa;AAAA,MACb,UAAU;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,MACR;AAAA,MACA,cAAc;AAAA,MACd,QAAQ,CAAC,wCAAoB,IAAI;AAAA,MACjC,SAAS,CAAC,wCAAoB,IAAI;AAAA,MAClC,YAAY;AAAA,QACX;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,SAAS;AAAA,UACT,UAAU;AAAA,UACV,aAAa;AAAA,QACd;AAAA,QACA;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa;AAAA,UACb,SAAS,CAAC;AAAA,UACV,SAAS;AAAA,YACR;AAAA,cACC,aAAa;AAAA,cACb,MAAM;AAAA,cACN,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aAAa;AAAA,YACd;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA;AAAA,EAEA,MAAM,UAAkE;AACvE,UAAM,aAAmC,CAAC;AAC1C,UAAM,cAAc,KAAK,QAAQ,EAAE;AACnC,UAAM,QAAQ,KAAK,aAAa;AAEhC,QAAI,cAAc,MAAM,SAAS,IAAI;AACrC,QAAI;AAEJ,QAAI,eAAe,KAAK;AACvB,oBAAc,MAAM;AAAA,IACrB,OAAO;AACN,gCAAsB,yCAAuB,MAAM,MAAM;AAAA,IAC1D;AAEA,aAAS,IAAI,GAAG,IAAI,aAAa,KAAK;AACrC,UAAI;AACH,cAAM,MAAM,KAAK,iBAAiB,OAAO,CAAC;AAC1C,cAAM,UAAU,KAAK,iBAAiB,WAAW,CAAC;AAClD,cAAM,YAAY,QAAQ,QAAQ,SAAS;AAE3C,YAAI,CAAC,KAAK;AACT,gBAAM,IAAI,uCAAmB,KAAK,QAAQ,GAAG,sCAAsC;AAAA,YAClF,WAAW;AAAA,UACZ,CAAC;AAAA,QACF;AAEA,YAAI,CAAC,YAAY,GAAG,GAAG;AACtB,gBAAM,IAAI,uCAAmB,KAAK,QAAQ,GAAG,oCAAoC;AAAA,YAChF,WAAW;AAAA,UACZ,CAAC;AAAA,QACF;AAEA,cAAM,SAAS,IAAI,kBAAAA,QAAO;AAAA,UACzB,gBAAgB;AAAA,YACf,oBAAoB,CAAC;AAAA,UACtB;AAAA,QACD,CAAC;AAED,YAAI;AACJ,YAAI;AACH,iBAAO,MAAM,OAAO,SAAS,GAAG;AAAA,QACjC,SAAS,OAAO;AACf,cAAI,MAAM,SAAS,gBAAgB;AAClC,kBAAM,IAAI;AAAA,cACT,KAAK,QAAQ;AAAA,cACb,wEAAwE,GAAG;AAAA,cAC3E;AAAA,gBACC,WAAW;AAAA,cACZ;AAAA,YACD;AAAA,UACD;AAEA,gBAAM,IAAI,uCAAmB,KAAK,QAAQ,GAAG,OAAgB;AAAA,YAC5D,WAAW;AAAA,UACZ,CAAC;AAAA,QACF;AAGA,YAAI,KAAK,OAAO;AACf,gBAAM,YAAa,KAAK,MAAwB,IAAI,CAAC,UAAU;AAAA,YAC9D,MAAM;AAAA,UACP,EAAE;AAEF,gBAAM,WAAW,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;AAEpD,gBAAM,gBAAgB,KAAK,QAAQ,2BAA2B,WAAW;AAAA,YACxE;AAAA,UACD,CAAC;AAED,qBAAW,KAAK,GAAG,aAAa;AAAA,QACjC;AAAA,MACD,SAAS,OAAO;AACf,YAAI,KAAK,eAAe,GAAG;AAC1B,qBAAW,KAAK;AAAA,YACf,MAAM,EAAE,OAAO,MAAM,QAAQ;AAAA,YAC7B,YAAY,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;AAAA,UAChD,CAAC;AACD;AAAA,QACD;AACA,cAAM;AAAA,MACP;AAAA,IACD;AAEA,WAAO,CAAC,UAAU;AAAA,EACnB;AACD;","names":["Parser"]}
1
+ {"version":3,"sources":["../../../nodes/RssFeedRead/RssFeedRead.node.ts"],"sourcesContent":["import type {\n\tIExecuteFunctions,\n\tIDataObject,\n\tINodeExecutionData,\n\tINodeType,\n\tINodeTypeDescription,\n} from 'n8n-workflow';\nimport { NodeConnectionTypes, NodeOperationError } from 'n8n-workflow';\nimport Parser from 'rss-parser';\nimport { URL } from 'url';\n\nimport { generatePairedItemData } from '../../utils/utilities';\n\n// Utility function\n\nfunction validateURL(url: string) {\n\ttry {\n\t\tnew URL(url);\n\t\treturn true;\n\t} catch (err) {\n\t\treturn false;\n\t}\n}\n\nexport class RssFeedRead implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'RSS Read',\n\t\tname: 'rssFeedRead',\n\t\ticon: 'fa:rss',\n\t\ticonColor: 'orange-red',\n\t\tgroup: ['input'],\n\t\tversion: [1, 1.1, 1.2],\n\t\tdescription: 'Reads data from an RSS Feed',\n\t\tdefaults: {\n\t\t\tname: 'RSS Read',\n\t\t\tcolor: '#b02020',\n\t\t},\n\t\tusableAsTool: true,\n\t\tinputs: [NodeConnectionTypes.Main],\n\t\toutputs: [NodeConnectionTypes.Main],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'URL',\n\t\t\t\tname: 'url',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\trequired: true,\n\t\t\t\tdescription: 'URL of the RSS feed',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Options',\n\t\t\t\tname: 'options',\n\t\t\t\ttype: 'collection',\n\t\t\t\tplaceholder: 'Add option',\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Ignore SSL Issues (Insecure)',\n\t\t\t\t\t\tname: 'ignoreSSL',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\tdescription: 'Whether to ignore SSL/TLS certificate issues or not',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t};\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst returnData: INodeExecutionData[] = [];\n\t\tconst nodeVersion = this.getNode().typeVersion;\n\t\tconst items = this.getInputData();\n\n\t\tlet itemsLength = items.length ? 1 : 0;\n\t\tlet fallbackPairedItems;\n\n\t\tif (nodeVersion >= 1.1) {\n\t\t\titemsLength = items.length;\n\t\t} else {\n\t\t\tfallbackPairedItems = generatePairedItemData(items.length);\n\t\t}\n\n\t\tfor (let i = 0; i < itemsLength; i++) {\n\t\t\ttry {\n\t\t\t\tconst url = this.getNodeParameter('url', i) as string;\n\t\t\t\tconst options = this.getNodeParameter('options', i);\n\t\t\t\tconst ignoreSSL = Boolean(options.ignoreSSL);\n\n\t\t\t\tif (!url) {\n\t\t\t\t\tthrow new NodeOperationError(this.getNode(), 'The parameter \"URL\" has to be set!', {\n\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (!validateURL(url)) {\n\t\t\t\t\tthrow new NodeOperationError(this.getNode(), 'The provided \"URL\" is not valid!', {\n\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst parserOptions: IDataObject = {\n\t\t\t\t\trequestOptions: {\n\t\t\t\t\t\trejectUnauthorized: !ignoreSSL,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tif (nodeVersion >= 1.2) {\n\t\t\t\t\tparserOptions.headers = {\n\t\t\t\t\t\tAccept:\n\t\t\t\t\t\t\t'application/rss+xml, application/rdf+xml;q=0.8, application/atom+xml;q=0.6, application/xml;q=0.4, text/xml;q=0.4',\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst parser = new Parser(parserOptions);\n\n\t\t\t\tlet feed: Parser.Output<IDataObject>;\n\t\t\t\ttry {\n\t\t\t\t\tfeed = await parser.parseURL(url);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error.code === 'ECONNREFUSED') {\n\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t`It was not possible to connect to the URL. Please make sure the URL \"${url}\" it is valid!`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow new NodeOperationError(this.getNode(), error as Error, {\n\t\t\t\t\t\titemIndex: i,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// For now we just take the items and ignore everything else\n\t\t\t\tif (feed.items) {\n\t\t\t\t\tconst feedItems = (feed.items as IDataObject[]).map((item) => ({\n\t\t\t\t\t\tjson: item,\n\t\t\t\t\t})) as INodeExecutionData[];\n\n\t\t\t\t\tconst itemData = fallbackPairedItems || [{ item: i }];\n\n\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(feedItems, {\n\t\t\t\t\t\titemData,\n\t\t\t\t\t});\n\n\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (this.continueOnFail()) {\n\t\t\t\t\treturnData.push({\n\t\t\t\t\t\tjson: { error: error.message },\n\t\t\t\t\t\tpairedItem: fallbackPairedItems || [{ item: i }],\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\treturn [returnData];\n\t}\n}\n"],"mappings":"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","names":["Parser"]}
@@ -0,0 +1,21 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "ETag": {
5
+ "type": "string"
6
+ },
7
+ "Key": {
8
+ "type": "string"
9
+ },
10
+ "LastModified": {
11
+ "type": "string"
12
+ },
13
+ "Size": {
14
+ "type": "string"
15
+ },
16
+ "StorageClass": {
17
+ "type": "string"
18
+ }
19
+ },
20
+ "version": 1
21
+ }
@@ -11,10 +11,7 @@
11
11
  "type": "string"
12
12
  }
13
13
  }
14
- },
15
- "Id": {
16
- "type": "string"
17
14
  }
18
15
  },
19
- "version": 3
16
+ "version": 4
20
17
  }
@@ -15,12 +15,9 @@
15
15
  "Id": {
16
16
  "type": "string"
17
17
  },
18
- "LastName": {
19
- "type": "string"
20
- },
21
18
  "Status": {
22
19
  "type": "string"
23
20
  }
24
21
  },
25
- "version": 1
22
+ "version": 2
26
23
  }
@@ -14,10 +14,7 @@
14
14
  },
15
15
  "Id": {
16
16
  "type": "string"
17
- },
18
- "Probability": {
19
- "type": "integer"
20
17
  }
21
18
  },
22
- "version": 3
19
+ "version": 4
23
20
  }
@@ -11,10 +11,7 @@
11
11
  "type": "string"
12
12
  }
13
13
  }
14
- },
15
- "Id": {
16
- "type": "string"
17
14
  }
18
15
  },
19
- "version": 2
16
+ "version": 3
20
17
  }