n8n-nodes-pocketbase 1.1.0 → 2.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/README.md +19 -6
- package/dist/credentials/PocketbaseHttpApi.credentials.d.ts +1 -1
- package/dist/credentials/PocketbaseHttpApi.credentials.js +36 -41
- package/dist/credentials/PocketbaseHttpApi.credentials.js.map +1 -1
- package/dist/nodes/PocketbaseHttp/GenericFunctions.d.ts +1 -1
- package/dist/nodes/PocketbaseHttp/GenericFunctions.js +3 -3
- package/dist/nodes/PocketbaseHttp/GenericFunctions.js.map +1 -1
- package/dist/nodes/PocketbaseHttp/LoadOptions.d.ts +1 -1
- package/dist/nodes/PocketbaseHttp/LoadOptions.js +36 -27
- package/dist/nodes/PocketbaseHttp/LoadOptions.js.map +1 -1
- package/dist/nodes/PocketbaseHttp/PocketbaseAuth.d.ts +7 -0
- package/dist/nodes/PocketbaseHttp/PocketbaseAuth.js +50 -0
- package/dist/nodes/PocketbaseHttp/PocketbaseAuth.js.map +1 -0
- package/dist/nodes/PocketbaseHttp/PocketbaseHttp.node.d.ts +1 -1
- package/dist/nodes/PocketbaseHttp/PocketbaseHttp.node.js +114 -114
- package/dist/nodes/PocketbaseHttp/PocketbaseHttp.node.js.map +1 -1
- package/dist/nodes/PocketbaseHttp/RequestBodyFunctions.d.ts +1 -1
- package/dist/nodes/PocketbaseHttp/RequestBodyFunctions.js +25 -16
- package/dist/nodes/PocketbaseHttp/RequestBodyFunctions.js.map +1 -1
- package/dist/package.json +30 -18
- package/dist/tests/PocketbaseAuth.spec.d.ts +1 -0
- package/dist/tests/PocketbaseAuth.spec.js +75 -0
- package/dist/tests/PocketbaseAuth.spec.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vitest.config.d.ts +2 -0
- package/dist/vitest.config.js +11 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +30 -18
|
@@ -7,22 +7,22 @@ const LoadOptions_1 = require("./LoadOptions");
|
|
|
7
7
|
class PocketbaseHttp {
|
|
8
8
|
constructor() {
|
|
9
9
|
this.description = {
|
|
10
|
-
displayName:
|
|
11
|
-
name:
|
|
12
|
-
icon: { light:
|
|
13
|
-
group: [
|
|
10
|
+
displayName: "Pocketbase HTTP",
|
|
11
|
+
name: "pocketbaseHttp",
|
|
12
|
+
icon: { light: "file:pocketbaseHttp.svg", dark: "file:pocketbaseHttp.dark.svg" },
|
|
13
|
+
group: ["transform"],
|
|
14
14
|
version: 1,
|
|
15
15
|
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
|
|
16
|
-
description:
|
|
16
|
+
description: "Interact with the Pocketbase HTTP API",
|
|
17
17
|
defaults: {
|
|
18
|
-
name:
|
|
18
|
+
name: "Pocketbase HTTP",
|
|
19
19
|
},
|
|
20
20
|
usableAsTool: true,
|
|
21
21
|
inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
22
22
|
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
23
23
|
credentials: [
|
|
24
24
|
{
|
|
25
|
-
name:
|
|
25
|
+
name: "pocketbaseHttpApi",
|
|
26
26
|
required: true,
|
|
27
27
|
},
|
|
28
28
|
],
|
|
@@ -30,35 +30,35 @@ class PocketbaseHttp {
|
|
|
30
30
|
returnFullResponse: true,
|
|
31
31
|
baseURL: '={{$credentials.url.replace(new RegExp("/$"), "")}}',
|
|
32
32
|
headers: {
|
|
33
|
-
Accept:
|
|
34
|
-
|
|
33
|
+
Accept: "application/json",
|
|
34
|
+
"Content-Type": "application/json",
|
|
35
35
|
},
|
|
36
36
|
},
|
|
37
37
|
properties: [
|
|
38
38
|
{
|
|
39
|
-
displayName:
|
|
40
|
-
name:
|
|
41
|
-
type:
|
|
42
|
-
default:
|
|
39
|
+
displayName: "Collection Name or ID",
|
|
40
|
+
name: "resource",
|
|
41
|
+
type: "options",
|
|
42
|
+
default: "",
|
|
43
43
|
noDataExpression: true,
|
|
44
44
|
required: true,
|
|
45
45
|
typeOptions: {
|
|
46
|
-
loadOptionsMethod:
|
|
46
|
+
loadOptionsMethod: "getCollections",
|
|
47
47
|
},
|
|
48
48
|
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>.',
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
|
-
displayName:
|
|
52
|
-
name:
|
|
53
|
-
type:
|
|
51
|
+
displayName: "Operation",
|
|
52
|
+
name: "operation",
|
|
53
|
+
type: "options",
|
|
54
54
|
options: [
|
|
55
55
|
{
|
|
56
|
-
name:
|
|
57
|
-
value:
|
|
58
|
-
action:
|
|
56
|
+
name: "List/Search",
|
|
57
|
+
value: "search",
|
|
58
|
+
action: "List or search your collection",
|
|
59
59
|
routing: {
|
|
60
60
|
request: {
|
|
61
|
-
method:
|
|
61
|
+
method: "GET",
|
|
62
62
|
url: '=/api/collections/{{$parameter["resource"]}}/records',
|
|
63
63
|
},
|
|
64
64
|
output: {
|
|
@@ -72,12 +72,12 @@ class PocketbaseHttp {
|
|
|
72
72
|
},
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
|
-
name:
|
|
76
|
-
value:
|
|
77
|
-
action:
|
|
75
|
+
name: "View",
|
|
76
|
+
value: "view",
|
|
77
|
+
action: "View an element in your collection",
|
|
78
78
|
routing: {
|
|
79
79
|
request: {
|
|
80
|
-
method:
|
|
80
|
+
method: "GET",
|
|
81
81
|
url: `=/api/collections/{{$parameter["resource"]}}/records/{{$parameter["elementId"]}}`,
|
|
82
82
|
},
|
|
83
83
|
send: {
|
|
@@ -86,12 +86,12 @@ class PocketbaseHttp {
|
|
|
86
86
|
},
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
|
-
name:
|
|
90
|
-
value:
|
|
91
|
-
action:
|
|
89
|
+
name: "Create",
|
|
90
|
+
value: "create",
|
|
91
|
+
action: "Create an element in your collection",
|
|
92
92
|
routing: {
|
|
93
93
|
request: {
|
|
94
|
-
method:
|
|
94
|
+
method: "POST",
|
|
95
95
|
url: `=/api/collections/{{$parameter["resource"]}}/records`,
|
|
96
96
|
},
|
|
97
97
|
send: {
|
|
@@ -100,12 +100,12 @@ class PocketbaseHttp {
|
|
|
100
100
|
},
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
|
-
name:
|
|
104
|
-
value:
|
|
105
|
-
action:
|
|
103
|
+
name: "Update",
|
|
104
|
+
value: "update",
|
|
105
|
+
action: "Update an element in your collection",
|
|
106
106
|
routing: {
|
|
107
107
|
request: {
|
|
108
|
-
method:
|
|
108
|
+
method: "PATCH",
|
|
109
109
|
url: `=/api/collections/{{$parameter["resource"]}}/records/{{$parameter["elementId"]}}`,
|
|
110
110
|
},
|
|
111
111
|
send: {
|
|
@@ -114,61 +114,61 @@ class PocketbaseHttp {
|
|
|
114
114
|
},
|
|
115
115
|
},
|
|
116
116
|
],
|
|
117
|
-
default:
|
|
117
|
+
default: "search",
|
|
118
118
|
required: true,
|
|
119
119
|
noDataExpression: true,
|
|
120
120
|
},
|
|
121
121
|
{
|
|
122
|
-
displayName:
|
|
123
|
-
name:
|
|
124
|
-
type:
|
|
122
|
+
displayName: "Element Name or ID",
|
|
123
|
+
name: "elementId",
|
|
124
|
+
type: "options",
|
|
125
125
|
description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
|
|
126
126
|
typeOptions: {
|
|
127
|
-
loadOptionsDependsOn: [
|
|
128
|
-
loadOptionsMethod:
|
|
127
|
+
loadOptionsDependsOn: ["resource", "parameters.fields"],
|
|
128
|
+
loadOptionsMethod: "getRows",
|
|
129
129
|
},
|
|
130
|
-
default:
|
|
130
|
+
default: "",
|
|
131
131
|
displayOptions: {
|
|
132
132
|
show: {
|
|
133
|
-
operation: [
|
|
133
|
+
operation: ["view", "update"],
|
|
134
134
|
},
|
|
135
135
|
},
|
|
136
136
|
},
|
|
137
137
|
{
|
|
138
|
-
displayName:
|
|
139
|
-
name:
|
|
140
|
-
type:
|
|
138
|
+
displayName: "Parameters",
|
|
139
|
+
name: "parameters",
|
|
140
|
+
type: "collection",
|
|
141
141
|
default: {},
|
|
142
142
|
options: [
|
|
143
143
|
{
|
|
144
|
-
displayName:
|
|
145
|
-
name:
|
|
146
|
-
type:
|
|
144
|
+
displayName: "All Elements",
|
|
145
|
+
name: "allElements",
|
|
146
|
+
type: "boolean",
|
|
147
147
|
default: false,
|
|
148
148
|
},
|
|
149
149
|
{
|
|
150
|
-
displayName:
|
|
151
|
-
name:
|
|
152
|
-
type:
|
|
150
|
+
displayName: "Elements per Page",
|
|
151
|
+
name: "elementsPerPage",
|
|
152
|
+
type: "number",
|
|
153
153
|
typeOptions: {
|
|
154
154
|
minValue: 1,
|
|
155
155
|
},
|
|
156
156
|
default: 30,
|
|
157
157
|
routing: {
|
|
158
158
|
send: {
|
|
159
|
-
type:
|
|
160
|
-
property:
|
|
159
|
+
type: "query",
|
|
160
|
+
property: "perPage",
|
|
161
161
|
},
|
|
162
162
|
},
|
|
163
163
|
},
|
|
164
164
|
{
|
|
165
|
-
displayName:
|
|
165
|
+
displayName: "Expand Relations",
|
|
166
166
|
description: 'Choose from the list, or specify the Name using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
|
|
167
|
-
name:
|
|
168
|
-
type:
|
|
167
|
+
name: "relation",
|
|
168
|
+
type: "multiOptions",
|
|
169
169
|
default: [],
|
|
170
170
|
typeOptions: {
|
|
171
|
-
loadOptionsMethod:
|
|
171
|
+
loadOptionsMethod: "getRelations",
|
|
172
172
|
},
|
|
173
173
|
routing: {
|
|
174
174
|
request: {
|
|
@@ -179,12 +179,12 @@ class PocketbaseHttp {
|
|
|
179
179
|
},
|
|
180
180
|
},
|
|
181
181
|
{
|
|
182
|
-
displayName:
|
|
182
|
+
displayName: "Field Names",
|
|
183
183
|
description: 'Choose from the list, or specify Names using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
|
|
184
|
-
name:
|
|
185
|
-
type:
|
|
184
|
+
name: "fields",
|
|
185
|
+
type: "multiOptions",
|
|
186
186
|
typeOptions: {
|
|
187
|
-
loadOptionsMethod:
|
|
187
|
+
loadOptionsMethod: "getFields",
|
|
188
188
|
},
|
|
189
189
|
default: [],
|
|
190
190
|
routing: {
|
|
@@ -196,122 +196,122 @@ class PocketbaseHttp {
|
|
|
196
196
|
},
|
|
197
197
|
},
|
|
198
198
|
{
|
|
199
|
-
displayName:
|
|
200
|
-
name:
|
|
201
|
-
type:
|
|
202
|
-
default:
|
|
199
|
+
displayName: "Filter",
|
|
200
|
+
name: "filter",
|
|
201
|
+
type: "string",
|
|
202
|
+
default: "",
|
|
203
203
|
routing: {
|
|
204
204
|
send: {
|
|
205
|
-
type:
|
|
206
|
-
property:
|
|
205
|
+
type: "query",
|
|
206
|
+
property: "filter",
|
|
207
207
|
},
|
|
208
208
|
},
|
|
209
209
|
},
|
|
210
210
|
{
|
|
211
|
-
displayName:
|
|
212
|
-
name:
|
|
213
|
-
type:
|
|
211
|
+
displayName: "Page",
|
|
212
|
+
name: "page",
|
|
213
|
+
type: "number",
|
|
214
214
|
typeOptions: {
|
|
215
215
|
minValue: 1,
|
|
216
216
|
},
|
|
217
217
|
default: 1,
|
|
218
218
|
routing: {
|
|
219
219
|
send: {
|
|
220
|
-
type:
|
|
221
|
-
property:
|
|
220
|
+
type: "query",
|
|
221
|
+
property: "page",
|
|
222
222
|
},
|
|
223
223
|
},
|
|
224
224
|
},
|
|
225
225
|
{
|
|
226
|
-
displayName:
|
|
227
|
-
name:
|
|
228
|
-
type:
|
|
229
|
-
default:
|
|
226
|
+
displayName: "Sort",
|
|
227
|
+
name: "sort",
|
|
228
|
+
type: "string",
|
|
229
|
+
default: "",
|
|
230
230
|
routing: {
|
|
231
231
|
send: {
|
|
232
|
-
type:
|
|
233
|
-
property:
|
|
232
|
+
type: "query",
|
|
233
|
+
property: "sort",
|
|
234
234
|
},
|
|
235
235
|
},
|
|
236
236
|
},
|
|
237
237
|
],
|
|
238
238
|
},
|
|
239
239
|
{
|
|
240
|
-
displayName:
|
|
241
|
-
name:
|
|
242
|
-
type:
|
|
240
|
+
displayName: "Body Type",
|
|
241
|
+
name: "bodyType",
|
|
242
|
+
type: "multiOptions",
|
|
243
243
|
displayOptions: {
|
|
244
244
|
show: {
|
|
245
|
-
operation: [
|
|
245
|
+
operation: ["create", "update"],
|
|
246
246
|
},
|
|
247
247
|
},
|
|
248
|
-
default: [
|
|
248
|
+
default: ["fields"],
|
|
249
249
|
options: [
|
|
250
250
|
{
|
|
251
|
-
name:
|
|
252
|
-
value:
|
|
251
|
+
name: "Fields",
|
|
252
|
+
value: "fields",
|
|
253
253
|
},
|
|
254
254
|
{
|
|
255
|
-
name:
|
|
256
|
-
value:
|
|
255
|
+
name: "JSON Body",
|
|
256
|
+
value: "bodyJson",
|
|
257
257
|
},
|
|
258
258
|
{
|
|
259
|
-
name:
|
|
260
|
-
value:
|
|
259
|
+
name: "Binary Data",
|
|
260
|
+
value: "binaryData",
|
|
261
261
|
},
|
|
262
262
|
],
|
|
263
263
|
},
|
|
264
264
|
{
|
|
265
|
-
displayName:
|
|
266
|
-
name:
|
|
267
|
-
type:
|
|
265
|
+
displayName: "Fields",
|
|
266
|
+
name: "fields",
|
|
267
|
+
type: "assignmentCollection",
|
|
268
268
|
displayOptions: {
|
|
269
269
|
show: {
|
|
270
|
-
operation: [
|
|
271
|
-
bodyType: [
|
|
270
|
+
operation: ["create", "update"],
|
|
271
|
+
bodyType: ["fields"],
|
|
272
272
|
},
|
|
273
273
|
},
|
|
274
274
|
typeOptions: {
|
|
275
|
-
loadOptionsDependsOn: [
|
|
276
|
-
loadOptionsMethod:
|
|
275
|
+
loadOptionsDependsOn: ["resource"],
|
|
276
|
+
loadOptionsMethod: "getFields",
|
|
277
277
|
},
|
|
278
278
|
default: [],
|
|
279
279
|
},
|
|
280
280
|
{
|
|
281
|
-
displayName:
|
|
282
|
-
name:
|
|
283
|
-
type:
|
|
281
|
+
displayName: "JSON Body",
|
|
282
|
+
name: "bodyJson",
|
|
283
|
+
type: "json",
|
|
284
284
|
displayOptions: {
|
|
285
285
|
show: {
|
|
286
|
-
operation: [
|
|
287
|
-
bodyType: [
|
|
286
|
+
operation: ["create", "update"],
|
|
287
|
+
bodyType: ["bodyJson"],
|
|
288
288
|
},
|
|
289
289
|
},
|
|
290
|
-
default:
|
|
290
|
+
default: "",
|
|
291
291
|
placeholder: "Body according to the collection's schema",
|
|
292
292
|
},
|
|
293
293
|
{
|
|
294
|
-
displayName:
|
|
295
|
-
name:
|
|
296
|
-
type:
|
|
297
|
-
default:
|
|
294
|
+
displayName: "Binary Property Name",
|
|
295
|
+
name: "binaryPropertyName",
|
|
296
|
+
type: "string",
|
|
297
|
+
default: "data",
|
|
298
298
|
displayOptions: {
|
|
299
299
|
show: {
|
|
300
|
-
operation: [
|
|
301
|
-
bodyType: [
|
|
300
|
+
operation: ["create", "update"],
|
|
301
|
+
bodyType: ["binaryData"],
|
|
302
302
|
},
|
|
303
303
|
},
|
|
304
|
-
description:
|
|
304
|
+
description: "Name of the binary property which contains the data to be sent",
|
|
305
305
|
},
|
|
306
306
|
{
|
|
307
|
-
displayName:
|
|
308
|
-
name:
|
|
309
|
-
type:
|
|
310
|
-
default:
|
|
307
|
+
displayName: "Binary Field Name",
|
|
308
|
+
name: "binaryFieldName",
|
|
309
|
+
type: "string",
|
|
310
|
+
default: "",
|
|
311
311
|
displayOptions: {
|
|
312
312
|
show: {
|
|
313
|
-
operation: [
|
|
314
|
-
bodyType: [
|
|
313
|
+
operation: ["create", "update"],
|
|
314
|
+
bodyType: ["binaryData"],
|
|
315
315
|
},
|
|
316
316
|
},
|
|
317
317
|
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.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PocketbaseHttp.node.js","sourceRoot":"","sources":["../../../nodes/PocketbaseHttp/PocketbaseHttp.node.ts"],"names":[],"mappings":";;;AAAA,+CAA8F;AAC9F,yDAM4B;AAC5B,+CAA4C;AAE5C,MAAa,cAAc;IAA3B;
|
|
1
|
+
{"version":3,"file":"PocketbaseHttp.node.js","sourceRoot":"","sources":["../../../nodes/PocketbaseHttp/PocketbaseHttp.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { IExecuteSingleFunctions, IHttpRequestOptions } from
|
|
1
|
+
import { IExecuteSingleFunctions, IHttpRequestOptions } from "n8n-workflow";
|
|
2
2
|
export declare function prepareRequestBody(this: IExecuteSingleFunctions, requestOptions: IHttpRequestOptions): Promise<IHttpRequestOptions>;
|
|
@@ -6,42 +6,51 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.prepareRequestBody = prepareRequestBody;
|
|
7
7
|
const form_data_1 = __importDefault(require("form-data"));
|
|
8
8
|
async function prepareRequestBody(requestOptions) {
|
|
9
|
-
var _a, _b;
|
|
10
|
-
const bodyType = this.getNodeParameter(
|
|
9
|
+
var _a, _b, _c;
|
|
10
|
+
const bodyType = this.getNodeParameter("bodyType", ["parameters"]);
|
|
11
11
|
const formData = new form_data_1.default();
|
|
12
|
-
if (bodyType.includes(
|
|
13
|
-
(_b = (_a = this.getNodeParameter(
|
|
12
|
+
if (bodyType.includes("fields")) {
|
|
13
|
+
(_b = (_a = this.getNodeParameter("fields", {
|
|
14
14
|
assignments: [],
|
|
15
15
|
})) === null || _a === void 0 ? void 0 : _a.assignments) === null || _b === void 0 ? void 0 : _b.forEach(function ({ name, value }) {
|
|
16
16
|
formData.append(name, value);
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
|
-
if (bodyType.includes(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
if (bodyType.includes("bodyJson")) {
|
|
20
|
+
if (typeof requestOptions.body === "object" && requestOptions.body !== null) {
|
|
21
|
+
Object.entries(requestOptions.body).forEach(([key, value]) => {
|
|
22
|
+
formData.append(key, value);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
else if (requestOptions.body !== undefined) {
|
|
26
|
+
formData.append("body", requestOptions.body);
|
|
27
|
+
}
|
|
23
28
|
}
|
|
24
|
-
if (bodyType.includes(
|
|
29
|
+
if (bodyType.includes("binaryData")) {
|
|
25
30
|
await handleBinaryData.apply(this, [formData]);
|
|
26
31
|
}
|
|
27
32
|
if (!requestOptions.headers) {
|
|
28
33
|
requestOptions.headers = {};
|
|
29
34
|
}
|
|
30
|
-
requestOptions.headers
|
|
35
|
+
Object.assign(requestOptions.headers, formData.getHeaders());
|
|
31
36
|
requestOptions.body = formData;
|
|
32
|
-
|
|
37
|
+
const isMultipart = requestOptions.body instanceof form_data_1.default ||
|
|
38
|
+
(requestOptions.headers &&
|
|
39
|
+
((_c = requestOptions.headers["content-type"]) === null || _c === void 0 ? void 0 : _c.toString().includes("multipart")));
|
|
40
|
+
const loggedBody = isMultipart ? "[multipart body omitted]" : JSON.stringify(requestOptions.body);
|
|
41
|
+
this.logger.info(`Request URL: ${requestOptions.url} | ${loggedBody}`);
|
|
33
42
|
return requestOptions;
|
|
34
43
|
}
|
|
35
44
|
async function handleBinaryData(formData) {
|
|
36
|
-
const binaryPropertyName = this.getNodeParameter(
|
|
45
|
+
const binaryPropertyName = this.getNodeParameter("binaryPropertyName", undefined);
|
|
37
46
|
if (!binaryPropertyName) {
|
|
38
|
-
this.logger.info(
|
|
47
|
+
this.logger.info("No binary data to send. Skipping...");
|
|
39
48
|
return;
|
|
40
49
|
}
|
|
41
|
-
const binaryFieldName = this.getNodeParameter(
|
|
42
|
-
this.logger.info(
|
|
50
|
+
const binaryFieldName = this.getNodeParameter("binaryFieldName", undefined);
|
|
51
|
+
this.logger.info("Adding binary data to request formData from property: " +
|
|
43
52
|
binaryPropertyName +
|
|
44
|
-
|
|
53
|
+
"\nat: " +
|
|
45
54
|
binaryFieldName);
|
|
46
55
|
const binaryData = this.helpers.assertBinaryData(binaryPropertyName);
|
|
47
56
|
const dataBuffer = await this.helpers.getBinaryDataBuffer(binaryPropertyName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestBodyFunctions.js","sourceRoot":"","sources":["../../../nodes/PocketbaseHttp/RequestBodyFunctions.ts"],"names":[],"mappings":";;;;;AAQA,
|
|
1
|
+
{"version":3,"file":"RequestBodyFunctions.js","sourceRoot":"","sources":["../../../nodes/PocketbaseHttp/RequestBodyFunctions.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-pocketbase",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Interact with your PocketBase instance",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"homepage": "",
|
|
7
5
|
"keywords": [
|
|
8
6
|
"n8n-community-node-package"
|
|
9
7
|
],
|
|
8
|
+
"homepage": "https://github.com/TheFehr/n8n-nodes-pocketbase#readme",
|
|
9
|
+
"license": "MIT",
|
|
10
10
|
"author": {
|
|
11
11
|
"name": "Philipp Fehr",
|
|
12
12
|
"email": "philipp@thefehr.ch"
|
|
@@ -15,18 +15,39 @@
|
|
|
15
15
|
"type": "git",
|
|
16
16
|
"url": "git+https://github.com/TheFehr/n8n-nodes-pocketbase.git"
|
|
17
17
|
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist"
|
|
20
|
+
],
|
|
18
21
|
"scripts": {
|
|
19
22
|
"build": "n8n-node build",
|
|
20
23
|
"build:watch": "tsc --watch",
|
|
21
24
|
"dev": "n8n-node dev",
|
|
22
|
-
"lint": "
|
|
23
|
-
"lint:fix": "
|
|
25
|
+
"lint": "oxlint",
|
|
26
|
+
"lint:fix": "oxlint --fix",
|
|
27
|
+
"format": "oxfmt .",
|
|
28
|
+
"format:check": "oxfmt --check .",
|
|
29
|
+
"test": "vitest",
|
|
30
|
+
"test:run": "vitest run",
|
|
31
|
+
"test:pipeline": "bash scripts/full-test.sh",
|
|
32
|
+
"version:update": "tsx scripts/update-versions.ts",
|
|
33
|
+
"version:check": "tsx scripts/update-versions.ts --check",
|
|
24
34
|
"release": "n8n-node release",
|
|
25
35
|
"prepublishOnly": "n8n-node prerelease"
|
|
26
36
|
},
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@n8n/node-cli": "^0.19.0",
|
|
39
|
+
"eslint-plugin-n8n-nodes-base": "^1.16.6",
|
|
40
|
+
"oxfmt": "^0.45.0",
|
|
41
|
+
"oxlint": "^1.60.0",
|
|
42
|
+
"release-it": "^19.0.4",
|
|
43
|
+
"tsx": "^4.21.0",
|
|
44
|
+
"typescript": "5.9.3",
|
|
45
|
+
"vite": "^8.0.8",
|
|
46
|
+
"vitest": "^4.1.4"
|
|
47
|
+
},
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"n8n-workflow": "^2.15.1"
|
|
50
|
+
},
|
|
30
51
|
"n8n": {
|
|
31
52
|
"n8nNodesApiVersion": 1,
|
|
32
53
|
"strict": true,
|
|
@@ -37,14 +58,5 @@
|
|
|
37
58
|
"dist/nodes/PocketbaseHttp/PocketbaseHttp.node.js"
|
|
38
59
|
]
|
|
39
60
|
},
|
|
40
|
-
"
|
|
41
|
-
"@n8n/node-cli": "*",
|
|
42
|
-
"eslint": "9.32.0",
|
|
43
|
-
"prettier": "3.6.2",
|
|
44
|
-
"release-it": "^19.0.4",
|
|
45
|
-
"typescript": "5.9.2"
|
|
46
|
-
},
|
|
47
|
-
"peerDependencies": {
|
|
48
|
-
"n8n-workflow": "*"
|
|
49
|
-
}
|
|
61
|
+
"pocketbaseVersion": "0.36.9"
|
|
50
62
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|