@skriptfabrik/n8n-nodes-fulfillmenttools 0.1.2 → 0.1.3
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/CHANGELOG.md +14 -0
- package/package.json +5 -4
- package/src/credentials/FulfillmenttoolsApi.credentials.d.ts +13 -0
- package/src/credentials/FulfillmenttoolsApi.credentials.js +126 -0
- package/src/credentials/FulfillmenttoolsApi.credentials.js.map +1 -0
- package/src/nodes/Fulfillmenttools/Fulfillmenttools.node.d.ts +5 -0
- package/src/nodes/Fulfillmenttools/Fulfillmenttools.node.js +174 -0
- package/src/nodes/Fulfillmenttools/Fulfillmenttools.node.js.map +1 -0
- package/src/nodes/Fulfillmenttools/FulfillmenttoolsTrigger.node.d.ts +12 -0
- package/src/nodes/Fulfillmenttools/FulfillmenttoolsTrigger.node.js +330 -0
- package/src/nodes/Fulfillmenttools/FulfillmenttoolsTrigger.node.js.map +1 -0
- package/src/nodes/Fulfillmenttools/GenericFunctions.d.ts +3 -0
- package/src/nodes/Fulfillmenttools/GenericFunctions.js +90 -0
- package/src/nodes/Fulfillmenttools/GenericFunctions.js.map +1 -0
- package/src/nodes/Fulfillmenttools/descriptions/FacilityCarrierDescription.d.ts +3 -0
- package/src/nodes/Fulfillmenttools/descriptions/FacilityCarrierDescription.js +322 -0
- package/src/nodes/Fulfillmenttools/descriptions/FacilityCarrierDescription.js.map +1 -0
- package/src/nodes/Fulfillmenttools/descriptions/FacilityDescription.d.ts +3 -0
- package/src/nodes/Fulfillmenttools/descriptions/FacilityDescription.js +610 -0
- package/src/nodes/Fulfillmenttools/descriptions/FacilityDescription.js.map +1 -0
- package/src/nodes/Fulfillmenttools/descriptions/OrderDescription.d.ts +3 -0
- package/src/nodes/Fulfillmenttools/descriptions/OrderDescription.js +328 -0
- package/src/nodes/Fulfillmenttools/descriptions/OrderDescription.js.map +1 -0
- package/.eslintignore +0 -1
- package/.eslintrc.json +0 -30
- package/jest.config.ts +0 -11
- package/project.json +0 -37
- package/src/api.d.ts +0 -37084
- package/src/credentials/FulfillmenttoolsApi.credentials.spec.ts +0 -101
- package/src/credentials/FulfillmenttoolsApi.credentials.ts +0 -166
- package/src/nodes/Fulfillmenttools/Fulfillmenttools.node.spec.ts +0 -1149
- package/src/nodes/Fulfillmenttools/Fulfillmenttools.node.ts +0 -390
- package/src/nodes/Fulfillmenttools/FulfillmenttoolsTrigger.node.spec.ts +0 -386
- package/src/nodes/Fulfillmenttools/FulfillmenttoolsTrigger.node.ts +0 -396
- package/src/nodes/Fulfillmenttools/GenericFunctions.spec.ts +0 -279
- package/src/nodes/Fulfillmenttools/GenericFunctions.ts +0 -156
- package/src/nodes/Fulfillmenttools/descriptions/FacilityCarrierDescription.ts +0 -335
- package/src/nodes/Fulfillmenttools/descriptions/FacilityDescription.ts +0 -621
- package/src/nodes/Fulfillmenttools/descriptions/OrderDescription.ts +0 -338
- package/tsconfig.json +0 -22
- package/tsconfig.lib.json +0 -10
- package/tsconfig.spec.json +0 -13
@@ -0,0 +1,330 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.FulfillmenttoolsTrigger = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const GenericFunctions_1 = require("./GenericFunctions");
|
6
|
+
var FulfillmenttoolsEvents;
|
7
|
+
(function (FulfillmenttoolsEvents) {
|
8
|
+
FulfillmenttoolsEvents["ORDER_CREATED"] = "ORDER_CREATED";
|
9
|
+
FulfillmenttoolsEvents["ORDER_CANCELED"] = "ORDER_CANCELED";
|
10
|
+
FulfillmenttoolsEvents["ORDER_UNLOCKED"] = "ORDER_UNLOCKED";
|
11
|
+
FulfillmenttoolsEvents["INVENTORY_FACILITY_STOCK_CHANGED"] = "INVENTORY_FACILITY_STOCK_CHANGED";
|
12
|
+
FulfillmenttoolsEvents["INBOUND_DELIVERY_RECEIVED"] = "INBOUND_DELIVERY_RECEIVED";
|
13
|
+
FulfillmenttoolsEvents["INBOUND_DELIVERY_FINISHED"] = "INBOUND_DELIVERY_FINISHED";
|
14
|
+
FulfillmenttoolsEvents["INBOUND_DELIVERY_ON_HOLD"] = "INBOUND_DELIVERY_ON_HOLD";
|
15
|
+
FulfillmenttoolsEvents["ROUTING_PLAN_SPLITTED"] = "ROUTING_PLAN_SPLITTED";
|
16
|
+
FulfillmenttoolsEvents["ROUTING_PLAN_WAITING"] = "ROUTING_PLAN_WAITING";
|
17
|
+
FulfillmenttoolsEvents["ROUTING_PLAN_FALLBACK"] = "ROUTING_PLAN_FALLBACK";
|
18
|
+
FulfillmenttoolsEvents["ROUTING_PLAN_ROUTED"] = "ROUTING_PLAN_ROUTED";
|
19
|
+
FulfillmenttoolsEvents["ROUTING_PLAN_REROUTEPLAN_CREATED"] = "ROUTING_PLAN_REROUTEPLAN_CREATED";
|
20
|
+
FulfillmenttoolsEvents["ROUTING_PLAN_NOT_ROUTABLE"] = "ROUTING_PLAN_NOT_ROUTABLE";
|
21
|
+
FulfillmenttoolsEvents["FACILITY_CREATED"] = "FACILITY_CREATED";
|
22
|
+
FulfillmenttoolsEvents["FACILITY_UPDATED"] = "FACILITY_UPDATED";
|
23
|
+
FulfillmenttoolsEvents["FACILITY_DELETED"] = "FACILITY_DELETED";
|
24
|
+
FulfillmenttoolsEvents["PICK_JOB_CREATED"] = "PICK_JOB_CREATED";
|
25
|
+
FulfillmenttoolsEvents["PICK_JOB_PICKING_COMMENCED"] = "PICK_JOB_PICKING_COMMENCED";
|
26
|
+
FulfillmenttoolsEvents["PICK_JOB_PICKING_PAUSED"] = "PICK_JOB_PICKING_PAUSED";
|
27
|
+
FulfillmenttoolsEvents["PICK_JOB_PICKING_FINISHED"] = "PICK_JOB_PICKING_FINISHED";
|
28
|
+
FulfillmenttoolsEvents["PICK_JOB_PICK_LINE_PICKED"] = "PICK_JOB_PICK_LINE_PICKED";
|
29
|
+
FulfillmenttoolsEvents["PICK_JOB_REROUTED"] = "PICK_JOB_REROUTED";
|
30
|
+
FulfillmenttoolsEvents["PICK_JOB_RESET"] = "PICK_JOB_RESET";
|
31
|
+
FulfillmenttoolsEvents["PICK_JOB_ABORTED"] = "PICK_JOB_ABORTED";
|
32
|
+
FulfillmenttoolsEvents["PACK_JOB_CREATED"] = "PACK_JOB_CREATED";
|
33
|
+
FulfillmenttoolsEvents["PACK_JOB_UPDATED"] = "PACK_JOB_UPDATED";
|
34
|
+
FulfillmenttoolsEvents["HANDOVERJOB_CREATED"] = "HANDOVERJOB_CREATED";
|
35
|
+
FulfillmenttoolsEvents["HANDOVERJOB_HANDED_OVER"] = "HANDOVERJOB_HANDED_OVER";
|
36
|
+
FulfillmenttoolsEvents["HANDOVERJOB_REVERTED"] = "HANDOVERJOB_REVERTED";
|
37
|
+
FulfillmenttoolsEvents["HANDOVERJOB_CANCELED"] = "HANDOVERJOB_CANCELED";
|
38
|
+
FulfillmenttoolsEvents["PARCEL_CARRIER_REQUESTED"] = "PARCEL_CARRIER_REQUESTED";
|
39
|
+
FulfillmenttoolsEvents["PARCEL_CARRIER_FAILED"] = "PARCEL_CARRIER_FAILED";
|
40
|
+
FulfillmenttoolsEvents["PARCEL_CARRIER_ACKNOWLEDGED"] = "PARCEL_CARRIER_ACKNOWLEDGED";
|
41
|
+
FulfillmenttoolsEvents["RETURN_CREATED"] = "RETURN_CREATED";
|
42
|
+
FulfillmenttoolsEvents["RETURN_CLAIMED"] = "RETURN_CLAIMED";
|
43
|
+
FulfillmenttoolsEvents["RETURN_CLOSED"] = "RETURN_CLOSED";
|
44
|
+
FulfillmenttoolsEvents["RETURN_CANCELED"] = "RETURN_CANCELED";
|
45
|
+
FulfillmenttoolsEvents["RETURN_UPDATED"] = "RETURN_UPDATED";
|
46
|
+
})(FulfillmenttoolsEvents || (FulfillmenttoolsEvents = {}));
|
47
|
+
class FulfillmenttoolsTrigger {
|
48
|
+
constructor() {
|
49
|
+
this.description = {
|
50
|
+
name: 'fulfillmenttoolsTrigger',
|
51
|
+
displayName: 'fulfillmenttools Trigger',
|
52
|
+
icon: 'file:icons/fulfillmenttools.svg',
|
53
|
+
group: ['trigger'],
|
54
|
+
version: 1,
|
55
|
+
subtitle: '={{$parameter["event"].toLowerCase().split("_").join(" ")}}',
|
56
|
+
description: 'Listen to fulfillmenttools events',
|
57
|
+
defaults: {
|
58
|
+
name: 'fulfillmenttools Trigger',
|
59
|
+
},
|
60
|
+
inputs: [],
|
61
|
+
outputs: ['main'],
|
62
|
+
credentials: [
|
63
|
+
{
|
64
|
+
name: 'fulfillmenttoolsApi',
|
65
|
+
required: true,
|
66
|
+
},
|
67
|
+
],
|
68
|
+
webhooks: [
|
69
|
+
{
|
70
|
+
name: 'default',
|
71
|
+
httpMethod: 'POST',
|
72
|
+
responseMode: 'onReceived',
|
73
|
+
path: 'webhook',
|
74
|
+
},
|
75
|
+
],
|
76
|
+
properties: [
|
77
|
+
{
|
78
|
+
displayName: 'Event',
|
79
|
+
name: 'event',
|
80
|
+
type: 'options',
|
81
|
+
noDataExpression: true,
|
82
|
+
options: [
|
83
|
+
{
|
84
|
+
name: 'Order Created',
|
85
|
+
value: FulfillmenttoolsEvents.ORDER_CREATED,
|
86
|
+
},
|
87
|
+
{
|
88
|
+
name: 'Order Canceled',
|
89
|
+
value: FulfillmenttoolsEvents.ORDER_CANCELED,
|
90
|
+
},
|
91
|
+
{
|
92
|
+
name: 'Order Unlocked',
|
93
|
+
value: FulfillmenttoolsEvents.ORDER_UNLOCKED,
|
94
|
+
},
|
95
|
+
{
|
96
|
+
name: 'Inventory Facility Stock Changed',
|
97
|
+
value: FulfillmenttoolsEvents.INVENTORY_FACILITY_STOCK_CHANGED,
|
98
|
+
},
|
99
|
+
{
|
100
|
+
name: 'Inbound Delivery Received',
|
101
|
+
value: FulfillmenttoolsEvents.INBOUND_DELIVERY_RECEIVED,
|
102
|
+
},
|
103
|
+
{
|
104
|
+
name: 'Inbound Delivery Finished',
|
105
|
+
value: FulfillmenttoolsEvents.INBOUND_DELIVERY_FINISHED,
|
106
|
+
},
|
107
|
+
{
|
108
|
+
name: 'Inbound Delivery On Hold',
|
109
|
+
value: FulfillmenttoolsEvents.INBOUND_DELIVERY_ON_HOLD,
|
110
|
+
},
|
111
|
+
{
|
112
|
+
name: 'Routing Plan Splitted',
|
113
|
+
value: FulfillmenttoolsEvents.ROUTING_PLAN_SPLITTED,
|
114
|
+
},
|
115
|
+
{
|
116
|
+
name: 'Routing Plan Waiting',
|
117
|
+
value: FulfillmenttoolsEvents.ROUTING_PLAN_WAITING,
|
118
|
+
},
|
119
|
+
{
|
120
|
+
name: 'Routing Plan Fallback',
|
121
|
+
value: FulfillmenttoolsEvents.ROUTING_PLAN_FALLBACK,
|
122
|
+
},
|
123
|
+
{
|
124
|
+
name: 'Routing Plan Routed',
|
125
|
+
value: FulfillmenttoolsEvents.ROUTING_PLAN_ROUTED,
|
126
|
+
},
|
127
|
+
{
|
128
|
+
name: 'Routing Plan Rerouteplan Created',
|
129
|
+
value: FulfillmenttoolsEvents.ROUTING_PLAN_REROUTEPLAN_CREATED,
|
130
|
+
},
|
131
|
+
{
|
132
|
+
name: 'Routing Plan Not Routable',
|
133
|
+
value: FulfillmenttoolsEvents.ROUTING_PLAN_NOT_ROUTABLE,
|
134
|
+
},
|
135
|
+
{
|
136
|
+
name: 'Facility Created',
|
137
|
+
value: FulfillmenttoolsEvents.FACILITY_CREATED,
|
138
|
+
},
|
139
|
+
{
|
140
|
+
name: 'Facility Updated',
|
141
|
+
value: FulfillmenttoolsEvents.FACILITY_UPDATED,
|
142
|
+
},
|
143
|
+
{
|
144
|
+
name: 'Facility Deleted',
|
145
|
+
value: FulfillmenttoolsEvents.FACILITY_DELETED,
|
146
|
+
},
|
147
|
+
{
|
148
|
+
name: 'Pick Job Created',
|
149
|
+
value: FulfillmenttoolsEvents.PICK_JOB_CREATED,
|
150
|
+
},
|
151
|
+
{
|
152
|
+
name: 'Pick Job Picking Commenced',
|
153
|
+
value: FulfillmenttoolsEvents.PICK_JOB_PICKING_COMMENCED,
|
154
|
+
},
|
155
|
+
{
|
156
|
+
name: 'Pick Job Picking Paused',
|
157
|
+
value: FulfillmenttoolsEvents.PICK_JOB_PICKING_PAUSED,
|
158
|
+
},
|
159
|
+
{
|
160
|
+
name: 'Pick Job Picking Finished',
|
161
|
+
value: FulfillmenttoolsEvents.PICK_JOB_PICKING_FINISHED,
|
162
|
+
},
|
163
|
+
{
|
164
|
+
name: 'Pick Job Pick Line Picked',
|
165
|
+
value: FulfillmenttoolsEvents.PICK_JOB_PICK_LINE_PICKED,
|
166
|
+
},
|
167
|
+
{
|
168
|
+
name: 'Pick Job Rerouted',
|
169
|
+
value: FulfillmenttoolsEvents.PICK_JOB_REROUTED,
|
170
|
+
},
|
171
|
+
{
|
172
|
+
name: 'Pick Job Reset',
|
173
|
+
value: FulfillmenttoolsEvents.PICK_JOB_RESET,
|
174
|
+
},
|
175
|
+
{
|
176
|
+
name: 'Pick Job Aborted',
|
177
|
+
value: FulfillmenttoolsEvents.PICK_JOB_ABORTED,
|
178
|
+
},
|
179
|
+
{
|
180
|
+
name: 'Pack Job Created',
|
181
|
+
value: FulfillmenttoolsEvents.PACK_JOB_CREATED,
|
182
|
+
},
|
183
|
+
{
|
184
|
+
name: 'Pack Job Updated',
|
185
|
+
value: FulfillmenttoolsEvents.PACK_JOB_UPDATED,
|
186
|
+
},
|
187
|
+
{
|
188
|
+
name: 'Handoverjob Created',
|
189
|
+
value: FulfillmenttoolsEvents.HANDOVERJOB_CREATED,
|
190
|
+
},
|
191
|
+
{
|
192
|
+
name: 'Handoverjob Handed Over',
|
193
|
+
value: FulfillmenttoolsEvents.HANDOVERJOB_HANDED_OVER,
|
194
|
+
},
|
195
|
+
{
|
196
|
+
name: 'Handoverjob Reverted',
|
197
|
+
value: FulfillmenttoolsEvents.HANDOVERJOB_REVERTED,
|
198
|
+
},
|
199
|
+
{
|
200
|
+
name: 'Handoverjob Canceled',
|
201
|
+
value: FulfillmenttoolsEvents.HANDOVERJOB_CANCELED,
|
202
|
+
},
|
203
|
+
{
|
204
|
+
name: 'Parcel Carrier Requested',
|
205
|
+
value: FulfillmenttoolsEvents.PARCEL_CARRIER_REQUESTED,
|
206
|
+
},
|
207
|
+
{
|
208
|
+
name: 'Parcel Carrier Failed',
|
209
|
+
value: FulfillmenttoolsEvents.PARCEL_CARRIER_FAILED,
|
210
|
+
},
|
211
|
+
{
|
212
|
+
name: 'Parcel Carrier Acknowledged',
|
213
|
+
value: FulfillmenttoolsEvents.PARCEL_CARRIER_ACKNOWLEDGED,
|
214
|
+
},
|
215
|
+
{
|
216
|
+
name: 'Return Created',
|
217
|
+
value: FulfillmenttoolsEvents.RETURN_CREATED,
|
218
|
+
},
|
219
|
+
{
|
220
|
+
name: 'Return Claimed',
|
221
|
+
value: FulfillmenttoolsEvents.RETURN_CLAIMED,
|
222
|
+
},
|
223
|
+
{
|
224
|
+
name: 'Return Closed',
|
225
|
+
value: FulfillmenttoolsEvents.RETURN_CLOSED,
|
226
|
+
},
|
227
|
+
{
|
228
|
+
name: 'Return Canceled',
|
229
|
+
value: FulfillmenttoolsEvents.RETURN_CANCELED,
|
230
|
+
},
|
231
|
+
{
|
232
|
+
name: 'Return Updated',
|
233
|
+
value: FulfillmenttoolsEvents.RETURN_UPDATED,
|
234
|
+
},
|
235
|
+
],
|
236
|
+
default: FulfillmenttoolsEvents.ORDER_CREATED.toString(),
|
237
|
+
},
|
238
|
+
],
|
239
|
+
};
|
240
|
+
this.webhookMethods = {
|
241
|
+
default: {
|
242
|
+
checkExists() {
|
243
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
244
|
+
const callbackUrl = this.getNodeWebhookUrl('default');
|
245
|
+
const staticData = this.getWorkflowStaticData('node');
|
246
|
+
const responseData = (yield GenericFunctions_1.fulfillmenttoolsApiRequest.call(this, 'GET', '/subscriptions'));
|
247
|
+
for (const subscription of responseData.subscriptions) {
|
248
|
+
if (subscription.callbackUrl === callbackUrl) {
|
249
|
+
staticData.subscriptionId = subscription.id;
|
250
|
+
return true;
|
251
|
+
}
|
252
|
+
}
|
253
|
+
return false;
|
254
|
+
});
|
255
|
+
},
|
256
|
+
create() {
|
257
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
258
|
+
const callbackUrl = this.getNodeWebhookUrl('default');
|
259
|
+
const event = this.getNodeParameter('event');
|
260
|
+
const credentials = (yield this.getCredentials('fulfillmenttoolsApi'));
|
261
|
+
const staticData = this.getWorkflowStaticData('node');
|
262
|
+
const responseData = (yield GenericFunctions_1.fulfillmenttoolsApiRequest.call(this, 'POST', '/subscriptions', {
|
263
|
+
callbackUrl,
|
264
|
+
event,
|
265
|
+
name: `${event}`.split('_').join(' ').toLowerCase(),
|
266
|
+
headers: [
|
267
|
+
{
|
268
|
+
key: 'user-agent',
|
269
|
+
value: `${credentials.subDomain}/1.0`,
|
270
|
+
},
|
271
|
+
{
|
272
|
+
key: 'x-fulfillmenttools-event',
|
273
|
+
value: event,
|
274
|
+
},
|
275
|
+
{
|
276
|
+
key: 'x-fulfillmenttools-token',
|
277
|
+
value: credentials.webhookToken,
|
278
|
+
},
|
279
|
+
],
|
280
|
+
}));
|
281
|
+
if (responseData.id === undefined) {
|
282
|
+
return false;
|
283
|
+
}
|
284
|
+
staticData.subscriptionId = responseData.id;
|
285
|
+
return true;
|
286
|
+
});
|
287
|
+
},
|
288
|
+
delete() {
|
289
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
290
|
+
const staticData = this.getWorkflowStaticData('node');
|
291
|
+
if (staticData.subscriptionId === undefined) {
|
292
|
+
return true;
|
293
|
+
}
|
294
|
+
try {
|
295
|
+
yield GenericFunctions_1.fulfillmenttoolsApiRequest.call(this, 'DELETE', `/subscriptions/${staticData.subscriptionId}`);
|
296
|
+
}
|
297
|
+
catch (error) {
|
298
|
+
return false;
|
299
|
+
}
|
300
|
+
delete staticData.subscriptionId;
|
301
|
+
return true;
|
302
|
+
});
|
303
|
+
},
|
304
|
+
},
|
305
|
+
};
|
306
|
+
}
|
307
|
+
webhook() {
|
308
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
309
|
+
const headerData = this.getHeaderData();
|
310
|
+
if (headerData['x-fulfillmenttools-event'] === undefined ||
|
311
|
+
headerData['x-fulfillmenttools-token'] === undefined) {
|
312
|
+
return {};
|
313
|
+
}
|
314
|
+
const event = this.getNodeParameter('event');
|
315
|
+
if (headerData['x-fulfillmenttools-event'] !== event) {
|
316
|
+
return {};
|
317
|
+
}
|
318
|
+
const credentials = (yield this.getCredentials('fulfillmenttoolsApi'));
|
319
|
+
if (headerData['x-fulfillmenttools-token'] !== credentials.webhookToken) {
|
320
|
+
return {};
|
321
|
+
}
|
322
|
+
const req = this.getRequestObject();
|
323
|
+
return {
|
324
|
+
workflowData: [this.helpers.returnJsonArray(req.body)],
|
325
|
+
};
|
326
|
+
});
|
327
|
+
}
|
328
|
+
}
|
329
|
+
exports.FulfillmenttoolsTrigger = FulfillmenttoolsTrigger;
|
330
|
+
//# sourceMappingURL=FulfillmenttoolsTrigger.node.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"FulfillmenttoolsTrigger.node.js","sourceRoot":"","sources":["../../../../../../nodes/fulfillmenttools/src/nodes/Fulfillmenttools/FulfillmenttoolsTrigger.node.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import type { IDataObject, IExecuteFunctions, IHttpRequestMethods, IHookFunctions, ILoadOptionsFunctions, IPollFunctions } from 'n8n-workflow';
|
2
|
+
export declare function fulfillmenttoolsApiRequest(this: IExecuteFunctions | IHookFunctions | ILoadOptionsFunctions | IPollFunctions, method: IHttpRequestMethods, url: string, body?: IDataObject, qs?: IDataObject): Promise<IDataObject>;
|
3
|
+
export declare function fulfillmenttoolsApiRequestAllItems<T extends string | undefined>(this: IExecuteFunctions | IHookFunctions | ILoadOptionsFunctions | IPollFunctions, resource: T, method: IHttpRequestMethods, url: string, body?: IDataObject, qs?: IDataObject): Promise<IDataObject[]>;
|
@@ -0,0 +1,90 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.fulfillmenttoolsApiRequest = fulfillmenttoolsApiRequest;
|
4
|
+
exports.fulfillmenttoolsApiRequestAllItems = fulfillmenttoolsApiRequestAllItems;
|
5
|
+
const tslib_1 = require("tslib");
|
6
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
7
|
+
function fulfillmenttoolsApiRequest(method, url, body, qs) {
|
8
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
9
|
+
const credentials = yield this.getCredentials('fulfillmenttoolsApi');
|
10
|
+
const requestOptions = {
|
11
|
+
url,
|
12
|
+
baseURL: `https://${credentials['subDomain']}.api.fulfillmenttools.com/api`,
|
13
|
+
headers: {
|
14
|
+
accept: 'application/json',
|
15
|
+
'content-type': 'application/json',
|
16
|
+
},
|
17
|
+
method,
|
18
|
+
body,
|
19
|
+
qs,
|
20
|
+
returnFullResponse: true,
|
21
|
+
ignoreHttpStatusErrors: true,
|
22
|
+
json: true,
|
23
|
+
};
|
24
|
+
let response;
|
25
|
+
const totalRetries = 9;
|
26
|
+
let remainingRetries = totalRetries;
|
27
|
+
do {
|
28
|
+
response = yield this.helpers.httpRequestWithAuthentication.call(this, 'fulfillmenttoolsApi', requestOptions);
|
29
|
+
if (response.statusCode === 409) {
|
30
|
+
const body = response.body;
|
31
|
+
if (remainingRetries > 1 &&
|
32
|
+
body.length > 0 &&
|
33
|
+
body[0]['version'] !== undefined) {
|
34
|
+
requestOptions.body.version = body[0]['version'];
|
35
|
+
remainingRetries = 1;
|
36
|
+
}
|
37
|
+
else {
|
38
|
+
remainingRetries = 0;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
else if (response.statusCode === 429) {
|
42
|
+
yield (0, n8n_workflow_1.sleep)(Math.pow(2, totalRetries - remainingRetries) * 500);
|
43
|
+
remainingRetries = remainingRetries - 1;
|
44
|
+
}
|
45
|
+
else {
|
46
|
+
remainingRetries = 0;
|
47
|
+
}
|
48
|
+
} while (remainingRetries > 0);
|
49
|
+
if (response.statusCode === 429) {
|
50
|
+
throw new n8n_workflow_1.NodeApiError(this.getNode(), {}, {
|
51
|
+
message: response.statusMessage,
|
52
|
+
httpCode: response.statusCode.toString(),
|
53
|
+
description: 'The maximum number of retries has been reached.',
|
54
|
+
});
|
55
|
+
}
|
56
|
+
else if (response.statusCode >= 400) {
|
57
|
+
throw new n8n_workflow_1.NodeApiError(this.getNode(), {}, {
|
58
|
+
message: response.statusMessage,
|
59
|
+
httpCode: response.statusCode.toString(),
|
60
|
+
description: response.body
|
61
|
+
.map((error) => error['summary'])
|
62
|
+
.join('\n'),
|
63
|
+
});
|
64
|
+
}
|
65
|
+
return response.body;
|
66
|
+
});
|
67
|
+
}
|
68
|
+
function fulfillmenttoolsApiRequestAllItems(resource_1, method_1, url_1, body_1) {
|
69
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* (resource, method, url, body, qs = {}) {
|
70
|
+
const returnData = [];
|
71
|
+
let responseItems;
|
72
|
+
do {
|
73
|
+
const responseData = (yield fulfillmenttoolsApiRequest.call(this, method, url, body, qs));
|
74
|
+
if (resource === undefined) {
|
75
|
+
responseItems = responseData;
|
76
|
+
}
|
77
|
+
else {
|
78
|
+
responseItems = responseData[resource];
|
79
|
+
}
|
80
|
+
returnData.push(...responseItems);
|
81
|
+
if (qs['limit'] !== undefined &&
|
82
|
+
returnData.length >= qs['limit']) {
|
83
|
+
return returnData.splice(0, qs['limit']);
|
84
|
+
}
|
85
|
+
qs['startAfterId'] = returnData[returnData.length - 1].id;
|
86
|
+
} while (responseItems.length > 0);
|
87
|
+
return returnData;
|
88
|
+
});
|
89
|
+
}
|
90
|
+
//# sourceMappingURL=GenericFunctions.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../../../../nodes/fulfillmenttools/src/nodes/Fulfillmenttools/GenericFunctions.ts"],"names":[],"mappings":"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"}
|