@bonsae/node-red-salesforce 0.1.0 → 0.2.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.
@@ -72,6 +72,9 @@
72
72
  <tr><td>SObjectタイプ</td><td>sObjectType</td><td>TypedInput</td><td>はい</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
73
73
  <tr><td></td><td>record</td><td>TypedInput</td><td>はい</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
74
74
  <tr><td>外部IDフィールド</td><td>externalIdField</td><td>string</td><td>いいえ</td><td><code>""</code></td><td></td></tr>
75
+ <tr><td></td><td>emitError</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
76
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
77
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
75
78
  </tbody>
76
79
  </table>
77
80
  </div>
@@ -114,6 +117,9 @@
114
117
  <tr><td></td><td>pollTimeout</td><td>number [min: 5000]</td><td>はい</td><td><code>60000</code></td><td></td></tr>
115
118
  <tr><td></td><td>emitJobCreated</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
116
119
  <tr><td></td><td>outputs</td><td>number</td><td>はい</td><td><code>2</code></td><td></td></tr>
120
+ <tr><td></td><td>emitError</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
121
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
122
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
117
123
  </tbody>
118
124
  </table>
119
125
  </div>
@@ -137,6 +143,9 @@
137
143
  <tbody>
138
144
  <tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>はい</td><td></td><td>Reference to salesforce-connection</td></tr>
139
145
  <tr><td>SObjectタイプ</td><td>sObjectType</td><td>TypedInput</td><td>はい</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
146
+ <tr><td></td><td>emitError</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
147
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
148
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
140
149
  </tbody>
141
150
  </table>
142
151
  </div>
@@ -173,6 +182,8 @@
173
182
  <tr><td>サブスクライブ開始点</td><td>subscribeType</td><td></td><td>はい</td><td><code>"LATEST"</code></td><td></td></tr>
174
183
  <tr><td>リプレイID</td><td>replayId</td><td>string</td><td>いいえ</td><td><code>""</code></td><td></td></tr>
175
184
  <tr><td>バッチサイズ</td><td>numRequested</td><td>number [min: 1, max: 100]</td><td>はい</td><td><code>100</code></td><td></td></tr>
185
+ <tr><td></td><td>emitError</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
186
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
176
187
  </tbody>
177
188
  </table>
178
189
  </div>
@@ -200,6 +211,9 @@
200
211
  <tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>はい</td><td></td><td>Reference to salesforce-connection</td></tr>
201
212
  <tr><td>メソッド</td><td>method</td><td></td><td>はい</td><td><code>"POST"</code></td><td></td></tr>
202
213
  <tr><td>パス</td><td>path</td><td>TypedInput</td><td>はい</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
214
+ <tr><td></td><td>emitError</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
215
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
216
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>はい</td><td><code>false</code></td><td></td></tr>
203
217
  </tbody>
204
218
  </table>
205
219
  </div>
@@ -72,6 +72,9 @@
72
72
  <tr><td>SObject 유형</td><td>sObjectType</td><td>TypedInput</td><td>예</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
73
73
  <tr><td></td><td>record</td><td>TypedInput</td><td>예</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
74
74
  <tr><td>외부 ID 필드</td><td>externalIdField</td><td>string</td><td>아니오</td><td><code>""</code></td><td></td></tr>
75
+ <tr><td></td><td>emitError</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
76
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
77
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
75
78
  </tbody>
76
79
  </table>
77
80
  </div>
@@ -114,6 +117,9 @@
114
117
  <tr><td></td><td>pollTimeout</td><td>number [min: 5000]</td><td>예</td><td><code>60000</code></td><td></td></tr>
115
118
  <tr><td></td><td>emitJobCreated</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
116
119
  <tr><td></td><td>outputs</td><td>number</td><td>예</td><td><code>2</code></td><td></td></tr>
120
+ <tr><td></td><td>emitError</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
121
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
122
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
117
123
  </tbody>
118
124
  </table>
119
125
  </div>
@@ -137,6 +143,9 @@
137
143
  <tbody>
138
144
  <tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>예</td><td></td><td>Reference to salesforce-connection</td></tr>
139
145
  <tr><td>SObject 유형</td><td>sObjectType</td><td>TypedInput</td><td>예</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
146
+ <tr><td></td><td>emitError</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
147
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
148
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
140
149
  </tbody>
141
150
  </table>
142
151
  </div>
@@ -173,6 +182,8 @@
173
182
  <tr><td>구독 시작점</td><td>subscribeType</td><td></td><td>예</td><td><code>"LATEST"</code></td><td></td></tr>
174
183
  <tr><td>리플레이 ID</td><td>replayId</td><td>string</td><td>아니오</td><td><code>""</code></td><td></td></tr>
175
184
  <tr><td>배치 크기</td><td>numRequested</td><td>number [min: 1, max: 100]</td><td>예</td><td><code>100</code></td><td></td></tr>
185
+ <tr><td></td><td>emitError</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
186
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
176
187
  </tbody>
177
188
  </table>
178
189
  </div>
@@ -200,6 +211,9 @@
200
211
  <tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>예</td><td></td><td>Reference to salesforce-connection</td></tr>
201
212
  <tr><td>메서드</td><td>method</td><td></td><td>예</td><td><code>"POST"</code></td><td></td></tr>
202
213
  <tr><td>경로</td><td>path</td><td>TypedInput</td><td>예</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
214
+ <tr><td></td><td>emitError</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
215
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
216
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>예</td><td><code>false</code></td><td></td></tr>
203
217
  </tbody>
204
218
  </table>
205
219
  </div>
@@ -72,6 +72,9 @@
72
72
  <tr><td>Tipo de SObject</td><td>sObjectType</td><td>TypedInput</td><td>Sim</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
73
73
  <tr><td></td><td>record</td><td>TypedInput</td><td>Sim</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
74
74
  <tr><td>Campo de ID Externo</td><td>externalIdField</td><td>string</td><td>Não</td><td><code>""</code></td><td></td></tr>
75
+ <tr><td></td><td>emitError</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
76
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
77
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
75
78
  </tbody>
76
79
  </table>
77
80
  </div>
@@ -114,6 +117,9 @@
114
117
  <tr><td></td><td>pollTimeout</td><td>number [min: 5000]</td><td>Sim</td><td><code>60000</code></td><td></td></tr>
115
118
  <tr><td></td><td>emitJobCreated</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
116
119
  <tr><td></td><td>outputs</td><td>number</td><td>Sim</td><td><code>2</code></td><td></td></tr>
120
+ <tr><td></td><td>emitError</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
121
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
122
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
117
123
  </tbody>
118
124
  </table>
119
125
  </div>
@@ -137,6 +143,9 @@
137
143
  <tbody>
138
144
  <tr><td>Conexão</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Sim</td><td></td><td>Reference to salesforce-connection</td></tr>
139
145
  <tr><td>Tipo de SObject</td><td>sObjectType</td><td>TypedInput</td><td>Sim</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
146
+ <tr><td></td><td>emitError</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
147
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
148
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
140
149
  </tbody>
141
150
  </table>
142
151
  </div>
@@ -173,6 +182,8 @@
173
182
  <tr><td>Assinar a Partir de</td><td>subscribeType</td><td></td><td>Sim</td><td><code>"LATEST"</code></td><td></td></tr>
174
183
  <tr><td>ID de Replay</td><td>replayId</td><td>string</td><td>Não</td><td><code>""</code></td><td></td></tr>
175
184
  <tr><td>Tamanho do Lote</td><td>numRequested</td><td>number [min: 1, max: 100]</td><td>Sim</td><td><code>100</code></td><td></td></tr>
185
+ <tr><td></td><td>emitError</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
186
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
176
187
  </tbody>
177
188
  </table>
178
189
  </div>
@@ -200,6 +211,9 @@
200
211
  <tr><td>Conexão</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Sim</td><td></td><td>Reference to salesforce-connection</td></tr>
201
212
  <tr><td>Método</td><td>method</td><td></td><td>Sim</td><td><code>"POST"</code></td><td></td></tr>
202
213
  <tr><td>Caminho</td><td>path</td><td>TypedInput</td><td>Sim</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
214
+ <tr><td></td><td>emitError</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
215
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
216
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>Sim</td><td><code>false</code></td><td></td></tr>
203
217
  </tbody>
204
218
  </table>
205
219
  </div>
@@ -72,6 +72,9 @@
72
72
  <tr><td>Тип SObject</td><td>sObjectType</td><td>TypedInput</td><td>Да</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
73
73
  <tr><td></td><td>record</td><td>TypedInput</td><td>Да</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
74
74
  <tr><td>Поле внешнего ID</td><td>externalIdField</td><td>string</td><td>Нет</td><td><code>""</code></td><td></td></tr>
75
+ <tr><td></td><td>emitError</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
76
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
77
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
75
78
  </tbody>
76
79
  </table>
77
80
  </div>
@@ -114,6 +117,9 @@
114
117
  <tr><td></td><td>pollTimeout</td><td>number [min: 5000]</td><td>Да</td><td><code>60000</code></td><td></td></tr>
115
118
  <tr><td></td><td>emitJobCreated</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
116
119
  <tr><td></td><td>outputs</td><td>number</td><td>Да</td><td><code>2</code></td><td></td></tr>
120
+ <tr><td></td><td>emitError</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
121
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
122
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
117
123
  </tbody>
118
124
  </table>
119
125
  </div>
@@ -137,6 +143,9 @@
137
143
  <tbody>
138
144
  <tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Да</td><td></td><td>Reference to salesforce-connection</td></tr>
139
145
  <tr><td>Тип SObject</td><td>sObjectType</td><td>TypedInput</td><td>Да</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
146
+ <tr><td></td><td>emitError</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
147
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
148
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
140
149
  </tbody>
141
150
  </table>
142
151
  </div>
@@ -173,6 +182,8 @@
173
182
  <tr><td>Подписаться с</td><td>subscribeType</td><td></td><td>Да</td><td><code>"LATEST"</code></td><td></td></tr>
174
183
  <tr><td>ID воспроизведения</td><td>replayId</td><td>string</td><td>Нет</td><td><code>""</code></td><td></td></tr>
175
184
  <tr><td>Размер пакета</td><td>numRequested</td><td>number [min: 1, max: 100]</td><td>Да</td><td><code>100</code></td><td></td></tr>
185
+ <tr><td></td><td>emitError</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
186
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
176
187
  </tbody>
177
188
  </table>
178
189
  </div>
@@ -200,6 +211,9 @@
200
211
  <tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Да</td><td></td><td>Reference to salesforce-connection</td></tr>
201
212
  <tr><td>Метод</td><td>method</td><td></td><td>Да</td><td><code>"POST"</code></td><td></td></tr>
202
213
  <tr><td>Путь</td><td>path</td><td>TypedInput</td><td>Да</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
214
+ <tr><td></td><td>emitError</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
215
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
216
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>Да</td><td><code>false</code></td><td></td></tr>
203
217
  </tbody>
204
218
  </table>
205
219
  </div>
@@ -72,6 +72,9 @@
72
72
  <tr><td>SObject类型</td><td>sObjectType</td><td>TypedInput</td><td>是</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
73
73
  <tr><td></td><td>record</td><td>TypedInput</td><td>是</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
74
74
  <tr><td>外部ID字段</td><td>externalIdField</td><td>string</td><td>否</td><td><code>""</code></td><td></td></tr>
75
+ <tr><td></td><td>emitError</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
76
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
77
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
75
78
  </tbody>
76
79
  </table>
77
80
  </div>
@@ -114,6 +117,9 @@
114
117
  <tr><td></td><td>pollTimeout</td><td>number [min: 5000]</td><td>是</td><td><code>60000</code></td><td></td></tr>
115
118
  <tr><td></td><td>emitJobCreated</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
116
119
  <tr><td></td><td>outputs</td><td>number</td><td>是</td><td><code>2</code></td><td></td></tr>
120
+ <tr><td></td><td>emitError</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
121
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
122
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
117
123
  </tbody>
118
124
  </table>
119
125
  </div>
@@ -137,6 +143,9 @@
137
143
  <tbody>
138
144
  <tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>是</td><td></td><td>Reference to salesforce-connection</td></tr>
139
145
  <tr><td>SObject类型</td><td>sObjectType</td><td>TypedInput</td><td>是</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
146
+ <tr><td></td><td>emitError</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
147
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
148
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
140
149
  </tbody>
141
150
  </table>
142
151
  </div>
@@ -173,6 +182,8 @@
173
182
  <tr><td>订阅起点</td><td>subscribeType</td><td></td><td>是</td><td><code>"LATEST"</code></td><td></td></tr>
174
183
  <tr><td>重播ID</td><td>replayId</td><td>string</td><td>否</td><td><code>""</code></td><td></td></tr>
175
184
  <tr><td>批次大小</td><td>numRequested</td><td>number [min: 1, max: 100]</td><td>是</td><td><code>100</code></td><td></td></tr>
185
+ <tr><td></td><td>emitError</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
186
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
176
187
  </tbody>
177
188
  </table>
178
189
  </div>
@@ -200,6 +211,9 @@
200
211
  <tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>是</td><td></td><td>Reference to salesforce-connection</td></tr>
201
212
  <tr><td>方法</td><td>method</td><td></td><td>是</td><td><code>"POST"</code></td><td></td></tr>
202
213
  <tr><td>路径</td><td>path</td><td>TypedInput</td><td>是</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
214
+ <tr><td></td><td>emitError</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
215
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
216
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
203
217
  </tbody>
204
218
  </table>
205
219
  </div>
@@ -72,6 +72,9 @@
72
72
  <tr><td>SObject類型</td><td>sObjectType</td><td>TypedInput</td><td>是</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
73
73
  <tr><td></td><td>record</td><td>TypedInput</td><td>是</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
74
74
  <tr><td>外部ID欄位</td><td>externalIdField</td><td>string</td><td>否</td><td><code>""</code></td><td></td></tr>
75
+ <tr><td></td><td>emitError</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
76
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
77
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
75
78
  </tbody>
76
79
  </table>
77
80
  </div>
@@ -114,6 +117,9 @@
114
117
  <tr><td></td><td>pollTimeout</td><td>number [min: 5000]</td><td>是</td><td><code>60000</code></td><td></td></tr>
115
118
  <tr><td></td><td>emitJobCreated</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
116
119
  <tr><td></td><td>outputs</td><td>number</td><td>是</td><td><code>2</code></td><td></td></tr>
120
+ <tr><td></td><td>emitError</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
121
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
122
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
117
123
  </tbody>
118
124
  </table>
119
125
  </div>
@@ -137,6 +143,9 @@
137
143
  <tbody>
138
144
  <tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>是</td><td></td><td>Reference to salesforce-connection</td></tr>
139
145
  <tr><td>SObject類型</td><td>sObjectType</td><td>TypedInput</td><td>是</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
146
+ <tr><td></td><td>emitError</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
147
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
148
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
140
149
  </tbody>
141
150
  </table>
142
151
  </div>
@@ -173,6 +182,8 @@
173
182
  <tr><td>訂閱起點</td><td>subscribeType</td><td></td><td>是</td><td><code>"LATEST"</code></td><td></td></tr>
174
183
  <tr><td>重播ID</td><td>replayId</td><td>string</td><td>否</td><td><code>""</code></td><td></td></tr>
175
184
  <tr><td>批次大小</td><td>numRequested</td><td>number [min: 1, max: 100]</td><td>是</td><td><code>100</code></td><td></td></tr>
185
+ <tr><td></td><td>emitError</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
186
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
176
187
  </tbody>
177
188
  </table>
178
189
  </div>
@@ -200,6 +211,9 @@
200
211
  <tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>是</td><td></td><td>Reference to salesforce-connection</td></tr>
201
212
  <tr><td>方法</td><td>method</td><td></td><td>是</td><td><code>"POST"</code></td><td></td></tr>
202
213
  <tr><td>路徑</td><td>path</td><td>TypedInput</td><td>是</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
214
+ <tr><td></td><td>emitError</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
215
+ <tr><td></td><td>emitComplete</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
216
+ <tr><td></td><td>emitStatus</td><td>boolean</td><td>是</td><td><code>false</code></td><td></td></tr>
203
217
  </tbody>
204
218
  </table>
205
219
  </div>
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@bonsae/node-red-salesforce",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Salesforce nodes for Node-RED built with @bonsae/nrg",
5
5
  "author": "Allan Oricil <allanoricil@duck.com>",
6
- "license": "MIT",
6
+ "license": "BUSL-1.1",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "https://github.com/bonsaedev/node-red-salesforce"
@@ -30,7 +30,7 @@
30
30
  ]
31
31
  },
32
32
  "dependencies": {
33
- "@bonsae/nrg": "^0.11.0",
33
+ "@bonsae/nrg": "^0.12.0",
34
34
  "jsforce": "^3.10.14",
35
35
  "salesforce-pubsub-api-client": "^5.5.2"
36
36
  },
@@ -0,0 +1 @@
1
+ import{defineNode as f,__setSchemas as O,__setForms as C,registerTypes as U}from"/nrg/assets/nrg-client.js";import{defineComponent as T,ref as x,onMounted as E,onUnmounted as k,resolveComponent as c,openBlock as u,createElementBlock as p,Fragment as v,createElementVNode as s,createVNode as r,createTextVNode as b,normalizeStyle as w,toDisplayString as S,createCommentVNode as I}from"/nrg/assets/vue.esm-browser.prod.js";const N={"salesforce-connection":{type:"salesforce-connection",category:"config",configSchema:{$id:"salesforce-connection:config",type:"object",required:["name","loginUrl","clientId","apiVersion"],properties:{name:{default:"",type:"string"},loginUrl:{default:"https://login.salesforce.com","x-nrg-form":{icon:"globe"},type:"string"},clientId:{default:"","x-nrg-form":{icon:"key"},type:"string"},apiVersion:{default:"62.0","x-nrg-form":{icon:"code-fork"},anyOf:[{const:"62.0",type:"string"},{const:"61.0",type:"string"},{const:"60.0",type:"string"},{const:"59.0",type:"string"},{const:"58.0",type:"string"},{const:"57.0",type:"string"},{const:"56.0",type:"string"},{const:"55.0",type:"string"}]},callbackUrl:{default:"","x-nrg-form":{icon:"exchange"},type:"string"}}},credentialsSchema:{$id:"salesforce-connection:credentials",type:"object",required:["accessToken","refreshToken","instanceUrl"],properties:{accessToken:{default:"",format:"password",type:"string"},refreshToken:{default:"",format:"password",type:"string"},instanceUrl:{default:"",type:"string"}}},settingsSchema:null,defaults:{name:{required:!1,value:""},loginUrl:{required:!1,value:"https://login.salesforce.com"},clientId:{required:!1,value:""},apiVersion:{required:!1,value:"62.0"},callbackUrl:{required:!1,value:""}},credentials:{accessToken:{required:!1,type:"password",value:""},refreshToken:{required:!1,type:"password",value:""},instanceUrl:{required:!1,type:"text",value:""}},icon:"salesforce-connection.png",inputSchema:null,outputsSchema:null},"salesforce-soql":{type:"salesforce-soql",category:"salesforce",configSchema:{$id:"salesforce-soql:config",type:"object",required:["name","connection","query"],properties:{name:{default:"","x-nrg-form":{icon:"tag"},type:"string"},connection:{description:"Reference to salesforce-connection",format:"node-id",type:"string","x-nrg-node-type":"salesforce-connection","x-nrg-form":{icon:"cloud"}},query:{description:"Represents a Node-RED TypedInput value and its type.",default:{type:"str",value:""},type:"object",required:["value","type"],properties:{value:{description:"The actual value entered or selected.",default:"",anyOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"null"}]},type:{description:"The type of the value (string, number, message property, etc.)",default:"str",anyOf:[{const:"msg",type:"string"},{const:"flow",type:"string"},{const:"global",type:"string"},{const:"str",type:"string"},{const:"num",type:"string"},{const:"bool",type:"string"},{const:"json",type:"string"},{const:"bin",type:"string"},{const:"re",type:"string"},{const:"jsonata",type:"string"},{const:"date",type:"string"},{const:"env",type:"string"},{const:"node",type:"string"},{const:"cred",type:"string"}]}},"x-nrg-typed-input":!0,"x-nrg-form":{icon:"search",typedInputTypes:["str","msg","flow","global"]}}}},credentialsSchema:null,settingsSchema:null,defaults:{name:{required:!1,value:""},connection:{required:!1,type:"salesforce-connection"},query:{required:!1,value:{type:"str",value:""}},validateInput:{required:!1,value:!1},validateOutput:{required:!1,value:!1}},color:"#FFFFFF",icon:"salesforce-soql.png",inputs:1,outputs:1,inputSchema:{$id:"salesforce-soql:input",type:"object",required:["payload"],properties:{payload:{}}},outputsSchema:{$id:"salesforce-soql:output",type:"object",required:["payload","totalSize","done"],properties:{payload:{type:"array",items:{}},totalSize:{type:"number"},done:{type:"boolean"}}}},"salesforce-dml":{type:"salesforce-dml",category:"salesforce",configSchema:{$id:"salesforce-dml:config",if:{type:"object",required:["operation"],properties:{operation:{const:"upsert",type:"string"}}},then:{type:"object",required:["externalIdField"],properties:{externalIdField:{minLength:1,type:"string"}}},errorMessage:{properties:{externalIdField:"External ID Field is required for upsert operations"}},type:"object",required:["name","connection","operation","sObjectType","record","emitError","emitComplete","emitStatus"],properties:{name:{default:"","x-nrg-form":{icon:"tag"},type:"string"},connection:{description:"Reference to salesforce-connection",format:"node-id",type:"string","x-nrg-node-type":"salesforce-connection","x-nrg-form":{icon:"cloud"}},operation:{default:"create","x-nrg-form":{icon:"pencil"},anyOf:[{const:"create",type:"string"},{const:"read",type:"string"},{const:"update",type:"string"},{const:"delete",type:"string"},{const:"upsert",type:"string"}]},sObjectType:{description:"Represents a Node-RED TypedInput value and its type.",default:{type:"str",value:""},type:"object",required:["value","type"],properties:{value:{description:"The actual value entered or selected.",default:"",anyOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"null"}]},type:{description:"The type of the value (string, number, message property, etc.)",default:"str",anyOf:[{const:"msg",type:"string"},{const:"flow",type:"string"},{const:"global",type:"string"},{const:"str",type:"string"},{const:"num",type:"string"},{const:"bool",type:"string"},{const:"json",type:"string"},{const:"bin",type:"string"},{const:"re",type:"string"},{const:"jsonata",type:"string"},{const:"date",type:"string"},{const:"env",type:"string"},{const:"node",type:"string"},{const:"cred",type:"string"}]}},"x-nrg-typed-input":!0,"x-nrg-form":{icon:"cube",typedInputTypes:["str","msg"]}},record:{description:"Represents a Node-RED TypedInput value and its type.",default:{type:"str",value:""},type:"object",required:["value","type"],properties:{value:{description:"The actual value entered or selected.",default:"",anyOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"null"}]},type:{description:"The type of the value (string, number, message property, etc.)",default:"str",anyOf:[{const:"msg",type:"string"},{const:"flow",type:"string"},{const:"global",type:"string"},{const:"str",type:"string"},{const:"num",type:"string"},{const:"bool",type:"string"},{const:"json",type:"string"},{const:"bin",type:"string"},{const:"re",type:"string"},{const:"jsonata",type:"string"},{const:"date",type:"string"},{const:"env",type:"string"},{const:"node",type:"string"},{const:"cred",type:"string"}]}},"x-nrg-typed-input":!0,"x-nrg-form":{icon:"file-code-o",typedInputTypes:["json","msg"]}},externalIdField:{default:"","x-nrg-form":{icon:"key"},type:"string"},emitError:{default:!1,type:"boolean"},emitComplete:{default:!1,type:"boolean"},emitStatus:{default:!1,type:"boolean"}}},credentialsSchema:null,settingsSchema:null,defaults:{name:{required:!1,value:""},connection:{required:!1,type:"salesforce-connection"},operation:{required:!1,value:"create"},sObjectType:{required:!1,value:{type:"str",value:""}},record:{required:!1,value:{type:"str",value:""}},externalIdField:{required:!1,value:""},emitError:{required:!1,value:!1},emitComplete:{required:!1,value:!1},emitStatus:{required:!1,value:!1},validateInput:{required:!1,value:!1},validateOutput:{required:!1,value:!1}},color:"#FFFFFF",icon:"salesforce-dml.png",inputs:1,outputs:1,inputSchema:{$id:"salesforce-dml:input",type:"object",required:["payload"],properties:{payload:{}}},outputsSchema:{$id:"salesforce-dml:output",type:"object",required:["payload"],properties:{payload:{}}}},"salesforce-bulk":{type:"salesforce-bulk",category:"salesforce",configSchema:{$id:"salesforce-bulk:config",if:{type:"object",required:["operation"],properties:{operation:{const:"upsert",type:"string"}}},then:{type:"object",required:["externalIdField"],properties:{externalIdField:{minLength:1,type:"string"}}},errorMessage:{properties:{externalIdField:"External ID Field is required for upsert operations"}},type:"object",required:["name","connection","operation","sObjectType","columnDelimiter","lineEnding","pollInterval","pollTimeout","emitJobCreated","outputs","emitError","emitComplete","emitStatus"],properties:{name:{default:"","x-nrg-form":{icon:"tag"},type:"string"},connection:{description:"Reference to salesforce-connection",format:"node-id",type:"string","x-nrg-node-type":"salesforce-connection","x-nrg-form":{icon:"cloud"}},operation:{default:"insert","x-nrg-form":{icon:"database"},anyOf:[{const:"insert",type:"string"},{const:"update",type:"string"},{const:"upsert",type:"string"},{const:"delete",type:"string"},{const:"query",type:"string"}]},sObjectType:{description:"Represents a Node-RED TypedInput value and its type.",default:{type:"str",value:""},type:"object",required:["value","type"],properties:{value:{description:"The actual value entered or selected.",default:"",anyOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"null"}]},type:{description:"The type of the value (string, number, message property, etc.)",default:"str",anyOf:[{const:"msg",type:"string"},{const:"flow",type:"string"},{const:"global",type:"string"},{const:"str",type:"string"},{const:"num",type:"string"},{const:"bool",type:"string"},{const:"json",type:"string"},{const:"bin",type:"string"},{const:"re",type:"string"},{const:"jsonata",type:"string"},{const:"date",type:"string"},{const:"env",type:"string"},{const:"node",type:"string"},{const:"cred",type:"string"}]}},"x-nrg-typed-input":!0,"x-nrg-form":{icon:"cube",typedInputTypes:["str","msg"]}},externalIdField:{default:"","x-nrg-form":{icon:"key"},type:"string"},assignmentRuleId:{default:"","x-nrg-form":{icon:"gavel"},type:"string"},columnDelimiter:{default:"COMMA","x-nrg-form":{icon:"columns"},anyOf:[{const:"COMMA",type:"string"},{const:"TAB",type:"string"},{const:"PIPE",type:"string"},{const:"SEMICOLON",type:"string"},{const:"CARET",type:"string"},{const:"BACKQUOTE",type:"string"}]},lineEnding:{default:"LF","x-nrg-form":{icon:"level-down"},anyOf:[{const:"LF",type:"string"},{const:"CRLF",type:"string"}]},pollInterval:{default:5e3,minimum:1e3,"x-nrg-form":{icon:"clock-o"},type:"number"},pollTimeout:{default:6e4,minimum:5e3,"x-nrg-form":{icon:"hourglass"},type:"number"},emitJobCreated:{default:!1,"x-nrg-form":{icon:"flag",toggle:!0},type:"boolean"},outputs:{default:2,type:"number"},emitError:{default:!1,type:"boolean"},emitComplete:{default:!1,type:"boolean"},emitStatus:{default:!1,type:"boolean"}}},credentialsSchema:null,settingsSchema:null,defaults:{name:{required:!1,value:""},connection:{required:!1,type:"salesforce-connection"},operation:{required:!1,value:"insert"},sObjectType:{required:!1,value:{type:"str",value:""}},externalIdField:{required:!1,value:""},assignmentRuleId:{required:!1,value:""},columnDelimiter:{required:!1,value:"COMMA"},lineEnding:{required:!1,value:"LF"},pollInterval:{required:!1,value:5e3},pollTimeout:{required:!1,value:6e4},emitJobCreated:{required:!1,value:!1},outputs:{required:!1,value:2},emitError:{required:!1,value:!1},emitComplete:{required:!1,value:!1},emitStatus:{required:!1,value:!1},validateInput:{required:!1,value:!1}},color:"#FFFFFF",icon:"salesforce-bulk.png",inputs:1,outputs:2,inputSchema:{$id:"salesforce-bulk:input",type:"object",required:["payload"],properties:{payload:{}}},outputsSchema:null},"salesforce-describe":{type:"salesforce-describe",category:"salesforce",configSchema:{$id:"salesforce-describe:config",type:"object",required:["name","connection","sObjectType","emitError","emitComplete","emitStatus"],properties:{name:{default:"","x-nrg-form":{icon:"tag"},type:"string"},connection:{description:"Reference to salesforce-connection",format:"node-id",type:"string","x-nrg-node-type":"salesforce-connection","x-nrg-form":{icon:"cloud"}},sObjectType:{description:"Represents a Node-RED TypedInput value and its type.",default:{type:"str",value:""},type:"object",required:["value","type"],properties:{value:{description:"The actual value entered or selected.",default:"",anyOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"null"}]},type:{description:"The type of the value (string, number, message property, etc.)",default:"str",anyOf:[{const:"msg",type:"string"},{const:"flow",type:"string"},{const:"global",type:"string"},{const:"str",type:"string"},{const:"num",type:"string"},{const:"bool",type:"string"},{const:"json",type:"string"},{const:"bin",type:"string"},{const:"re",type:"string"},{const:"jsonata",type:"string"},{const:"date",type:"string"},{const:"env",type:"string"},{const:"node",type:"string"},{const:"cred",type:"string"}]}},"x-nrg-typed-input":!0,"x-nrg-form":{icon:"cube",typedInputTypes:["str","msg"]}},emitError:{default:!1,type:"boolean"},emitComplete:{default:!1,type:"boolean"},emitStatus:{default:!1,type:"boolean"}}},credentialsSchema:null,settingsSchema:null,defaults:{name:{required:!1,value:""},connection:{required:!1,type:"salesforce-connection"},sObjectType:{required:!1,value:{type:"str",value:""}},emitError:{required:!1,value:!1},emitComplete:{required:!1,value:!1},emitStatus:{required:!1,value:!1},validateInput:{required:!1,value:!1},validateOutput:{required:!1,value:!1}},color:"#FFFFFF",icon:"salesforce-describe.png",inputs:1,outputs:1,inputSchema:{$id:"salesforce-describe:input",type:"object",required:["payload"],properties:{payload:{}}},outputsSchema:{$id:"salesforce-describe:output",type:"object",required:["payload"],properties:{payload:{type:"object",required:["name","fields","childRelationships","recordTypeInfos"],properties:{name:{type:"string"},fields:{type:"array",items:{}},childRelationships:{type:"array",items:{}},recordTypeInfos:{type:"array",items:{}}}}}}},"salesforce-streaming":{type:"salesforce-streaming",category:"salesforce",configSchema:{$id:"salesforce-streaming:config",if:{type:"object",required:["subscribeType"],properties:{subscribeType:{const:"CUSTOM",type:"string"}}},then:{type:"object",required:["replayId"],properties:{replayId:{minLength:1,type:"string"}}},errorMessage:{properties:{replayId:"Replay ID is required when Subscribe Type is CUSTOM"}},type:"object",required:["name","connection","channelName","subscribeType","numRequested","emitError","emitStatus"],properties:{name:{default:"","x-nrg-form":{icon:"tag"},type:"string"},connection:{description:"Reference to salesforce-connection",format:"node-id",type:"string","x-nrg-node-type":"salesforce-connection","x-nrg-form":{icon:"cloud"}},channelName:{default:"","x-nrg-form":{icon:"rss"},type:"string"},subscribeType:{default:"LATEST","x-nrg-form":{icon:"history"},anyOf:[{const:"LATEST",type:"string"},{const:"EARLIEST",type:"string"},{const:"CUSTOM",type:"string"}]},replayId:{default:"","x-nrg-form":{icon:"bookmark"},type:"string"},numRequested:{default:100,minimum:1,maximum:100,"x-nrg-form":{icon:"sort-numeric-asc"},type:"number"},emitError:{default:!1,type:"boolean"},emitStatus:{default:!1,type:"boolean"}}},credentialsSchema:null,settingsSchema:null,defaults:{name:{required:!1,value:""},connection:{required:!1,type:"salesforce-connection"},channelName:{required:!1,value:""},subscribeType:{required:!1,value:"LATEST"},replayId:{required:!1,value:""},numRequested:{required:!1,value:100},emitError:{required:!1,value:!1},emitStatus:{required:!1,value:!1},validateOutput:{required:!1,value:!1}},color:"#FFFFFF",icon:"salesforce-streaming.png",inputs:0,outputs:1,inputSchema:null,outputsSchema:{$id:"salesforce-streaming:output",type:"object",required:["payload","replayId","channel","topic"],properties:{payload:{},replayId:{},channel:{type:"string"},topic:{type:"string"}}}},"salesforce-apex":{type:"salesforce-apex",category:"salesforce",configSchema:{$id:"salesforce-apex:config",type:"object",required:["name","connection","method","path","emitError","emitComplete","emitStatus"],properties:{name:{default:"","x-nrg-form":{icon:"tag"},type:"string"},connection:{description:"Reference to salesforce-connection",format:"node-id",type:"string","x-nrg-node-type":"salesforce-connection","x-nrg-form":{icon:"cloud"}},method:{default:"POST","x-nrg-form":{icon:"random"},anyOf:[{const:"GET",type:"string"},{const:"POST",type:"string"},{const:"PUT",type:"string"},{const:"PATCH",type:"string"},{const:"DELETE",type:"string"}]},path:{description:"Represents a Node-RED TypedInput value and its type.",default:{type:"str",value:""},type:"object",required:["value","type"],properties:{value:{description:"The actual value entered or selected.",default:"",anyOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"null"}]},type:{description:"The type of the value (string, number, message property, etc.)",default:"str",anyOf:[{const:"msg",type:"string"},{const:"flow",type:"string"},{const:"global",type:"string"},{const:"str",type:"string"},{const:"num",type:"string"},{const:"bool",type:"string"},{const:"json",type:"string"},{const:"bin",type:"string"},{const:"re",type:"string"},{const:"jsonata",type:"string"},{const:"date",type:"string"},{const:"env",type:"string"},{const:"node",type:"string"},{const:"cred",type:"string"}]}},"x-nrg-typed-input":!0,"x-nrg-form":{icon:"link",typedInputTypes:["str","msg"]}},emitError:{default:!1,type:"boolean"},emitComplete:{default:!1,type:"boolean"},emitStatus:{default:!1,type:"boolean"}}},credentialsSchema:null,settingsSchema:null,defaults:{name:{required:!1,value:""},connection:{required:!1,type:"salesforce-connection"},method:{required:!1,value:"POST"},path:{required:!1,value:{type:"str",value:""}},emitError:{required:!1,value:!1},emitComplete:{required:!1,value:!1},emitStatus:{required:!1,value:!1},validateInput:{required:!1,value:!1},validateOutput:{required:!1,value:!1}},color:"#FFFFFF",icon:"salesforce-apex.png",inputs:1,outputs:1,inputSchema:{$id:"salesforce-apex:input",type:"object",required:["payload"],properties:{payload:{}}},outputsSchema:{$id:"salesforce-apex:output",type:"object",required:["payload"],properties:{payload:{}}}}},D={class:"form-row"},L={class:"form-row"},A={class:"form-row"},M={class:"form-row"},P={class:"form-row"},z={class:"form-row",style:{border:"1px solid var(--red-ui-primary-border-color, #ddd)","border-radius":"4px",padding:"12px","margin-top":"8px"}},V={style:{display:"flex","align-items":"center",gap:"8px","margin-bottom":"8px"}},J={style:{"font-weight":"500"}},B=["disabled"],R=T({__name:"salesforce-connection",props:{node:{}},setup(e){const i=x("unknown"),y=x(""),a=x(!1);async function m(){if(!e.node.id){i.value="disconnected";return}try{const n=await $.ajax({url:`salesforce/auth/status/${e.node.id}`,type:"GET",dataType:"json"});i.value=n.authenticated?"connected":"disconnected",n.instanceUrl&&(y.value=n.instanceUrl)}catch{i.value="disconnected"}}async function q(){if(!e.node.loginUrl||!e.node.clientId){RED.notify("Please fill in Login URL and Client ID before authorizing.","warning");return}a.value=!0;try{const n=await $.ajax({url:"salesforce/auth/start",type:"POST",contentType:"application/json",data:JSON.stringify({nodeId:e.node.id,loginUrl:e.node.loginUrl,clientId:e.node.clientId,callbackUrl:e.node.callbackUrl||void 0}),dataType:"json"});window.open(n.authorizationUrl,"salesforce-auth","width=600,height=700,menubar=no,toolbar=no")}catch{RED.notify("Failed to start authorization. Check the logs.","error")}finally{a.value=!1}}function o(n){var l;((l=n.data)==null?void 0:l.type)==="salesforce-auth-success"&&n.data.nodeId===e.node.id&&(i.value="connected",n.data.instanceUrl&&(y.value=n.data.instanceUrl),e.node.credentials||(e.node.credentials={}),e.node.credentials.accessToken=n.data.accessToken,e.node.credentials.refreshToken=n.data.refreshToken,e.node.credentials.instanceUrl=n.data.instanceUrl,RED.notify("Salesforce authorization successful!","success"))}E(()=>{window.addEventListener("message",o),m()}),k(()=>{window.removeEventListener("message",o)});const d=[{value:"62.0",label:"62.0"},{value:"61.0",label:"61.0"},{value:"60.0",label:"60.0"},{value:"59.0",label:"59.0"},{value:"58.0",label:"58.0"},{value:"57.0",label:"57.0"},{value:"56.0",label:"56.0"},{value:"55.0",label:"55.0"}];return(n,l)=>{const g=c("NodeRedInput"),h=c("NodeRedSelectInput");return u(),p(v,null,[s("div",D,[r(g,{value:e.node.name,"onUpdate:value":l[0]||(l[0]=t=>e.node.name=t),label:"Name",icon:"tag"},null,8,["value"])]),s("div",L,[r(g,{value:e.node.loginUrl,"onUpdate:value":l[1]||(l[1]=t=>e.node.loginUrl=t),label:"Login URL",icon:"globe"},null,8,["value"])]),s("div",A,[r(g,{value:e.node.clientId,"onUpdate:value":l[2]||(l[2]=t=>e.node.clientId=t),label:"Client ID",icon:"key"},null,8,["value"])]),s("div",M,[r(h,{value:e.node.apiVersion,"onUpdate:value":l[3]||(l[3]=t=>e.node.apiVersion=t),label:"API Version",icon:"code-fork",options:d},null,8,["value"])]),s("div",P,[r(g,{value:e.node.callbackUrl,"onUpdate:value":l[4]||(l[4]=t=>e.node.callbackUrl=t),label:"Callback URL",icon:"exchange"},null,8,["value"]),l[5]||(l[5]=s("div",{class:"form-tips",style:{"max-width":"100%",width:"100%","box-sizing":"border-box","margin-top":"4px"}},[s("i",{class:"fa fa-info-circle"}),b(" Optional. Override the auto-detected callback URL for reverse proxy setups. ")],-1))]),s("div",z,[s("div",V,[s("i",{class:"fa fa-circle",style:w({color:i.value==="connected"?"#22c55e":i.value==="disconnected"?"#ef4444":"#9ca3af",fontSize:"10px"})},null,4),s("span",J,[i.value==="connected"?(u(),p(v,{key:0},[b(" Connected to "+S(y.value),1)],64)):i.value==="disconnected"?(u(),p(v,{key:1},[b(" Not Connected ")],64)):(u(),p(v,{key:2},[b(" Checking... ")],64))])]),s("button",{class:"red-ui-button",disabled:a.value,style:{width:"100%"},onClick:q},[l[6]||(l[6]=s("i",{class:"fa fa-sign-in"},null,-1)),b(" "+S(a.value?"Opening Salesforce...":i.value==="connected"?"Re-authorize":"Authorize with Salesforce"),1)],8,B)])],64)}}}),G={class:"form-row"},K={class:"form-row"},Q={class:"form-row"},H={class:"form-row"},W={class:"form-row"},X={key:0,class:"form-row"},j=T({__name:"salesforce-dml",props:{node:{}},setup(e){const i=[{value:"create",label:"create"},{value:"read",label:"read"},{value:"update",label:"update"},{value:"delete",label:"delete"},{value:"upsert",label:"upsert"}];return(y,a)=>{const m=c("NodeRedInput"),q=c("NodeRedConfigInput"),o=c("NodeRedSelectInput"),d=c("NodeRedTypedInput");return u(),p(v,null,[s("div",G,[r(m,{value:e.node.name,"onUpdate:value":a[0]||(a[0]=n=>e.node.name=n),label:"Name",icon:"tag"},null,8,["value"])]),s("div",K,[r(q,{value:e.node.connection,type:"salesforce-connection",node:e.node,"prop-name":"connection",label:"Connection",icon:"cloud","onUpdate:value":a[1]||(a[1]=n=>e.node.connection=n)},null,8,["value","node"])]),s("div",Q,[r(o,{value:e.node.operation,"onUpdate:value":a[2]||(a[2]=n=>e.node.operation=n),label:"Operation",icon:"pencil",options:i},null,8,["value"])]),s("div",H,[r(d,{value:e.node.sObjectType,label:"SObject Type",icon:"cube",types:["str","msg"],"onUpdate:value":a[3]||(a[3]=n=>e.node.sObjectType=n)},null,8,["value"])]),s("div",W,[r(d,{value:e.node.record,label:"Record",icon:"file-code-o",types:["json","msg"],"onUpdate:value":a[4]||(a[4]=n=>e.node.record=n)},null,8,["value"])]),e.node.operation==="upsert"?(u(),p("div",X,[r(m,{value:e.node.externalIdField,"onUpdate:value":a[5]||(a[5]=n=>e.node.externalIdField=n),label:"External ID Field",icon:"key"},null,8,["value"])])):I("",!0)],64)}}}),Y={class:"form-row"},Z={class:"form-row"},_={class:"form-row"},ee={class:"form-row"},te={key:0,class:"form-row"},ne={key:1,class:"form-row"},oe={class:"form-row"},se={class:"form-row"},re={class:"form-row"},le={class:"form-row"},ae={class:"form-row"},F=T({__name:"salesforce-bulk",props:{node:{}},setup(e){const i=()=>e.node.operation!=="query",y=[{value:"insert",label:"insert"},{value:"update",label:"update"},{value:"upsert",label:"upsert"},{value:"delete",label:"delete"},{value:"query",label:"query"}],a=[{value:"COMMA",label:"Comma (,)"},{value:"TAB",label:"Tab"},{value:"PIPE",label:"Pipe (|)"},{value:"SEMICOLON",label:"Semicolon (;)"},{value:"CARET",label:"Caret (^)"},{value:"BACKQUOTE",label:"Backquote (`)"}],m=[{value:"LF",label:"LF (Unix)"},{value:"CRLF",label:"CRLF (Windows)"}];return(q,o)=>{const d=c("NodeRedInput"),n=c("NodeRedConfigInput"),l=c("NodeRedSelectInput"),g=c("NodeRedTypedInput"),h=c("NodeRedToggle");return u(),p(v,null,[s("div",Y,[r(d,{value:e.node.name,"onUpdate:value":o[0]||(o[0]=t=>e.node.name=t),label:"Name",icon:"tag"},null,8,["value"])]),s("div",Z,[r(n,{value:e.node.connection,type:"salesforce-connection",node:e.node,"prop-name":"connection",label:"Connection",icon:"cloud","onUpdate:value":o[1]||(o[1]=t=>e.node.connection=t)},null,8,["value","node"])]),s("div",_,[r(l,{value:e.node.operation,"onUpdate:value":o[2]||(o[2]=t=>e.node.operation=t),label:"Operation",icon:"database",options:y},null,8,["value"])]),s("div",ee,[r(g,{value:e.node.sObjectType,label:"SObject Type",icon:"cube",types:["str","msg"],"onUpdate:value":o[3]||(o[3]=t=>e.node.sObjectType=t)},null,8,["value"])]),e.node.operation==="upsert"?(u(),p("div",te,[r(d,{value:e.node.externalIdField,"onUpdate:value":o[4]||(o[4]=t=>e.node.externalIdField=t),label:"External ID Field",icon:"key"},null,8,["value"])])):I("",!0),i()&&e.node.operation!=="delete"?(u(),p("div",ne,[r(d,{value:e.node.assignmentRuleId,"onUpdate:value":o[5]||(o[5]=t=>e.node.assignmentRuleId=t),label:"Assignment Rule ID",icon:"gavel"},null,8,["value"])])):I("",!0),s("div",oe,[r(l,{value:e.node.columnDelimiter,"onUpdate:value":o[6]||(o[6]=t=>e.node.columnDelimiter=t),label:"Column Delimiter",icon:"columns",options:a},null,8,["value"])]),s("div",se,[r(l,{value:e.node.lineEnding,"onUpdate:value":o[7]||(o[7]=t=>e.node.lineEnding=t),label:"Line Ending",icon:"level-down",options:m},null,8,["value"])]),s("div",re,[r(d,{value:e.node.pollInterval,"onUpdate:value":o[8]||(o[8]=t=>e.node.pollInterval=t),label:"Poll Interval (ms)",icon:"clock-o",type:"number"},null,8,["value"])]),s("div",le,[r(d,{value:e.node.pollTimeout,"onUpdate:value":o[9]||(o[9]=t=>e.node.pollTimeout=t),label:"Poll Timeout (ms)",icon:"hourglass",type:"number"},null,8,["value"])]),s("div",ae,[r(h,{"model-value":e.node.emitJobCreated,label:"Emit Job Created",icon:"flag","onUpdate:modelValue":o[10]||(o[10]=t=>{e.node.emitJobCreated=t,e.node.outputs=t?3:2})},null,8,["model-value"])])],64)}}}),ie=f({type:"salesforce-connection",form:{component:R}}),ce=f({type:"salesforce-soql"}),de=f({type:"salesforce-dml",form:{component:j}}),ue=["Record","Job Complete"],pe=["Record","Job Complete","Job Created"],fe=f({type:"salesforce-bulk",form:{component:F},outputLabels:function(e){return(this.emitJobCreated?pe:ue)[e]||""}}),ye=f({type:"salesforce-describe"}),me=f({type:"salesforce-streaming"}),ge=f({type:"salesforce-apex"});O(N),C({"salesforce-connection":R,"salesforce-dml":j,"salesforce-bulk":F}),U([ie,ce,de,fe,ye,me,ge]);
@@ -1 +0,0 @@
1
- import{defineNode as y,__setSchemas as O,__setForms as U,registerTypes as k}from"/nrg/assets/nrg-client.js";import{defineComponent as T,ref as x,onMounted as w,onUnmounted as N,resolveComponent as c,openBlock as u,createElementBlock as p,Fragment as v,createElementVNode as s,createVNode as r,createTextVNode as b,normalizeStyle as C,toDisplayString as S,createCommentVNode as I}from"/nrg/assets/vue.esm-browser.prod.js";const E={"salesforce-connection":{type:"salesforce-connection",category:"config",configSchema:{$id:"salesforce-connection:config",type:"object",required:["name","loginUrl","clientId","apiVersion"],properties:{name:{default:"",type:"string"},loginUrl:{default:"https://login.salesforce.com","x-nrg-form":{icon:"globe"},type:"string"},clientId:{default:"","x-nrg-form":{icon:"key"},type:"string"},apiVersion:{default:"62.0","x-nrg-form":{icon:"code-fork"},anyOf:[{const:"62.0",type:"string"},{const:"61.0",type:"string"},{const:"60.0",type:"string"},{const:"59.0",type:"string"},{const:"58.0",type:"string"},{const:"57.0",type:"string"},{const:"56.0",type:"string"},{const:"55.0",type:"string"}]},callbackUrl:{default:"","x-nrg-form":{icon:"exchange"},type:"string"}}},credentialsSchema:{$id:"salesforce-connection:credentials",type:"object",required:["accessToken","refreshToken","instanceUrl"],properties:{accessToken:{default:"",format:"password",type:"string"},refreshToken:{default:"",format:"password",type:"string"},instanceUrl:{default:"",type:"string"}}},settingsSchema:null,defaults:{name:{required:!1,value:""},loginUrl:{required:!1,value:"https://login.salesforce.com"},clientId:{required:!1,value:""},apiVersion:{required:!1,value:"62.0"},callbackUrl:{required:!1,value:""}},credentials:{accessToken:{required:!1,type:"password",value:""},refreshToken:{required:!1,type:"password",value:""},instanceUrl:{required:!1,type:"text",value:""}},icon:"salesforce-connection.png",inputSchema:null,outputsSchema:null},"salesforce-soql":{type:"salesforce-soql",category:"salesforce",configSchema:{$id:"salesforce-soql:config",type:"object",required:["name","connection","query"],properties:{name:{default:"","x-nrg-form":{icon:"tag"},type:"string"},connection:{description:"Reference to salesforce-connection",format:"node-id",type:"string","x-nrg-node-type":"salesforce-connection","x-nrg-form":{icon:"cloud"}},query:{description:"Represents a Node-RED TypedInput value and its type.",default:{type:"str",value:""},type:"object",required:["value","type"],properties:{value:{description:"The actual value entered or selected.",default:"",anyOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"null"}]},type:{description:"The type of the value (string, number, message property, etc.)",default:"str",anyOf:[{const:"msg",type:"string"},{const:"flow",type:"string"},{const:"global",type:"string"},{const:"str",type:"string"},{const:"num",type:"string"},{const:"bool",type:"string"},{const:"json",type:"string"},{const:"bin",type:"string"},{const:"re",type:"string"},{const:"jsonata",type:"string"},{const:"date",type:"string"},{const:"env",type:"string"},{const:"node",type:"string"},{const:"cred",type:"string"}]}},"x-nrg-typed-input":!0,"x-nrg-form":{icon:"search",typedInputTypes:["str","msg","flow","global"]}}}},credentialsSchema:null,settingsSchema:null,defaults:{name:{required:!1,value:""},connection:{required:!1,type:"salesforce-connection"},query:{required:!1,value:{type:"str",value:""}},validateInput:{required:!1,value:!1},validateOutput:{required:!1,value:!1}},color:"#FFFFFF",icon:"salesforce-soql.png",inputs:1,outputs:1,inputSchema:{$id:"salesforce-soql:input",type:"object",required:["payload"],properties:{payload:{}}},outputsSchema:{$id:"salesforce-soql:output",type:"object",required:["payload","totalSize","done"],properties:{payload:{type:"array",items:{}},totalSize:{type:"number"},done:{type:"boolean"}}}},"salesforce-dml":{type:"salesforce-dml",category:"salesforce",configSchema:{$id:"salesforce-dml:config",if:{type:"object",required:["operation"],properties:{operation:{const:"upsert",type:"string"}}},then:{type:"object",required:["externalIdField"],properties:{externalIdField:{minLength:1,type:"string"}}},errorMessage:{properties:{externalIdField:"External ID Field is required for upsert operations"}},type:"object",required:["name","connection","operation","sObjectType","record"],properties:{name:{default:"","x-nrg-form":{icon:"tag"},type:"string"},connection:{description:"Reference to salesforce-connection",format:"node-id",type:"string","x-nrg-node-type":"salesforce-connection","x-nrg-form":{icon:"cloud"}},operation:{default:"create","x-nrg-form":{icon:"pencil"},anyOf:[{const:"create",type:"string"},{const:"read",type:"string"},{const:"update",type:"string"},{const:"delete",type:"string"},{const:"upsert",type:"string"}]},sObjectType:{description:"Represents a Node-RED TypedInput value and its type.",default:{type:"str",value:""},type:"object",required:["value","type"],properties:{value:{description:"The actual value entered or selected.",default:"",anyOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"null"}]},type:{description:"The type of the value (string, number, message property, etc.)",default:"str",anyOf:[{const:"msg",type:"string"},{const:"flow",type:"string"},{const:"global",type:"string"},{const:"str",type:"string"},{const:"num",type:"string"},{const:"bool",type:"string"},{const:"json",type:"string"},{const:"bin",type:"string"},{const:"re",type:"string"},{const:"jsonata",type:"string"},{const:"date",type:"string"},{const:"env",type:"string"},{const:"node",type:"string"},{const:"cred",type:"string"}]}},"x-nrg-typed-input":!0,"x-nrg-form":{icon:"cube",typedInputTypes:["str","msg"]}},record:{description:"Represents a Node-RED TypedInput value and its type.",default:{type:"str",value:""},type:"object",required:["value","type"],properties:{value:{description:"The actual value entered or selected.",default:"",anyOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"null"}]},type:{description:"The type of the value (string, number, message property, etc.)",default:"str",anyOf:[{const:"msg",type:"string"},{const:"flow",type:"string"},{const:"global",type:"string"},{const:"str",type:"string"},{const:"num",type:"string"},{const:"bool",type:"string"},{const:"json",type:"string"},{const:"bin",type:"string"},{const:"re",type:"string"},{const:"jsonata",type:"string"},{const:"date",type:"string"},{const:"env",type:"string"},{const:"node",type:"string"},{const:"cred",type:"string"}]}},"x-nrg-typed-input":!0,"x-nrg-form":{icon:"file-code-o",typedInputTypes:["json","msg"]}},externalIdField:{default:"","x-nrg-form":{icon:"key"},type:"string"}}},credentialsSchema:null,settingsSchema:null,defaults:{name:{required:!1,value:""},connection:{required:!1,type:"salesforce-connection"},operation:{required:!1,value:"create"},sObjectType:{required:!1,value:{type:"str",value:""}},record:{required:!1,value:{type:"str",value:""}},externalIdField:{required:!1,value:""},validateInput:{required:!1,value:!1},validateOutput:{required:!1,value:!1}},color:"#FFFFFF",icon:"salesforce-dml.png",inputs:1,outputs:1,inputSchema:{$id:"salesforce-dml:input",type:"object",required:["payload"],properties:{payload:{}}},outputsSchema:{$id:"salesforce-dml:output",type:"object",required:["payload"],properties:{payload:{}}}},"salesforce-bulk":{type:"salesforce-bulk",category:"salesforce",configSchema:{$id:"salesforce-bulk:config",if:{type:"object",required:["operation"],properties:{operation:{const:"upsert",type:"string"}}},then:{type:"object",required:["externalIdField"],properties:{externalIdField:{minLength:1,type:"string"}}},errorMessage:{properties:{externalIdField:"External ID Field is required for upsert operations"}},type:"object",required:["name","connection","operation","sObjectType","columnDelimiter","lineEnding","pollInterval","pollTimeout","emitJobCreated","outputs"],properties:{name:{default:"","x-nrg-form":{icon:"tag"},type:"string"},connection:{description:"Reference to salesforce-connection",format:"node-id",type:"string","x-nrg-node-type":"salesforce-connection","x-nrg-form":{icon:"cloud"}},operation:{default:"insert","x-nrg-form":{icon:"database"},anyOf:[{const:"insert",type:"string"},{const:"update",type:"string"},{const:"upsert",type:"string"},{const:"delete",type:"string"},{const:"query",type:"string"}]},sObjectType:{description:"Represents a Node-RED TypedInput value and its type.",default:{type:"str",value:""},type:"object",required:["value","type"],properties:{value:{description:"The actual value entered or selected.",default:"",anyOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"null"}]},type:{description:"The type of the value (string, number, message property, etc.)",default:"str",anyOf:[{const:"msg",type:"string"},{const:"flow",type:"string"},{const:"global",type:"string"},{const:"str",type:"string"},{const:"num",type:"string"},{const:"bool",type:"string"},{const:"json",type:"string"},{const:"bin",type:"string"},{const:"re",type:"string"},{const:"jsonata",type:"string"},{const:"date",type:"string"},{const:"env",type:"string"},{const:"node",type:"string"},{const:"cred",type:"string"}]}},"x-nrg-typed-input":!0,"x-nrg-form":{icon:"cube",typedInputTypes:["str","msg"]}},externalIdField:{default:"","x-nrg-form":{icon:"key"},type:"string"},assignmentRuleId:{default:"","x-nrg-form":{icon:"gavel"},type:"string"},columnDelimiter:{default:"COMMA","x-nrg-form":{icon:"columns"},anyOf:[{const:"COMMA",type:"string"},{const:"TAB",type:"string"},{const:"PIPE",type:"string"},{const:"SEMICOLON",type:"string"},{const:"CARET",type:"string"},{const:"BACKQUOTE",type:"string"}]},lineEnding:{default:"LF","x-nrg-form":{icon:"level-down"},anyOf:[{const:"LF",type:"string"},{const:"CRLF",type:"string"}]},pollInterval:{default:5e3,minimum:1e3,"x-nrg-form":{icon:"clock-o"},type:"number"},pollTimeout:{default:6e4,minimum:5e3,"x-nrg-form":{icon:"hourglass"},type:"number"},emitJobCreated:{default:!1,"x-nrg-form":{icon:"flag",toggle:!0},type:"boolean"},outputs:{default:2,type:"number"}}},credentialsSchema:null,settingsSchema:null,defaults:{name:{required:!1,value:""},connection:{required:!1,type:"salesforce-connection"},operation:{required:!1,value:"insert"},sObjectType:{required:!1,value:{type:"str",value:""}},externalIdField:{required:!1,value:""},assignmentRuleId:{required:!1,value:""},columnDelimiter:{required:!1,value:"COMMA"},lineEnding:{required:!1,value:"LF"},pollInterval:{required:!1,value:5e3},pollTimeout:{required:!1,value:6e4},emitJobCreated:{required:!1,value:!1},outputs:{required:!1,value:2},validateInput:{required:!1,value:!1}},color:"#FFFFFF",icon:"salesforce-bulk.png",inputs:1,outputs:2,inputSchema:{$id:"salesforce-bulk:input",type:"object",required:["payload"],properties:{payload:{}}},outputsSchema:null},"salesforce-describe":{type:"salesforce-describe",category:"salesforce",configSchema:{$id:"salesforce-describe:config",type:"object",required:["name","connection","sObjectType"],properties:{name:{default:"","x-nrg-form":{icon:"tag"},type:"string"},connection:{description:"Reference to salesforce-connection",format:"node-id",type:"string","x-nrg-node-type":"salesforce-connection","x-nrg-form":{icon:"cloud"}},sObjectType:{description:"Represents a Node-RED TypedInput value and its type.",default:{type:"str",value:""},type:"object",required:["value","type"],properties:{value:{description:"The actual value entered or selected.",default:"",anyOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"null"}]},type:{description:"The type of the value (string, number, message property, etc.)",default:"str",anyOf:[{const:"msg",type:"string"},{const:"flow",type:"string"},{const:"global",type:"string"},{const:"str",type:"string"},{const:"num",type:"string"},{const:"bool",type:"string"},{const:"json",type:"string"},{const:"bin",type:"string"},{const:"re",type:"string"},{const:"jsonata",type:"string"},{const:"date",type:"string"},{const:"env",type:"string"},{const:"node",type:"string"},{const:"cred",type:"string"}]}},"x-nrg-typed-input":!0,"x-nrg-form":{icon:"cube",typedInputTypes:["str","msg"]}}}},credentialsSchema:null,settingsSchema:null,defaults:{name:{required:!1,value:""},connection:{required:!1,type:"salesforce-connection"},sObjectType:{required:!1,value:{type:"str",value:""}},validateInput:{required:!1,value:!1},validateOutput:{required:!1,value:!1}},color:"#FFFFFF",icon:"salesforce-describe.png",inputs:1,outputs:1,inputSchema:{$id:"salesforce-describe:input",type:"object",required:["payload"],properties:{payload:{}}},outputsSchema:{$id:"salesforce-describe:output",type:"object",required:["payload"],properties:{payload:{type:"object",required:["name","fields","childRelationships","recordTypeInfos"],properties:{name:{type:"string"},fields:{type:"array",items:{}},childRelationships:{type:"array",items:{}},recordTypeInfos:{type:"array",items:{}}}}}}},"salesforce-streaming":{type:"salesforce-streaming",category:"salesforce",configSchema:{$id:"salesforce-streaming:config",if:{type:"object",required:["subscribeType"],properties:{subscribeType:{const:"CUSTOM",type:"string"}}},then:{type:"object",required:["replayId"],properties:{replayId:{minLength:1,type:"string"}}},errorMessage:{properties:{replayId:"Replay ID is required when Subscribe Type is CUSTOM"}},type:"object",required:["name","connection","channelName","subscribeType","numRequested"],properties:{name:{default:"","x-nrg-form":{icon:"tag"},type:"string"},connection:{description:"Reference to salesforce-connection",format:"node-id",type:"string","x-nrg-node-type":"salesforce-connection","x-nrg-form":{icon:"cloud"}},channelName:{default:"","x-nrg-form":{icon:"rss"},type:"string"},subscribeType:{default:"LATEST","x-nrg-form":{icon:"history"},anyOf:[{const:"LATEST",type:"string"},{const:"EARLIEST",type:"string"},{const:"CUSTOM",type:"string"}]},replayId:{default:"","x-nrg-form":{icon:"bookmark"},type:"string"},numRequested:{default:100,minimum:1,maximum:100,"x-nrg-form":{icon:"sort-numeric-asc"},type:"number"}}},credentialsSchema:null,settingsSchema:null,defaults:{name:{required:!1,value:""},connection:{required:!1,type:"salesforce-connection"},channelName:{required:!1,value:""},subscribeType:{required:!1,value:"LATEST"},replayId:{required:!1,value:""},numRequested:{required:!1,value:100},validateOutput:{required:!1,value:!1}},color:"#FFFFFF",icon:"salesforce-streaming.png",inputs:0,outputs:1,inputSchema:null,outputsSchema:{$id:"salesforce-streaming:output",type:"object",required:["payload","replayId","channel","topic"],properties:{payload:{},replayId:{},channel:{type:"string"},topic:{type:"string"}}}},"salesforce-apex":{type:"salesforce-apex",category:"salesforce",configSchema:{$id:"salesforce-apex:config",type:"object",required:["name","connection","method","path"],properties:{name:{default:"","x-nrg-form":{icon:"tag"},type:"string"},connection:{description:"Reference to salesforce-connection",format:"node-id",type:"string","x-nrg-node-type":"salesforce-connection","x-nrg-form":{icon:"cloud"}},method:{default:"POST","x-nrg-form":{icon:"random"},anyOf:[{const:"GET",type:"string"},{const:"POST",type:"string"},{const:"PUT",type:"string"},{const:"PATCH",type:"string"},{const:"DELETE",type:"string"}]},path:{description:"Represents a Node-RED TypedInput value and its type.",default:{type:"str",value:""},type:"object",required:["value","type"],properties:{value:{description:"The actual value entered or selected.",default:"",anyOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"null"}]},type:{description:"The type of the value (string, number, message property, etc.)",default:"str",anyOf:[{const:"msg",type:"string"},{const:"flow",type:"string"},{const:"global",type:"string"},{const:"str",type:"string"},{const:"num",type:"string"},{const:"bool",type:"string"},{const:"json",type:"string"},{const:"bin",type:"string"},{const:"re",type:"string"},{const:"jsonata",type:"string"},{const:"date",type:"string"},{const:"env",type:"string"},{const:"node",type:"string"},{const:"cred",type:"string"}]}},"x-nrg-typed-input":!0,"x-nrg-form":{icon:"link",typedInputTypes:["str","msg"]}}}},credentialsSchema:null,settingsSchema:null,defaults:{name:{required:!1,value:""},connection:{required:!1,type:"salesforce-connection"},method:{required:!1,value:"POST"},path:{required:!1,value:{type:"str",value:""}},validateInput:{required:!1,value:!1},validateOutput:{required:!1,value:!1}},color:"#FFFFFF",icon:"salesforce-apex.png",inputs:1,outputs:1,inputSchema:{$id:"salesforce-apex:input",type:"object",required:["payload"],properties:{payload:{}}},outputsSchema:{$id:"salesforce-apex:output",type:"object",required:["payload"],properties:{payload:{}}}}},D={class:"form-row"},L={class:"form-row"},A={class:"form-row"},M={class:"form-row"},P={class:"form-row"},z={class:"form-row",style:{border:"1px solid var(--red-ui-primary-border-color, #ddd)","border-radius":"4px",padding:"12px","margin-top":"8px"}},V={style:{display:"flex","align-items":"center",gap:"8px","margin-bottom":"8px"}},J={style:{"font-weight":"500"}},B=["disabled"],R=T({__name:"salesforce-connection",props:{node:{}},setup(e){const i=x("unknown"),f=x(""),a=x(!1);async function g(){if(!e.node.id){i.value="disconnected";return}try{const n=await $.ajax({url:`salesforce/auth/status/${e.node.id}`,type:"GET",dataType:"json"});i.value=n.authenticated?"connected":"disconnected",n.instanceUrl&&(f.value=n.instanceUrl)}catch{i.value="disconnected"}}async function q(){if(!e.node.loginUrl||!e.node.clientId){RED.notify("Please fill in Login URL and Client ID before authorizing.","warning");return}a.value=!0;try{const n=await $.ajax({url:"salesforce/auth/start",type:"POST",contentType:"application/json",data:JSON.stringify({nodeId:e.node.id,loginUrl:e.node.loginUrl,clientId:e.node.clientId,callbackUrl:e.node.callbackUrl||void 0}),dataType:"json"});window.open(n.authorizationUrl,"salesforce-auth","width=600,height=700,menubar=no,toolbar=no")}catch{RED.notify("Failed to start authorization. Check the logs.","error")}finally{a.value=!1}}function o(n){var l;((l=n.data)==null?void 0:l.type)==="salesforce-auth-success"&&n.data.nodeId===e.node.id&&(i.value="connected",n.data.instanceUrl&&(f.value=n.data.instanceUrl),e.node.credentials||(e.node.credentials={}),e.node.credentials.accessToken=n.data.accessToken,e.node.credentials.refreshToken=n.data.refreshToken,e.node.credentials.instanceUrl=n.data.instanceUrl,RED.notify("Salesforce authorization successful!","success"))}w(()=>{window.addEventListener("message",o),g()}),N(()=>{window.removeEventListener("message",o)});const d=[{value:"62.0",label:"62.0"},{value:"61.0",label:"61.0"},{value:"60.0",label:"60.0"},{value:"59.0",label:"59.0"},{value:"58.0",label:"58.0"},{value:"57.0",label:"57.0"},{value:"56.0",label:"56.0"},{value:"55.0",label:"55.0"}];return(n,l)=>{const m=c("NodeRedInput"),h=c("NodeRedSelectInput");return u(),p(v,null,[s("div",D,[r(m,{value:e.node.name,"onUpdate:value":l[0]||(l[0]=t=>e.node.name=t),label:"Name",icon:"tag"},null,8,["value"])]),s("div",L,[r(m,{value:e.node.loginUrl,"onUpdate:value":l[1]||(l[1]=t=>e.node.loginUrl=t),label:"Login URL",icon:"globe"},null,8,["value"])]),s("div",A,[r(m,{value:e.node.clientId,"onUpdate:value":l[2]||(l[2]=t=>e.node.clientId=t),label:"Client ID",icon:"key"},null,8,["value"])]),s("div",M,[r(h,{value:e.node.apiVersion,"onUpdate:value":l[3]||(l[3]=t=>e.node.apiVersion=t),label:"API Version",icon:"code-fork",options:d},null,8,["value"])]),s("div",P,[r(m,{value:e.node.callbackUrl,"onUpdate:value":l[4]||(l[4]=t=>e.node.callbackUrl=t),label:"Callback URL",icon:"exchange"},null,8,["value"]),l[5]||(l[5]=s("div",{class:"form-tips",style:{"max-width":"100%",width:"100%","box-sizing":"border-box","margin-top":"4px"}},[s("i",{class:"fa fa-info-circle"}),b(" Optional. Override the auto-detected callback URL for reverse proxy setups. ")],-1))]),s("div",z,[s("div",V,[s("i",{class:"fa fa-circle",style:C({color:i.value==="connected"?"#22c55e":i.value==="disconnected"?"#ef4444":"#9ca3af",fontSize:"10px"})},null,4),s("span",J,[i.value==="connected"?(u(),p(v,{key:0},[b(" Connected to "+S(f.value),1)],64)):i.value==="disconnected"?(u(),p(v,{key:1},[b(" Not Connected ")],64)):(u(),p(v,{key:2},[b(" Checking... ")],64))])]),s("button",{class:"red-ui-button",disabled:a.value,style:{width:"100%"},onClick:q},[l[6]||(l[6]=s("i",{class:"fa fa-sign-in"},null,-1)),b(" "+S(a.value?"Opening Salesforce...":i.value==="connected"?"Re-authorize":"Authorize with Salesforce"),1)],8,B)])],64)}}}),G={class:"form-row"},K={class:"form-row"},Q={class:"form-row"},H={class:"form-row"},W={class:"form-row"},X={key:0,class:"form-row"},j=T({__name:"salesforce-dml",props:{node:{}},setup(e){const i=[{value:"create",label:"create"},{value:"read",label:"read"},{value:"update",label:"update"},{value:"delete",label:"delete"},{value:"upsert",label:"upsert"}];return(f,a)=>{const g=c("NodeRedInput"),q=c("NodeRedConfigInput"),o=c("NodeRedSelectInput"),d=c("NodeRedTypedInput");return u(),p(v,null,[s("div",G,[r(g,{value:e.node.name,"onUpdate:value":a[0]||(a[0]=n=>e.node.name=n),label:"Name",icon:"tag"},null,8,["value"])]),s("div",K,[r(q,{value:e.node.connection,type:"salesforce-connection",node:e.node,"prop-name":"connection",label:"Connection",icon:"cloud","onUpdate:value":a[1]||(a[1]=n=>e.node.connection=n)},null,8,["value","node"])]),s("div",Q,[r(o,{value:e.node.operation,"onUpdate:value":a[2]||(a[2]=n=>e.node.operation=n),label:"Operation",icon:"pencil",options:i},null,8,["value"])]),s("div",H,[r(d,{value:e.node.sObjectType,label:"SObject Type",icon:"cube",types:["str","msg"],"onUpdate:value":a[3]||(a[3]=n=>e.node.sObjectType=n)},null,8,["value"])]),s("div",W,[r(d,{value:e.node.record,label:"Record",icon:"file-code-o",types:["json","msg"],"onUpdate:value":a[4]||(a[4]=n=>e.node.record=n)},null,8,["value"])]),e.node.operation==="upsert"?(u(),p("div",X,[r(g,{value:e.node.externalIdField,"onUpdate:value":a[5]||(a[5]=n=>e.node.externalIdField=n),label:"External ID Field",icon:"key"},null,8,["value"])])):I("",!0)],64)}}}),Y={class:"form-row"},Z={class:"form-row"},_={class:"form-row"},ee={class:"form-row"},te={key:0,class:"form-row"},ne={key:1,class:"form-row"},oe={class:"form-row"},se={class:"form-row"},re={class:"form-row"},le={class:"form-row"},ae={class:"form-row"},F=T({__name:"salesforce-bulk",props:{node:{}},setup(e){const i=()=>e.node.operation!=="query",f=[{value:"insert",label:"insert"},{value:"update",label:"update"},{value:"upsert",label:"upsert"},{value:"delete",label:"delete"},{value:"query",label:"query"}],a=[{value:"COMMA",label:"Comma (,)"},{value:"TAB",label:"Tab"},{value:"PIPE",label:"Pipe (|)"},{value:"SEMICOLON",label:"Semicolon (;)"},{value:"CARET",label:"Caret (^)"},{value:"BACKQUOTE",label:"Backquote (`)"}],g=[{value:"LF",label:"LF (Unix)"},{value:"CRLF",label:"CRLF (Windows)"}];return(q,o)=>{const d=c("NodeRedInput"),n=c("NodeRedConfigInput"),l=c("NodeRedSelectInput"),m=c("NodeRedTypedInput"),h=c("NodeRedToggle");return u(),p(v,null,[s("div",Y,[r(d,{value:e.node.name,"onUpdate:value":o[0]||(o[0]=t=>e.node.name=t),label:"Name",icon:"tag"},null,8,["value"])]),s("div",Z,[r(n,{value:e.node.connection,type:"salesforce-connection",node:e.node,"prop-name":"connection",label:"Connection",icon:"cloud","onUpdate:value":o[1]||(o[1]=t=>e.node.connection=t)},null,8,["value","node"])]),s("div",_,[r(l,{value:e.node.operation,"onUpdate:value":o[2]||(o[2]=t=>e.node.operation=t),label:"Operation",icon:"database",options:f},null,8,["value"])]),s("div",ee,[r(m,{value:e.node.sObjectType,label:"SObject Type",icon:"cube",types:["str","msg"],"onUpdate:value":o[3]||(o[3]=t=>e.node.sObjectType=t)},null,8,["value"])]),e.node.operation==="upsert"?(u(),p("div",te,[r(d,{value:e.node.externalIdField,"onUpdate:value":o[4]||(o[4]=t=>e.node.externalIdField=t),label:"External ID Field",icon:"key"},null,8,["value"])])):I("",!0),i()&&e.node.operation!=="delete"?(u(),p("div",ne,[r(d,{value:e.node.assignmentRuleId,"onUpdate:value":o[5]||(o[5]=t=>e.node.assignmentRuleId=t),label:"Assignment Rule ID",icon:"gavel"},null,8,["value"])])):I("",!0),s("div",oe,[r(l,{value:e.node.columnDelimiter,"onUpdate:value":o[6]||(o[6]=t=>e.node.columnDelimiter=t),label:"Column Delimiter",icon:"columns",options:a},null,8,["value"])]),s("div",se,[r(l,{value:e.node.lineEnding,"onUpdate:value":o[7]||(o[7]=t=>e.node.lineEnding=t),label:"Line Ending",icon:"level-down",options:g},null,8,["value"])]),s("div",re,[r(d,{value:e.node.pollInterval,"onUpdate:value":o[8]||(o[8]=t=>e.node.pollInterval=t),label:"Poll Interval (ms)",icon:"clock-o",type:"number"},null,8,["value"])]),s("div",le,[r(d,{value:e.node.pollTimeout,"onUpdate:value":o[9]||(o[9]=t=>e.node.pollTimeout=t),label:"Poll Timeout (ms)",icon:"hourglass",type:"number"},null,8,["value"])]),s("div",ae,[r(h,{"model-value":e.node.emitJobCreated,label:"Emit Job Created",icon:"flag","onUpdate:modelValue":o[10]||(o[10]=t=>{e.node.emitJobCreated=t,e.node.outputs=t?3:2})},null,8,["model-value"])])],64)}}}),ie=y({type:"salesforce-connection",form:{component:R}}),ce=y({type:"salesforce-soql"}),de=y({type:"salesforce-dml",form:{component:j}}),ue=["Record","Job Complete"],pe=["Record","Job Complete","Job Created"],ye=y({type:"salesforce-bulk",form:{component:F},outputLabels:function(e){return(this.emitJobCreated?pe:ue)[e]||""}}),fe=y({type:"salesforce-describe"}),ge=y({type:"salesforce-streaming"}),me=y({type:"salesforce-apex"});O(E),U({"salesforce-connection":R,"salesforce-dml":j,"salesforce-bulk":F}),k([ie,ce,de,ye,fe,ge,me]);