n8n-nodes-pocketbase 0.3.2 → 1.0.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/dist/credentials/PocketBaseApi.credentials.d.ts +6 -1
- package/dist/credentials/PocketBaseApi.credentials.js +54 -7
- package/dist/credentials/PocketBaseApi.credentials.js.map +1 -1
- package/dist/nodes/PocketBase/GenericFunctions.d.ts +6 -0
- package/dist/nodes/PocketBase/GenericFunctions.js +42 -0
- package/dist/nodes/PocketBase/GenericFunctions.js.map +1 -0
- package/dist/nodes/PocketBase/LoadOptions.d.ts +28 -0
- package/dist/nodes/PocketBase/LoadOptions.js +88 -0
- package/dist/nodes/PocketBase/LoadOptions.js.map +1 -0
- package/dist/nodes/PocketBase/PocketBase.node.d.ts +9 -2
- package/dist/nodes/PocketBase/PocketBase.node.js +215 -147
- package/dist/nodes/PocketBase/PocketBase.node.js.map +1 -1
- package/dist/nodes/PocketBase/PocketBase.node.json +1 -1
- package/dist/nodes/PocketBase/RequestBodyFunctions.d.ts +2 -0
- package/dist/nodes/PocketBase/RequestBodyFunctions.js +52 -0
- package/dist/nodes/PocketBase/RequestBodyFunctions.js.map +1 -0
- package/dist/package.json +18 -22
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -22
- package/dist/nodes/PocketBaseSend/PocketBaseSend.node.d.ts +0 -5
- package/dist/nodes/PocketBaseSend/PocketBaseSend.node.js +0 -90
- package/dist/nodes/PocketBaseSend/PocketBaseSend.node.js.map +0 -1
- package/dist/nodes/PocketBaseSend/PocketBaseSend.node.json +0 -23
- /package/dist/{nodes/PocketBaseSend → credentials}/pocketbase.svg +0 -0
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.PocketBase = void 0;
|
|
7
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
8
|
-
const
|
|
5
|
+
const GenericFunctions_1 = require("./GenericFunctions");
|
|
6
|
+
const LoadOptions_1 = require("./LoadOptions");
|
|
9
7
|
class PocketBase {
|
|
10
8
|
constructor() {
|
|
11
9
|
this.description = {
|
|
@@ -19,29 +17,42 @@ class PocketBase {
|
|
|
19
17
|
defaults: {
|
|
20
18
|
name: 'PocketBase',
|
|
21
19
|
},
|
|
20
|
+
usableAsTool: true,
|
|
22
21
|
codex: {
|
|
23
22
|
categories: ['AI'],
|
|
24
23
|
subcategories: {
|
|
25
24
|
AI: ['Tools'],
|
|
26
25
|
Tools: ['Other Tools'],
|
|
27
|
-
}
|
|
26
|
+
},
|
|
28
27
|
},
|
|
29
|
-
inputs: [
|
|
30
|
-
outputs: [
|
|
28
|
+
inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
29
|
+
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
31
30
|
credentials: [
|
|
32
31
|
{
|
|
33
32
|
name: 'pocketBaseApi',
|
|
34
33
|
required: true,
|
|
35
34
|
},
|
|
36
35
|
],
|
|
36
|
+
requestDefaults: {
|
|
37
|
+
returnFullResponse: true,
|
|
38
|
+
baseURL: '={{$credentials.url.replace(new RegExp("/$"), "")}}',
|
|
39
|
+
headers: {
|
|
40
|
+
Accept: 'application/json',
|
|
41
|
+
'Content-Type': 'application/json',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
37
44
|
properties: [
|
|
38
45
|
{
|
|
39
|
-
displayName: '
|
|
46
|
+
displayName: 'Collection Name or ID',
|
|
40
47
|
name: 'resource',
|
|
41
|
-
type: '
|
|
48
|
+
type: 'options',
|
|
42
49
|
default: '',
|
|
50
|
+
noDataExpression: true,
|
|
43
51
|
required: true,
|
|
44
|
-
|
|
52
|
+
typeOptions: {
|
|
53
|
+
loadOptionsMethod: 'getCollections',
|
|
54
|
+
},
|
|
55
|
+
description: 'The Resource (PB: Collection) you are working on/with. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
|
|
45
56
|
},
|
|
46
57
|
{
|
|
47
58
|
displayName: 'Operation',
|
|
@@ -51,40 +62,84 @@ class PocketBase {
|
|
|
51
62
|
{
|
|
52
63
|
name: 'List/Search',
|
|
53
64
|
value: 'search',
|
|
54
|
-
action: 'List or search your collection'
|
|
65
|
+
action: 'List or search your collection',
|
|
66
|
+
routing: {
|
|
67
|
+
request: {
|
|
68
|
+
method: 'GET',
|
|
69
|
+
url: '=/api/collections/{{$parameter["resource"]}}/records',
|
|
70
|
+
},
|
|
71
|
+
output: {
|
|
72
|
+
postReceive: [GenericFunctions_1.recordViewPostReceiveAction],
|
|
73
|
+
},
|
|
74
|
+
send: {
|
|
75
|
+
preSend: [GenericFunctions_1.recordViewPreSendAction],
|
|
76
|
+
paginate: true,
|
|
77
|
+
},
|
|
78
|
+
operations: { pagination: GenericFunctions_1.pagination },
|
|
79
|
+
},
|
|
55
80
|
},
|
|
56
81
|
{
|
|
57
82
|
name: 'View',
|
|
58
83
|
value: 'view',
|
|
59
|
-
action: 'View an element in your collection'
|
|
84
|
+
action: 'View an element in your collection',
|
|
85
|
+
routing: {
|
|
86
|
+
request: {
|
|
87
|
+
method: 'GET',
|
|
88
|
+
url: `=/api/collections/{{$parameter["resource"]}}/records/{{$parameter["elementId"]}}`,
|
|
89
|
+
},
|
|
90
|
+
send: {
|
|
91
|
+
preSend: [GenericFunctions_1.recordViewPreSendAction],
|
|
92
|
+
},
|
|
93
|
+
},
|
|
60
94
|
},
|
|
61
95
|
{
|
|
62
96
|
name: 'Create',
|
|
63
97
|
value: 'create',
|
|
64
|
-
action: 'Create an element in your collection'
|
|
98
|
+
action: 'Create an element in your collection',
|
|
99
|
+
routing: {
|
|
100
|
+
request: {
|
|
101
|
+
method: 'POST',
|
|
102
|
+
url: `=/api/collections/{{$parameter["resource"]}}/records`,
|
|
103
|
+
},
|
|
104
|
+
send: {
|
|
105
|
+
preSend: [GenericFunctions_1.recordCreatePreSendAction],
|
|
106
|
+
},
|
|
107
|
+
},
|
|
65
108
|
},
|
|
66
109
|
{
|
|
67
110
|
name: 'Update',
|
|
68
111
|
value: 'update',
|
|
69
|
-
action: 'Update an element in your collection'
|
|
70
|
-
|
|
112
|
+
action: 'Update an element in your collection',
|
|
113
|
+
routing: {
|
|
114
|
+
request: {
|
|
115
|
+
method: 'PATCH',
|
|
116
|
+
url: `=/api/collections/{{$parameter["resource"]}}/records/{{$parameter["elementId"]}}`,
|
|
117
|
+
},
|
|
118
|
+
send: {
|
|
119
|
+
preSend: [GenericFunctions_1.recordUpdatePreSendAction],
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
},
|
|
71
123
|
],
|
|
72
124
|
default: 'search',
|
|
73
125
|
required: true,
|
|
74
|
-
noDataExpression: true
|
|
126
|
+
noDataExpression: true,
|
|
75
127
|
},
|
|
76
128
|
{
|
|
77
|
-
displayName: 'Element ID',
|
|
129
|
+
displayName: 'Element Name or ID',
|
|
78
130
|
name: 'elementId',
|
|
79
|
-
type: '
|
|
131
|
+
type: 'options',
|
|
132
|
+
description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
|
|
133
|
+
typeOptions: {
|
|
134
|
+
loadOptionsDependsOn: ['resource', 'parameters.fields'],
|
|
135
|
+
loadOptionsMethod: 'getRows',
|
|
136
|
+
},
|
|
80
137
|
default: '',
|
|
81
138
|
displayOptions: {
|
|
82
139
|
show: {
|
|
83
|
-
operation: [
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
}
|
|
140
|
+
operation: ['view', 'update'],
|
|
141
|
+
},
|
|
142
|
+
},
|
|
88
143
|
},
|
|
89
144
|
{
|
|
90
145
|
displayName: 'Parameters',
|
|
@@ -92,170 +147,183 @@ class PocketBase {
|
|
|
92
147
|
type: 'collection',
|
|
93
148
|
default: {},
|
|
94
149
|
options: [
|
|
150
|
+
{
|
|
151
|
+
displayName: 'All Elements',
|
|
152
|
+
name: 'allElements',
|
|
153
|
+
type: 'boolean',
|
|
154
|
+
default: false,
|
|
155
|
+
},
|
|
95
156
|
{
|
|
96
157
|
displayName: 'Elements per Page',
|
|
97
158
|
name: 'elementsPerPage',
|
|
98
159
|
type: 'number',
|
|
99
160
|
typeOptions: {
|
|
100
|
-
minValue: 1
|
|
161
|
+
minValue: 1,
|
|
101
162
|
},
|
|
102
|
-
default: 30
|
|
163
|
+
default: 30,
|
|
164
|
+
routing: {
|
|
165
|
+
send: {
|
|
166
|
+
type: 'query',
|
|
167
|
+
property: 'perPage'
|
|
168
|
+
},
|
|
169
|
+
}
|
|
103
170
|
},
|
|
104
171
|
{
|
|
105
|
-
displayName: 'Expand',
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
172
|
+
displayName: 'Expand Relations',
|
|
173
|
+
description: 'Choose from the list, or specify the Name using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
|
|
174
|
+
name: 'relation',
|
|
175
|
+
type: 'multiOptions',
|
|
176
|
+
default: [],
|
|
177
|
+
typeOptions: {
|
|
178
|
+
loadOptionsMethod: 'getRelations',
|
|
179
|
+
},
|
|
180
|
+
routing: {
|
|
181
|
+
request: {
|
|
182
|
+
qs: {
|
|
183
|
+
expand: '={{ $value ? $value.join(",") : undefined }}',
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
displayName: 'Field Names',
|
|
190
|
+
description: 'Choose from the list, or specify Names using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
|
|
191
|
+
name: 'fields',
|
|
192
|
+
type: 'multiOptions',
|
|
193
|
+
typeOptions: {
|
|
194
|
+
loadOptionsMethod: 'getFields',
|
|
195
|
+
},
|
|
196
|
+
default: [],
|
|
197
|
+
routing: {
|
|
198
|
+
request: {
|
|
199
|
+
qs: {
|
|
200
|
+
fields: '={{ $value ? $value.join(",") : undefined }}',
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
},
|
|
109
204
|
},
|
|
110
205
|
{
|
|
111
206
|
displayName: 'Filter',
|
|
112
207
|
name: 'filter',
|
|
113
208
|
type: 'string',
|
|
114
|
-
default: ''
|
|
209
|
+
default: '',
|
|
210
|
+
routing: {
|
|
211
|
+
send: {
|
|
212
|
+
type: 'query',
|
|
213
|
+
property: 'filter'
|
|
214
|
+
},
|
|
215
|
+
}
|
|
115
216
|
},
|
|
116
217
|
{
|
|
117
218
|
displayName: 'Page',
|
|
118
219
|
name: 'page',
|
|
119
220
|
type: 'number',
|
|
120
221
|
typeOptions: {
|
|
121
|
-
minValue: 1
|
|
222
|
+
minValue: 1,
|
|
122
223
|
},
|
|
123
|
-
default: 1
|
|
224
|
+
default: 1,
|
|
225
|
+
routing: {
|
|
226
|
+
send: {
|
|
227
|
+
type: 'query',
|
|
228
|
+
property: 'page'
|
|
229
|
+
},
|
|
230
|
+
}
|
|
124
231
|
},
|
|
125
232
|
{
|
|
126
233
|
displayName: 'Sort',
|
|
127
234
|
name: 'sort',
|
|
128
235
|
type: 'string',
|
|
129
|
-
default: ''
|
|
236
|
+
default: '',
|
|
237
|
+
routing: {
|
|
238
|
+
send: {
|
|
239
|
+
type: 'query',
|
|
240
|
+
property: 'sort'
|
|
241
|
+
},
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
],
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
displayName: 'Body Type',
|
|
248
|
+
name: 'bodyType',
|
|
249
|
+
type: 'multiOptions',
|
|
250
|
+
default: ['fields'],
|
|
251
|
+
options: [
|
|
252
|
+
{
|
|
253
|
+
name: 'Fields',
|
|
254
|
+
value: 'fields',
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
name: 'JSON Body',
|
|
258
|
+
value: 'bodyJson',
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
name: 'Binary Data',
|
|
262
|
+
value: 'binaryData',
|
|
130
263
|
}
|
|
131
264
|
]
|
|
132
265
|
},
|
|
133
266
|
{
|
|
134
|
-
displayName: '
|
|
135
|
-
name: '
|
|
136
|
-
type: '
|
|
267
|
+
displayName: 'Fields',
|
|
268
|
+
name: 'fields',
|
|
269
|
+
type: 'assignmentCollection',
|
|
137
270
|
displayOptions: {
|
|
138
271
|
show: {
|
|
139
|
-
operation: ['create', 'update']
|
|
140
|
-
|
|
272
|
+
operation: ['create', 'update'],
|
|
273
|
+
bodyType: ['fields'],
|
|
274
|
+
},
|
|
141
275
|
},
|
|
142
276
|
typeOptions: {
|
|
143
|
-
|
|
277
|
+
loadOptionsDependsOn: ['resource'],
|
|
278
|
+
loadOptionsMethod: 'getFields',
|
|
144
279
|
},
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
280
|
+
default: [],
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
displayName: 'JSON Body',
|
|
284
|
+
name: 'bodyJson',
|
|
285
|
+
type: 'json',
|
|
286
|
+
displayOptions: {
|
|
287
|
+
show: {
|
|
288
|
+
operation: ['create', 'update'],
|
|
289
|
+
bodyType: ['bodyJson'],
|
|
290
|
+
},
|
|
153
291
|
},
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
{
|
|
167
|
-
displayName: 'Value',
|
|
168
|
-
name: 'value',
|
|
169
|
-
type: 'string',
|
|
170
|
-
default: '',
|
|
171
|
-
description: 'Value of the field to set',
|
|
172
|
-
},
|
|
173
|
-
],
|
|
292
|
+
default: '',
|
|
293
|
+
placeholder: 'Body according to the collection\'s schema',
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
displayName: 'Binary Property Name',
|
|
297
|
+
name: 'binaryPropertyName',
|
|
298
|
+
type: 'string',
|
|
299
|
+
default: 'data',
|
|
300
|
+
displayOptions: {
|
|
301
|
+
show: {
|
|
302
|
+
operation: ['create', 'update'],
|
|
303
|
+
bodyType: ['binaryData'],
|
|
174
304
|
},
|
|
175
|
-
|
|
305
|
+
},
|
|
306
|
+
description: 'Name of the binary property which contains the data to be sent',
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
displayName: 'Binary Field Name',
|
|
310
|
+
name: 'binaryFieldName',
|
|
311
|
+
type: 'string',
|
|
312
|
+
default: '',
|
|
313
|
+
displayOptions: {
|
|
314
|
+
show: {
|
|
315
|
+
operation: ['create', 'update'],
|
|
316
|
+
bodyType: ['binaryData'],
|
|
317
|
+
},
|
|
318
|
+
},
|
|
319
|
+
description: 'Name of the binary field according to the collection\'s schema. If left empty, the binary data will be sent as a file attachment.',
|
|
176
320
|
}
|
|
177
321
|
],
|
|
178
322
|
};
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
const returnData = [];
|
|
183
|
-
const auth = await this.getCredentials('pocketBaseApi', 0);
|
|
184
|
-
const action = this.getNodeParameter('operation', 0);
|
|
185
|
-
const pb = new pocketbase_1.default(auth.url);
|
|
186
|
-
await pb.collection(auth.userCollection).authWithPassword(auth.username, auth.password);
|
|
187
|
-
if (!pb.authStore.isValid) {
|
|
188
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Authentication failed!`);
|
|
189
|
-
}
|
|
190
|
-
const collection = this.getNodeParameter('resource', 0);
|
|
191
|
-
for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
|
|
192
|
-
try {
|
|
193
|
-
let elementData;
|
|
194
|
-
switch (action) {
|
|
195
|
-
case 'search':
|
|
196
|
-
elementData = await handleSearch(pb, this, collection, itemIndex);
|
|
197
|
-
returnData.push(elementData);
|
|
198
|
-
break;
|
|
199
|
-
case 'view':
|
|
200
|
-
elementData = await handleView(pb, this, collection, itemIndex);
|
|
201
|
-
returnData.push(elementData);
|
|
202
|
-
break;
|
|
203
|
-
case 'update':
|
|
204
|
-
elementData = await handleUpdate(pb, this, collection, itemIndex);
|
|
205
|
-
returnData.push(elementData);
|
|
206
|
-
break;
|
|
207
|
-
case 'create':
|
|
208
|
-
elementData = await handleCreate(pb, this, collection, itemIndex);
|
|
209
|
-
returnData.push(elementData);
|
|
210
|
-
break;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
catch (error) {
|
|
214
|
-
if (this.continueOnFail()) {
|
|
215
|
-
const inputData = this.getInputData(itemIndex);
|
|
216
|
-
if (inputData && inputData.length > 0) {
|
|
217
|
-
items.push({ json: inputData[0].json, error, pairedItem: itemIndex });
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
items.push({ json: {}, error, pairedItem: itemIndex });
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Something went wrong:<br>${JSON.stringify(error.response)}`, { itemIndex });
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
return [this.helpers.returnJsonArray(returnData)];
|
|
323
|
+
this.methods = {
|
|
324
|
+
loadOptions: LoadOptions_1.LoadOptions,
|
|
325
|
+
};
|
|
229
326
|
}
|
|
230
327
|
}
|
|
231
328
|
exports.PocketBase = PocketBase;
|
|
232
|
-
async function handleSearch(pb, context, collection, itemIndex) {
|
|
233
|
-
const { page, elementsPerPage, ...parameters } = context.getNodeParameter('parameters', itemIndex);
|
|
234
|
-
const records = await pb.collection(collection).getList(page, elementsPerPage, parameters);
|
|
235
|
-
return {
|
|
236
|
-
...records
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
async function handleView(pb, context, collection, itemIndex) {
|
|
240
|
-
const elementId = context.getNodeParameter('elementId', itemIndex);
|
|
241
|
-
const record = await pb.collection(collection).getOne(elementId);
|
|
242
|
-
return record;
|
|
243
|
-
}
|
|
244
|
-
async function handleUpdate(pb, context, collection, itemIndex) {
|
|
245
|
-
const elementId = context.getNodeParameter('elementId', itemIndex);
|
|
246
|
-
const data = context.getNodeParameter('bodyParameters.parameters', itemIndex);
|
|
247
|
-
const record = await pb.collection(collection).update(elementId, prepareRequestBody(data));
|
|
248
|
-
return record;
|
|
249
|
-
}
|
|
250
|
-
async function handleCreate(pb, context, collection, itemIndex) {
|
|
251
|
-
const data = context.getNodeParameter('bodyParameters.parameters', itemIndex);
|
|
252
|
-
const record = await pb.collection(collection).create(prepareRequestBody(data));
|
|
253
|
-
return record;
|
|
254
|
-
}
|
|
255
|
-
const prepareRequestBody = (parameters) => {
|
|
256
|
-
return parameters.reduce((acc, entry) => {
|
|
257
|
-
acc[entry.name] = entry.value;
|
|
258
|
-
return acc;
|
|
259
|
-
}, {});
|
|
260
|
-
};
|
|
261
329
|
//# sourceMappingURL=PocketBase.node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PocketBase.node.js","sourceRoot":"","sources":["../../../nodes/PocketBase/PocketBase.node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PocketBase.node.js","sourceRoot":"","sources":["../../../nodes/PocketBase/PocketBase.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.prepareRequestBody = prepareRequestBody;
|
|
7
|
+
const form_data_1 = __importDefault(require("form-data"));
|
|
8
|
+
async function prepareRequestBody(requestOptions) {
|
|
9
|
+
const bodyType = this.getNodeParameter('bodyType', ['parameters']);
|
|
10
|
+
const formData = new form_data_1.default();
|
|
11
|
+
if (bodyType.includes('fields')) {
|
|
12
|
+
this.getNodeParameter('fields', {
|
|
13
|
+
assignments: [],
|
|
14
|
+
}).assignments.forEach(function ({ name, value }) {
|
|
15
|
+
formData.append(name, value);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
if (bodyType.includes('bodyJson')) {
|
|
19
|
+
Object.entries(requestOptions.body).forEach(([key, value]) => {
|
|
20
|
+
formData.append(key, value);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
if (bodyType.includes('binaryData')) {
|
|
24
|
+
await handleBinaryData.apply(this, [formData]);
|
|
25
|
+
}
|
|
26
|
+
if (!requestOptions.headers) {
|
|
27
|
+
requestOptions.headers = {};
|
|
28
|
+
}
|
|
29
|
+
requestOptions.headers['Content-Type'] = 'multipart/form-data';
|
|
30
|
+
requestOptions.body = formData;
|
|
31
|
+
this.logger.info(`Request URL: ${requestOptions.url} | ${JSON.stringify(requestOptions.body)}`);
|
|
32
|
+
return requestOptions;
|
|
33
|
+
}
|
|
34
|
+
async function handleBinaryData(formData) {
|
|
35
|
+
const binaryPropertyName = this.getNodeParameter('binaryPropertyName', undefined);
|
|
36
|
+
if (!binaryPropertyName) {
|
|
37
|
+
this.logger.info('No binary data to send. Skipping...');
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const binaryFieldName = this.getNodeParameter('binaryFieldName', undefined);
|
|
41
|
+
this.logger.info('Adding binary data to request formData from property: ' +
|
|
42
|
+
binaryPropertyName +
|
|
43
|
+
'\nat: ' +
|
|
44
|
+
binaryFieldName);
|
|
45
|
+
const binaryData = this.helpers.assertBinaryData(binaryPropertyName);
|
|
46
|
+
const dataBuffer = await this.helpers.getBinaryDataBuffer(binaryPropertyName);
|
|
47
|
+
formData.append(binaryFieldName, dataBuffer, {
|
|
48
|
+
contentType: binaryData.mimeType,
|
|
49
|
+
filename: binaryData.fileName,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=RequestBodyFunctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestBodyFunctions.js","sourceRoot":"","sources":["../../../nodes/PocketBase/RequestBodyFunctions.ts"],"names":[],"mappings":";;;;;AAQA,gDAqCC;AA5CD,0DAAiC;AAO1B,KAAK,UAAU,kBAAkB,CAEvC,cAAmC;IAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,CAAa,CAAC;IAE/E,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAEhC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAEhC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YAC/B,WAAW,EAAE,EAAE;SACf,CACD,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;YAC9C,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC5D,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACrC,MAAM,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC7B,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC;IAC7B,CAAC;IACD,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,qBAAqB,CAAC;IAE/D,cAAc,CAAC,IAAI,GAAG,QAAQ,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,cAAc,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhG,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAgC,QAAkB;IAChF,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,SAAS,CAAW,CAAC;IAE5F,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACxD,OAAO;IACR,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,SAAS,CAAW,CAAC;IACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,wDAAwD;QACvD,kBAAkB;QAClB,QAAQ;QACR,eAAe,CAChB,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAE9E,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,EAAE;QAC5C,WAAW,EAAE,UAAU,CAAC,QAAQ;QAChC,QAAQ,EAAE,UAAU,CAAC,QAAQ;KAC7B,CAAC,CAAC;AACJ,CAAC"}
|