@bonsae/node-red-salesforce 0.4.1 → 0.6.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.
- package/README.md +82 -4
- package/icons/salesforce-apex-code.png +0 -0
- package/icons/salesforce-apex-invocation.png +0 -0
- package/index.d.ts +89 -39
- package/index.html +2 -1
- package/index.mjs +902 -403
- package/index.mjs.map +1 -1
- package/locales/de/index.html +68 -15
- package/locales/de/index.json +54 -12
- package/locales/en-US/index.html +69 -16
- package/locales/en-US/index.json +57 -16
- package/locales/es-ES/index.html +75 -22
- package/locales/es-ES/index.json +61 -19
- package/locales/fr/index.html +75 -22
- package/locales/fr/index.json +63 -21
- package/locales/ja/index.html +74 -21
- package/locales/ja/index.json +60 -18
- package/locales/ko/index.html +74 -21
- package/locales/ko/index.json +60 -18
- package/locales/pt-BR/index.html +70 -17
- package/locales/pt-BR/index.json +57 -15
- package/locales/ru/index.html +74 -21
- package/locales/ru/index.json +60 -18
- package/locales/zh-CN/index.html +74 -21
- package/locales/zh-CN/index.json +60 -18
- package/locales/zh-TW/index.html +74 -21
- package/locales/zh-TW/index.json +60 -18
- package/package.json +2 -2
- package/resources/index.C1dzx4s2.js +49 -0
- package/resources/index.zXteTlSH.css +48 -0
- package/resources/index.FDBQSjT7.js +0 -1
package/locales/de/index.html
CHANGED
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
<tr><td>Verbindung</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Ja</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
74
74
|
<tr><td>Operation</td><td>operation</td><td></td><td>Ja</td><td><code>"create"</code></td><td></td></tr>
|
|
75
75
|
<tr><td>SObject-Typ</td><td>sObjectType</td><td>TypedInput</td><td>Ja</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
76
|
-
<tr><td
|
|
76
|
+
<tr><td>Datensatz</td><td>record</td><td>TypedInput</td><td>Ja</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
77
77
|
<tr><td>Externes ID-Feld</td><td>externalIdField</td><td>string</td><td>Nein</td><td><code>""</code></td><td></td></tr>
|
|
78
78
|
<tr><td></td><td>errorPort</td><td>boolean</td><td>Ja</td><td><code>false</code></td><td></td></tr>
|
|
79
79
|
<tr><td></td><td>completePort</td><td>boolean</td><td>Ja</td><td><code>false</code></td><td></td></tr>
|
|
@@ -112,14 +112,15 @@
|
|
|
112
112
|
<tr><td>Verbindung</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Ja</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
113
113
|
<tr><td>Operation</td><td>operation</td><td></td><td>Ja</td><td><code>"insert"</code></td><td></td></tr>
|
|
114
114
|
<tr><td>SObject-Typ</td><td>sObjectType</td><td>TypedInput</td><td>Ja</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
115
|
+
<tr><td>SOQL-Abfrage</td><td>query</td><td>TypedInput</td><td>Ja</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
115
116
|
<tr><td>Externes ID-Feld</td><td>externalIdField</td><td>string</td><td>Nein</td><td><code>""</code></td><td></td></tr>
|
|
116
|
-
<tr><td
|
|
117
|
-
<tr><td
|
|
118
|
-
<tr><td
|
|
119
|
-
<tr><td
|
|
120
|
-
<tr><td
|
|
117
|
+
<tr><td>Zuweisungsregel-ID</td><td>assignmentRuleId</td><td>string</td><td>Nein</td><td><code>""</code></td><td></td></tr>
|
|
118
|
+
<tr><td>Spaltentrennzeichen</td><td>columnDelimiter</td><td></td><td>Ja</td><td><code>"COMMA"</code></td><td></td></tr>
|
|
119
|
+
<tr><td>Zeilenende</td><td>lineEnding</td><td></td><td>Ja</td><td><code>"LF"</code></td><td></td></tr>
|
|
120
|
+
<tr><td>Abfrageintervall (ms)</td><td>pollInterval</td><td>number [min: 1000]</td><td>Ja</td><td><code>5000</code></td><td></td></tr>
|
|
121
|
+
<tr><td>Abfrage-Timeout (ms)</td><td>pollTimeout</td><td>number [min: 5000]</td><td>Ja</td><td><code>60000</code></td><td></td></tr>
|
|
121
122
|
<tr><td></td><td>errorPort</td><td>boolean</td><td>Ja</td><td><code>false</code></td><td></td></tr>
|
|
122
|
-
<tr><td></td><td>completePort</td><td>boolean</td><td>Ja</td><td><code>
|
|
123
|
+
<tr><td></td><td>completePort</td><td>boolean</td><td>Ja</td><td><code>false</code></td><td></td></tr>
|
|
123
124
|
<tr><td></td><td>statusPort</td><td>boolean</td><td>Ja</td><td><code>false</code></td><td></td></tr>
|
|
124
125
|
</tbody>
|
|
125
126
|
</table>
|
|
@@ -130,7 +131,17 @@
|
|
|
130
131
|
<table width="100%" style="min-width:500px">
|
|
131
132
|
<thead><tr><th>Bezeichnung</th><th>Eigenschaft</th><th>Typ</th><th>Erforderlich</th><th style="width:35%">Beschreibung</th></tr></thead>
|
|
132
133
|
<tbody>
|
|
133
|
-
<tr><td>Datensatz-Array oder
|
|
134
|
+
<tr><td>Datensatz-Array, CSV-String, lesbarer Stream (Aufnahme) oder Auslöser (Abfrage)</td><td>payload</td><td></td><td>Ja</td><td>Records array, CSV string, readable stream (ingest) or SOQL string (query)</td></tr>
|
|
135
|
+
</tbody>
|
|
136
|
+
</table>
|
|
137
|
+
</div>
|
|
138
|
+
|
|
139
|
+
<h3>Ausgang</h3>
|
|
140
|
+
<div style="overflow-x:auto">
|
|
141
|
+
<table width="100%" style="min-width:500px">
|
|
142
|
+
<thead><tr><th>Bezeichnung</th><th>Eigenschaft</th><th>Typ</th><th>Erforderlich</th><th style="width:35%">Beschreibung</th></tr></thead>
|
|
143
|
+
<tbody>
|
|
144
|
+
<tr><td>Abfrage: einzelner Datensatz. Aufnahme: { successfulResults, failedResults, unprocessedRecords }</td><td>payload</td><td></td><td>Ja</td><td>Query: individual record. Ingest: { successfulResults, failedResults, unprocessedRecords }</td></tr>
|
|
134
145
|
</tbody>
|
|
135
146
|
</table>
|
|
136
147
|
</div>
|
|
@@ -156,7 +167,7 @@
|
|
|
156
167
|
<table width="100%" style="min-width:500px">
|
|
157
168
|
<thead><tr><th>Bezeichnung</th><th>Eigenschaft</th><th>Typ</th><th>Erforderlich</th><th style="width:35%">Beschreibung</th></tr></thead>
|
|
158
169
|
<tbody>
|
|
159
|
-
<tr><td>
|
|
170
|
+
<tr><td>SObject-API-Name (überschreibt die Konfiguration, falls angegeben)</td><td>payload</td><td></td><td>Ja</td><td></td></tr>
|
|
160
171
|
</tbody>
|
|
161
172
|
</table>
|
|
162
173
|
</div>
|
|
@@ -166,7 +177,7 @@
|
|
|
166
177
|
<table width="100%" style="min-width:500px">
|
|
167
178
|
<thead><tr><th>Bezeichnung</th><th>Eigenschaft</th><th>Typ</th><th>Erforderlich</th><th style="width:35%">Beschreibung</th></tr></thead>
|
|
168
179
|
<tbody>
|
|
169
|
-
<tr><td>SObject-
|
|
180
|
+
<tr><td>SObject-Beschreibungsergebnis mit Feldern, untergeordneten Beziehungen und Datensatztypinformationen</td><td>payload</td><td>object</td><td>Ja</td><td></td></tr>
|
|
170
181
|
</tbody>
|
|
171
182
|
</table>
|
|
172
183
|
</div>
|
|
@@ -203,16 +214,58 @@
|
|
|
203
214
|
</table>
|
|
204
215
|
</div>
|
|
205
216
|
</script>
|
|
206
|
-
<script type="text/html" data-help-name="salesforce-apex">
|
|
207
|
-
<p>Ruft
|
|
217
|
+
<script type="text/html" data-help-name="salesforce-apex-invocation">
|
|
218
|
+
<p>Ruft vorhandene Apex-REST-Endpunkte oder Invocable Actions in einer Salesforce-Org auf.</p>
|
|
208
219
|
<h3>Eigenschaften</h3>
|
|
209
220
|
<div style="overflow-x:auto">
|
|
210
221
|
<table width="100%" style="min-width:500px">
|
|
211
222
|
<thead><tr><th>Bezeichnung</th><th>Eigenschaft</th><th>Typ</th><th>Erforderlich</th><th>Standard</th><th style="width:35%">Beschreibung</th></tr></thead>
|
|
212
223
|
<tbody>
|
|
213
224
|
<tr><td>Verbindung</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Ja</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
225
|
+
<tr><td>Typ</td><td>apexType</td><td></td><td>Ja</td><td><code>"rest"</code></td><td></td></tr>
|
|
214
226
|
<tr><td>Methode</td><td>method</td><td></td><td>Ja</td><td><code>"POST"</code></td><td></td></tr>
|
|
215
|
-
<tr><td>
|
|
227
|
+
<tr><td>Endpunkt</td><td>path</td><td>TypedInput</td><td>Ja</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
228
|
+
<tr><td>Aktion</td><td>actionName</td><td>string</td><td>Ja</td><td><code>""</code></td><td></td></tr>
|
|
229
|
+
<tr><td></td><td>errorPort</td><td>boolean</td><td>Ja</td><td><code>false</code></td><td></td></tr>
|
|
230
|
+
<tr><td></td><td>completePort</td><td>boolean</td><td>Ja</td><td><code>false</code></td><td></td></tr>
|
|
231
|
+
<tr><td></td><td>statusPort</td><td>boolean</td><td>Ja</td><td><code>false</code></td><td></td></tr>
|
|
232
|
+
</tbody>
|
|
233
|
+
</table>
|
|
234
|
+
</div>
|
|
235
|
+
|
|
236
|
+
<h3>Eingang</h3>
|
|
237
|
+
<div style="overflow-x:auto">
|
|
238
|
+
<table width="100%" style="min-width:500px">
|
|
239
|
+
<thead><tr><th>Bezeichnung</th><th>Eigenschaft</th><th>Typ</th><th>Erforderlich</th><th style="width:35%">Beschreibung</th></tr></thead>
|
|
240
|
+
<tbody>
|
|
241
|
+
<tr><td>Anfragekörper für POST/PUT/PATCH, oder ignoriert für GET/DELETE</td><td>payload</td><td></td><td>Ja</td><td></td></tr>
|
|
242
|
+
</tbody>
|
|
243
|
+
</table>
|
|
244
|
+
</div>
|
|
245
|
+
|
|
246
|
+
<h3>Ausgang</h3>
|
|
247
|
+
<div style="overflow-x:auto">
|
|
248
|
+
<table width="100%" style="min-width:500px">
|
|
249
|
+
<thead><tr><th>Bezeichnung</th><th>Eigenschaft</th><th>Typ</th><th>Erforderlich</th><th style="width:35%">Beschreibung</th></tr></thead>
|
|
250
|
+
<tbody>
|
|
251
|
+
<tr><td>Apex-Endpunkt-Antwort</td><td>payload</td><td></td><td>Ja</td><td></td></tr>
|
|
252
|
+
</tbody>
|
|
253
|
+
</table>
|
|
254
|
+
</div>
|
|
255
|
+
</script>
|
|
256
|
+
<script type="text/html" data-help-name="salesforce-apex-code">
|
|
257
|
+
<p>Stellt benutzerdefinierten Apex-Code in einer Salesforce-Org bereit und fuehrt ihn aus. Unterstuetzt Invocable- und REST-Typen.</p>
|
|
258
|
+
<h3>Eigenschaften</h3>
|
|
259
|
+
<div style="overflow-x:auto">
|
|
260
|
+
<table width="100%" style="min-width:500px">
|
|
261
|
+
<thead><tr><th>Bezeichnung</th><th>Eigenschaft</th><th>Typ</th><th>Erforderlich</th><th>Standard</th><th style="width:35%">Beschreibung</th></tr></thead>
|
|
262
|
+
<tbody>
|
|
263
|
+
<tr><td>Verbindung</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Ja</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
264
|
+
<tr><td>Typ</td><td>apexType</td><td></td><td>Ja</td><td><code>"invocable"</code></td><td></td></tr>
|
|
265
|
+
<tr><td>Klassenname</td><td>className</td><td>string</td><td>Ja</td><td><code>""</code></td><td></td></tr>
|
|
266
|
+
<tr><td>URL-Zuordnung</td><td>urlMapping</td><td>string</td><td>Ja</td><td><code>""</code></td><td></td></tr>
|
|
267
|
+
<tr><td>HTTP-Methode</td><td>httpMethod</td><td></td><td>Ja</td><td><code>"HttpPost"</code></td><td></td></tr>
|
|
268
|
+
<tr><td>Apex-Code</td><td>code</td><td>string</td><td>Ja</td><td><code>"private static Object run(String payload) {\n // Your code here\n return payload;\n }"</code></td><td></td></tr>
|
|
216
269
|
<tr><td></td><td>errorPort</td><td>boolean</td><td>Ja</td><td><code>false</code></td><td></td></tr>
|
|
217
270
|
<tr><td></td><td>completePort</td><td>boolean</td><td>Ja</td><td><code>false</code></td><td></td></tr>
|
|
218
271
|
<tr><td></td><td>statusPort</td><td>boolean</td><td>Ja</td><td><code>false</code></td><td></td></tr>
|
|
@@ -225,7 +278,7 @@
|
|
|
225
278
|
<table width="100%" style="min-width:500px">
|
|
226
279
|
<thead><tr><th>Bezeichnung</th><th>Eigenschaft</th><th>Typ</th><th>Erforderlich</th><th style="width:35%">Beschreibung</th></tr></thead>
|
|
227
280
|
<tbody>
|
|
228
|
-
<tr><td>
|
|
281
|
+
<tr><td>Eingabedaten, die als JSON-String an die Apex-Methode übergeben werden</td><td>payload</td><td></td><td>Ja</td><td></td></tr>
|
|
229
282
|
</tbody>
|
|
230
283
|
</table>
|
|
231
284
|
</div>
|
|
@@ -235,7 +288,7 @@
|
|
|
235
288
|
<table width="100%" style="min-width:500px">
|
|
236
289
|
<thead><tr><th>Bezeichnung</th><th>Eigenschaft</th><th>Typ</th><th>Erforderlich</th><th style="width:35%">Beschreibung</th></tr></thead>
|
|
237
290
|
<tbody>
|
|
238
|
-
<tr><td>Apex-
|
|
291
|
+
<tr><td>Apex-Ausführungsantwort</td><td>payload</td><td></td><td>Ja</td><td></td></tr>
|
|
239
292
|
</tbody>
|
|
240
293
|
</table>
|
|
241
294
|
</div>
|
package/locales/de/index.json
CHANGED
|
@@ -1,10 +1,45 @@
|
|
|
1
1
|
{
|
|
2
|
-
"salesforce-apex": {
|
|
2
|
+
"salesforce-apex-code": {
|
|
3
3
|
"configs": {
|
|
4
4
|
"name": "Name",
|
|
5
5
|
"connection": "Verbindung",
|
|
6
|
+
"apexType": "Typ",
|
|
7
|
+
"className": "Klassenname",
|
|
8
|
+
"urlMapping": "URL-Zuordnung",
|
|
9
|
+
"httpMethod": "HTTP-Methode",
|
|
10
|
+
"code": "Apex-Code"
|
|
11
|
+
},
|
|
12
|
+
"toggles": {
|
|
13
|
+
"validateInput": "Eingabe validieren",
|
|
14
|
+
"validateOutput": "Ausgabe validieren",
|
|
15
|
+
"errorPort": "Fehler-Port",
|
|
16
|
+
"completePort": "Abschluss-Port",
|
|
17
|
+
"statusPort": "Status-Port"
|
|
18
|
+
},
|
|
19
|
+
"$schema": "https://unpkg.com/@bonsae/nrg/schemas/labels.schema.json",
|
|
20
|
+
"label": "Apex Code",
|
|
21
|
+
"description": "Stellt benutzerdefinierten Apex-Code in einer Salesforce-Org bereit und fuehrt ihn aus. Unterstuetzt Invocable- und REST-Typen.",
|
|
22
|
+
"inputLabels": "Eingabe",
|
|
23
|
+
"outputLabels": [
|
|
24
|
+
"Antwort"
|
|
25
|
+
],
|
|
26
|
+
"input": {
|
|
27
|
+
"payload": "Eingabedaten, die als JSON-String an die Apex-Methode übergeben werden"
|
|
28
|
+
},
|
|
29
|
+
"outputs": [
|
|
30
|
+
{
|
|
31
|
+
"payload": "Apex-Ausführungsantwort"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"salesforce-apex-invocation": {
|
|
36
|
+
"configs": {
|
|
37
|
+
"name": "Name",
|
|
38
|
+
"connection": "Verbindung",
|
|
39
|
+
"apexType": "Typ",
|
|
6
40
|
"method": "Methode",
|
|
7
|
-
"path": "
|
|
41
|
+
"path": "Endpunkt",
|
|
42
|
+
"actionName": "Aktion"
|
|
8
43
|
},
|
|
9
44
|
"toggles": {
|
|
10
45
|
"validateInput": "Eingabe validieren",
|
|
@@ -14,18 +49,18 @@
|
|
|
14
49
|
"statusPort": "Status-Port"
|
|
15
50
|
},
|
|
16
51
|
"$schema": "https://unpkg.com/@bonsae/nrg/schemas/labels.schema.json",
|
|
17
|
-
"label": "Apex",
|
|
18
|
-
"description": "Ruft
|
|
52
|
+
"label": "Apex Invocation",
|
|
53
|
+
"description": "Ruft vorhandene Apex-REST-Endpunkte oder Invocable Actions in einer Salesforce-Org auf.",
|
|
19
54
|
"inputLabels": "Anfrage",
|
|
20
55
|
"outputLabels": [
|
|
21
56
|
"Antwort"
|
|
22
57
|
],
|
|
23
58
|
"input": {
|
|
24
|
-
"payload": "Anfragekörper"
|
|
59
|
+
"payload": "Anfragekörper für POST/PUT/PATCH, oder ignoriert für GET/DELETE"
|
|
25
60
|
},
|
|
26
61
|
"outputs": [
|
|
27
62
|
{
|
|
28
|
-
"payload": "Apex-Antwort"
|
|
63
|
+
"payload": "Apex-Endpunkt-Antwort"
|
|
29
64
|
}
|
|
30
65
|
]
|
|
31
66
|
},
|
|
@@ -35,7 +70,13 @@
|
|
|
35
70
|
"connection": "Verbindung",
|
|
36
71
|
"operation": "Operation",
|
|
37
72
|
"sObjectType": "SObject-Typ",
|
|
38
|
-
"
|
|
73
|
+
"query": "SOQL-Abfrage",
|
|
74
|
+
"externalIdField": "Externes ID-Feld",
|
|
75
|
+
"assignmentRuleId": "Zuweisungsregel-ID",
|
|
76
|
+
"columnDelimiter": "Spaltentrennzeichen",
|
|
77
|
+
"lineEnding": "Zeilenende",
|
|
78
|
+
"pollInterval": "Abfrageintervall (ms)",
|
|
79
|
+
"pollTimeout": "Abfrage-Timeout (ms)"
|
|
39
80
|
},
|
|
40
81
|
"toggles": {
|
|
41
82
|
"validateInput": "Eingabe validieren",
|
|
@@ -53,11 +94,11 @@
|
|
|
53
94
|
"Job Abgeschlossen"
|
|
54
95
|
],
|
|
55
96
|
"input": {
|
|
56
|
-
"payload": "Datensatz-Array oder
|
|
97
|
+
"payload": "Datensatz-Array, CSV-String, lesbarer Stream (Aufnahme) oder Auslöser (Abfrage)"
|
|
57
98
|
},
|
|
58
99
|
"outputs": [
|
|
59
100
|
{
|
|
60
|
-
"payload": "
|
|
101
|
+
"payload": "Abfrage: einzelner Datensatz. Aufnahme: { successfulResults, failedResults, unprocessedRecords }"
|
|
61
102
|
}
|
|
62
103
|
]
|
|
63
104
|
},
|
|
@@ -106,11 +147,11 @@
|
|
|
106
147
|
"SObject-Metadaten"
|
|
107
148
|
],
|
|
108
149
|
"input": {
|
|
109
|
-
"payload": "
|
|
150
|
+
"payload": "SObject-API-Name (überschreibt die Konfiguration, falls angegeben)"
|
|
110
151
|
},
|
|
111
152
|
"outputs": [
|
|
112
153
|
{
|
|
113
|
-
"payload": "SObject-
|
|
154
|
+
"payload": "SObject-Beschreibungsergebnis mit Feldern, untergeordneten Beziehungen und Datensatztypinformationen"
|
|
114
155
|
}
|
|
115
156
|
]
|
|
116
157
|
},
|
|
@@ -120,7 +161,8 @@
|
|
|
120
161
|
"connection": "Verbindung",
|
|
121
162
|
"operation": "Operation",
|
|
122
163
|
"sObjectType": "SObject-Typ",
|
|
123
|
-
"externalIdField": "Externes ID-Feld"
|
|
164
|
+
"externalIdField": "Externes ID-Feld",
|
|
165
|
+
"record": "Datensatz"
|
|
124
166
|
},
|
|
125
167
|
"toggles": {
|
|
126
168
|
"validateInput": "Eingabe validieren",
|
package/locales/en-US/index.html
CHANGED
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Yes</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
74
74
|
<tr><td>Operation</td><td>operation</td><td></td><td>Yes</td><td><code>"create"</code></td><td></td></tr>
|
|
75
75
|
<tr><td>SObject Type</td><td>sObjectType</td><td>TypedInput</td><td>Yes</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
76
|
-
<tr><td
|
|
76
|
+
<tr><td>Record</td><td>record</td><td>TypedInput</td><td>Yes</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
77
77
|
<tr><td>External ID Field</td><td>externalIdField</td><td>string</td><td>No</td><td><code>""</code></td><td></td></tr>
|
|
78
78
|
<tr><td></td><td>errorPort</td><td>boolean</td><td>Yes</td><td><code>false</code></td><td></td></tr>
|
|
79
79
|
<tr><td></td><td>completePort</td><td>boolean</td><td>Yes</td><td><code>false</code></td><td></td></tr>
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
</div>
|
|
104
104
|
</script>
|
|
105
105
|
<script type="text/html" data-help-name="salesforce-bulk">
|
|
106
|
-
<p>Performs bulk operations using the Salesforce Bulk API 2.0 for large data volumes.</p>
|
|
106
|
+
<p>Performs bulk operations using the Salesforce Bulk API 2.0 for large data volumes. Accepts arrays, CSV strings, or readable streams for ingest. SOQL strings for query.</p>
|
|
107
107
|
<h3>Properties</h3>
|
|
108
108
|
<div style="overflow-x:auto">
|
|
109
109
|
<table width="100%" style="min-width:500px">
|
|
@@ -112,14 +112,15 @@
|
|
|
112
112
|
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Yes</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
113
113
|
<tr><td>Operation</td><td>operation</td><td></td><td>Yes</td><td><code>"insert"</code></td><td></td></tr>
|
|
114
114
|
<tr><td>SObject Type</td><td>sObjectType</td><td>TypedInput</td><td>Yes</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
115
|
+
<tr><td>SOQL Query</td><td>query</td><td>TypedInput</td><td>Yes</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
115
116
|
<tr><td>External ID Field</td><td>externalIdField</td><td>string</td><td>No</td><td><code>""</code></td><td></td></tr>
|
|
116
|
-
<tr><td
|
|
117
|
-
<tr><td
|
|
118
|
-
<tr><td
|
|
119
|
-
<tr><td
|
|
120
|
-
<tr><td
|
|
117
|
+
<tr><td>Assignment Rule ID</td><td>assignmentRuleId</td><td>string</td><td>No</td><td><code>""</code></td><td></td></tr>
|
|
118
|
+
<tr><td>Column Delimiter</td><td>columnDelimiter</td><td></td><td>Yes</td><td><code>"COMMA"</code></td><td></td></tr>
|
|
119
|
+
<tr><td>Line Ending</td><td>lineEnding</td><td></td><td>Yes</td><td><code>"LF"</code></td><td></td></tr>
|
|
120
|
+
<tr><td>Poll Interval (ms)</td><td>pollInterval</td><td>number [min: 1000]</td><td>Yes</td><td><code>5000</code></td><td></td></tr>
|
|
121
|
+
<tr><td>Poll Timeout (ms)</td><td>pollTimeout</td><td>number [min: 5000]</td><td>Yes</td><td><code>60000</code></td><td></td></tr>
|
|
121
122
|
<tr><td></td><td>errorPort</td><td>boolean</td><td>Yes</td><td><code>false</code></td><td></td></tr>
|
|
122
|
-
<tr><td></td><td>completePort</td><td>boolean</td><td>Yes</td><td><code>
|
|
123
|
+
<tr><td></td><td>completePort</td><td>boolean</td><td>Yes</td><td><code>false</code></td><td></td></tr>
|
|
123
124
|
<tr><td></td><td>statusPort</td><td>boolean</td><td>Yes</td><td><code>false</code></td><td></td></tr>
|
|
124
125
|
</tbody>
|
|
125
126
|
</table>
|
|
@@ -130,7 +131,17 @@
|
|
|
130
131
|
<table width="100%" style="min-width:500px">
|
|
131
132
|
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
132
133
|
<tbody>
|
|
133
|
-
<tr><td>Records array or
|
|
134
|
+
<tr><td>Records array, CSV string, readable stream (ingest) or trigger (query)</td><td>payload</td><td></td><td>Yes</td><td>Records array, CSV string, readable stream (ingest) or SOQL string (query)</td></tr>
|
|
135
|
+
</tbody>
|
|
136
|
+
</table>
|
|
137
|
+
</div>
|
|
138
|
+
|
|
139
|
+
<h3>Output</h3>
|
|
140
|
+
<div style="overflow-x:auto">
|
|
141
|
+
<table width="100%" style="min-width:500px">
|
|
142
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
143
|
+
<tbody>
|
|
144
|
+
<tr><td>Query: individual record. Ingest: { successfulResults, failedResults, unprocessedRecords }</td><td>payload</td><td></td><td>Yes</td><td>Query: individual record. Ingest: { successfulResults, failedResults, unprocessedRecords }</td></tr>
|
|
134
145
|
</tbody>
|
|
135
146
|
</table>
|
|
136
147
|
</div>
|
|
@@ -156,7 +167,7 @@
|
|
|
156
167
|
<table width="100%" style="min-width:500px">
|
|
157
168
|
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
158
169
|
<tbody>
|
|
159
|
-
<tr><td>
|
|
170
|
+
<tr><td>SObject API name (overrides config if provided)</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
160
171
|
</tbody>
|
|
161
172
|
</table>
|
|
162
173
|
</div>
|
|
@@ -166,7 +177,7 @@
|
|
|
166
177
|
<table width="100%" style="min-width:500px">
|
|
167
178
|
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
168
179
|
<tbody>
|
|
169
|
-
<tr><td>SObject describe
|
|
180
|
+
<tr><td>SObject describe result with fields, child relationships, and record type info</td><td>payload</td><td>object</td><td>Yes</td><td></td></tr>
|
|
170
181
|
</tbody>
|
|
171
182
|
</table>
|
|
172
183
|
</div>
|
|
@@ -203,16 +214,58 @@
|
|
|
203
214
|
</table>
|
|
204
215
|
</div>
|
|
205
216
|
</script>
|
|
206
|
-
<script type="text/html" data-help-name="salesforce-apex">
|
|
207
|
-
<p>
|
|
217
|
+
<script type="text/html" data-help-name="salesforce-apex-invocation">
|
|
218
|
+
<p>Calls existing Apex REST endpoints or Invocable Actions on a Salesforce org.</p>
|
|
208
219
|
<h3>Properties</h3>
|
|
209
220
|
<div style="overflow-x:auto">
|
|
210
221
|
<table width="100%" style="min-width:500px">
|
|
211
222
|
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th>Default</th><th style="width:35%">Description</th></tr></thead>
|
|
212
223
|
<tbody>
|
|
213
224
|
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Yes</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
225
|
+
<tr><td>Type</td><td>apexType</td><td></td><td>Yes</td><td><code>"rest"</code></td><td></td></tr>
|
|
214
226
|
<tr><td>Method</td><td>method</td><td></td><td>Yes</td><td><code>"POST"</code></td><td></td></tr>
|
|
215
|
-
<tr><td>
|
|
227
|
+
<tr><td>Endpoint</td><td>path</td><td>TypedInput</td><td>Yes</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
228
|
+
<tr><td>Action</td><td>actionName</td><td>string</td><td>Yes</td><td><code>""</code></td><td></td></tr>
|
|
229
|
+
<tr><td></td><td>errorPort</td><td>boolean</td><td>Yes</td><td><code>false</code></td><td></td></tr>
|
|
230
|
+
<tr><td></td><td>completePort</td><td>boolean</td><td>Yes</td><td><code>false</code></td><td></td></tr>
|
|
231
|
+
<tr><td></td><td>statusPort</td><td>boolean</td><td>Yes</td><td><code>false</code></td><td></td></tr>
|
|
232
|
+
</tbody>
|
|
233
|
+
</table>
|
|
234
|
+
</div>
|
|
235
|
+
|
|
236
|
+
<h3>Input</h3>
|
|
237
|
+
<div style="overflow-x:auto">
|
|
238
|
+
<table width="100%" style="min-width:500px">
|
|
239
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
240
|
+
<tbody>
|
|
241
|
+
<tr><td>Request body for POST/PUT/PATCH, or ignored for GET/DELETE</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
242
|
+
</tbody>
|
|
243
|
+
</table>
|
|
244
|
+
</div>
|
|
245
|
+
|
|
246
|
+
<h3>Output</h3>
|
|
247
|
+
<div style="overflow-x:auto">
|
|
248
|
+
<table width="100%" style="min-width:500px">
|
|
249
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
250
|
+
<tbody>
|
|
251
|
+
<tr><td>Apex endpoint response</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
252
|
+
</tbody>
|
|
253
|
+
</table>
|
|
254
|
+
</div>
|
|
255
|
+
</script>
|
|
256
|
+
<script type="text/html" data-help-name="salesforce-apex-code">
|
|
257
|
+
<p>Deploys and executes custom Apex code on a Salesforce org. Supports Invocable and REST types.</p>
|
|
258
|
+
<h3>Properties</h3>
|
|
259
|
+
<div style="overflow-x:auto">
|
|
260
|
+
<table width="100%" style="min-width:500px">
|
|
261
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th>Default</th><th style="width:35%">Description</th></tr></thead>
|
|
262
|
+
<tbody>
|
|
263
|
+
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Yes</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
264
|
+
<tr><td>Type</td><td>apexType</td><td></td><td>Yes</td><td><code>"invocable"</code></td><td></td></tr>
|
|
265
|
+
<tr><td>Class Name</td><td>className</td><td>string</td><td>Yes</td><td><code>""</code></td><td></td></tr>
|
|
266
|
+
<tr><td>URL Mapping</td><td>urlMapping</td><td>string</td><td>Yes</td><td><code>""</code></td><td></td></tr>
|
|
267
|
+
<tr><td>HTTP Method</td><td>httpMethod</td><td></td><td>Yes</td><td><code>"HttpPost"</code></td><td></td></tr>
|
|
268
|
+
<tr><td>Apex Code</td><td>code</td><td>string</td><td>Yes</td><td><code>"private static Object run(String payload) {\n // Your code here\n return payload;\n }"</code></td><td></td></tr>
|
|
216
269
|
<tr><td></td><td>errorPort</td><td>boolean</td><td>Yes</td><td><code>false</code></td><td></td></tr>
|
|
217
270
|
<tr><td></td><td>completePort</td><td>boolean</td><td>Yes</td><td><code>false</code></td><td></td></tr>
|
|
218
271
|
<tr><td></td><td>statusPort</td><td>boolean</td><td>Yes</td><td><code>false</code></td><td></td></tr>
|
|
@@ -225,7 +278,7 @@
|
|
|
225
278
|
<table width="100%" style="min-width:500px">
|
|
226
279
|
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
227
280
|
<tbody>
|
|
228
|
-
<tr><td>
|
|
281
|
+
<tr><td>Input data passed to the Apex method as a JSON string</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
229
282
|
</tbody>
|
|
230
283
|
</table>
|
|
231
284
|
</div>
|
|
@@ -235,7 +288,7 @@
|
|
|
235
288
|
<table width="100%" style="min-width:500px">
|
|
236
289
|
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
237
290
|
<tbody>
|
|
238
|
-
<tr><td>Apex response</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
291
|
+
<tr><td>Apex execution response</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
239
292
|
</tbody>
|
|
240
293
|
</table>
|
|
241
294
|
</div>
|
package/locales/en-US/index.json
CHANGED
|
@@ -1,10 +1,45 @@
|
|
|
1
1
|
{
|
|
2
|
-
"salesforce-apex": {
|
|
2
|
+
"salesforce-apex-code": {
|
|
3
3
|
"configs": {
|
|
4
4
|
"name": "Name",
|
|
5
5
|
"connection": "Connection",
|
|
6
|
+
"apexType": "Type",
|
|
7
|
+
"className": "Class Name",
|
|
8
|
+
"urlMapping": "URL Mapping",
|
|
9
|
+
"httpMethod": "HTTP Method",
|
|
10
|
+
"code": "Apex Code"
|
|
11
|
+
},
|
|
12
|
+
"toggles": {
|
|
13
|
+
"validateInput": "Validate Input",
|
|
14
|
+
"validateOutput": "Validate Output",
|
|
15
|
+
"errorPort": "Error Port",
|
|
16
|
+
"completePort": "Complete Port",
|
|
17
|
+
"statusPort": "Status Port"
|
|
18
|
+
},
|
|
19
|
+
"$schema": "https://unpkg.com/@bonsae/nrg/schemas/labels.schema.json",
|
|
20
|
+
"label": "Apex Code",
|
|
21
|
+
"description": "Deploys and executes custom Apex code on a Salesforce org. Supports Invocable and REST types.",
|
|
22
|
+
"inputLabels": "Input",
|
|
23
|
+
"outputLabels": [
|
|
24
|
+
"Response"
|
|
25
|
+
],
|
|
26
|
+
"input": {
|
|
27
|
+
"payload": "Input data passed to the Apex method as a JSON string"
|
|
28
|
+
},
|
|
29
|
+
"outputs": [
|
|
30
|
+
{
|
|
31
|
+
"payload": "Apex execution response"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"salesforce-apex-invocation": {
|
|
36
|
+
"configs": {
|
|
37
|
+
"name": "Name",
|
|
38
|
+
"connection": "Connection",
|
|
39
|
+
"apexType": "Type",
|
|
6
40
|
"method": "Method",
|
|
7
|
-
"path": "
|
|
41
|
+
"path": "Endpoint",
|
|
42
|
+
"actionName": "Action"
|
|
8
43
|
},
|
|
9
44
|
"toggles": {
|
|
10
45
|
"validateInput": "Validate Input",
|
|
@@ -14,18 +49,18 @@
|
|
|
14
49
|
"statusPort": "Status Port"
|
|
15
50
|
},
|
|
16
51
|
"$schema": "https://unpkg.com/@bonsae/nrg/schemas/labels.schema.json",
|
|
17
|
-
"label": "Apex",
|
|
18
|
-
"description": "
|
|
52
|
+
"label": "Apex Invocation",
|
|
53
|
+
"description": "Calls existing Apex REST endpoints or Invocable Actions on a Salesforce org.",
|
|
19
54
|
"inputLabels": "Request",
|
|
20
55
|
"outputLabels": [
|
|
21
56
|
"Response"
|
|
22
57
|
],
|
|
23
58
|
"input": {
|
|
24
|
-
"payload": "Request body"
|
|
59
|
+
"payload": "Request body for POST/PUT/PATCH, or ignored for GET/DELETE"
|
|
25
60
|
},
|
|
26
61
|
"outputs": [
|
|
27
62
|
{
|
|
28
|
-
"payload": "Apex response"
|
|
63
|
+
"payload": "Apex endpoint response"
|
|
29
64
|
}
|
|
30
65
|
]
|
|
31
66
|
},
|
|
@@ -35,7 +70,13 @@
|
|
|
35
70
|
"connection": "Connection",
|
|
36
71
|
"operation": "Operation",
|
|
37
72
|
"sObjectType": "SObject Type",
|
|
38
|
-
"
|
|
73
|
+
"query": "SOQL Query",
|
|
74
|
+
"externalIdField": "External ID Field",
|
|
75
|
+
"assignmentRuleId": "Assignment Rule ID",
|
|
76
|
+
"columnDelimiter": "Column Delimiter",
|
|
77
|
+
"lineEnding": "Line Ending",
|
|
78
|
+
"pollInterval": "Poll Interval (ms)",
|
|
79
|
+
"pollTimeout": "Poll Timeout (ms)"
|
|
39
80
|
},
|
|
40
81
|
"toggles": {
|
|
41
82
|
"validateInput": "Validate Input",
|
|
@@ -46,18 +87,17 @@
|
|
|
46
87
|
},
|
|
47
88
|
"$schema": "https://unpkg.com/@bonsae/nrg/schemas/labels.schema.json",
|
|
48
89
|
"label": "Bulk",
|
|
49
|
-
"description": "Performs bulk operations using the Salesforce Bulk API 2.0 for large data volumes.",
|
|
50
|
-
"inputLabels": "Records or
|
|
90
|
+
"description": "Performs bulk operations using the Salesforce Bulk API 2.0 for large data volumes. Accepts arrays, CSV strings, or readable streams for ingest. SOQL strings for query.",
|
|
91
|
+
"inputLabels": "Records, stream, or SOQL",
|
|
51
92
|
"outputLabels": [
|
|
52
|
-
"
|
|
53
|
-
"Job Created"
|
|
93
|
+
"Result"
|
|
54
94
|
],
|
|
55
95
|
"input": {
|
|
56
|
-
"payload": "Records array or
|
|
96
|
+
"payload": "Records array, CSV string, readable stream (ingest) or trigger (query)"
|
|
57
97
|
},
|
|
58
98
|
"outputs": [
|
|
59
99
|
{
|
|
60
|
-
"payload": "
|
|
100
|
+
"payload": "Query: individual record. Ingest: { successfulResults, failedResults, unprocessedRecords }"
|
|
61
101
|
}
|
|
62
102
|
]
|
|
63
103
|
},
|
|
@@ -106,11 +146,11 @@
|
|
|
106
146
|
"SObject metadata"
|
|
107
147
|
],
|
|
108
148
|
"input": {
|
|
109
|
-
"payload": "
|
|
149
|
+
"payload": "SObject API name (overrides config if provided)"
|
|
110
150
|
},
|
|
111
151
|
"outputs": [
|
|
112
152
|
{
|
|
113
|
-
"payload": "SObject describe
|
|
153
|
+
"payload": "SObject describe result with fields, child relationships, and record type info"
|
|
114
154
|
}
|
|
115
155
|
]
|
|
116
156
|
},
|
|
@@ -120,7 +160,8 @@
|
|
|
120
160
|
"connection": "Connection",
|
|
121
161
|
"operation": "Operation",
|
|
122
162
|
"sObjectType": "SObject Type",
|
|
123
|
-
"externalIdField": "External ID Field"
|
|
163
|
+
"externalIdField": "External ID Field",
|
|
164
|
+
"record": "Record"
|
|
124
165
|
},
|
|
125
166
|
"toggles": {
|
|
126
167
|
"validateInput": "Validate Input",
|