@thegraphitelab/n8n-nodes-toolbox 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.
- package/README.md +16 -0
- package/dist/credentials/ToolboxApi.credentials.d.ts +10 -0
- package/dist/credentials/ToolboxApi.credentials.js +37 -0
- package/dist/credentials/ToolboxApi.credentials.js.map +1 -0
- package/dist/nodes/Toolbox/Toolbox.node.d.ts +4 -0
- package/dist/nodes/Toolbox/Toolbox.node.js +24 -0
- package/dist/nodes/Toolbox/Toolbox.node.js.map +1 -0
- package/dist/nodes/Toolbox/Toolbox.node.json +18 -0
- package/dist/nodes/Toolbox/ToolboxTrigger.node.d.ts +4 -0
- package/dist/nodes/Toolbox/ToolboxTrigger.node.js +24 -0
- package/dist/nodes/Toolbox/ToolboxTrigger.node.js.map +1 -0
- package/dist/nodes/Toolbox/ToolboxTrigger.node.json +18 -0
- package/dist/nodes/Toolbox/__tests__/helpers.d.ts +32 -0
- package/dist/nodes/Toolbox/__tests__/helpers.js +73 -0
- package/dist/nodes/Toolbox/__tests__/helpers.js.map +1 -0
- package/dist/nodes/Toolbox/eli.svg +106 -0
- package/dist/nodes/Toolbox/v1/ToolboxTriggerV1.node.d.ts +18 -0
- package/dist/nodes/Toolbox/v1/ToolboxTriggerV1.node.js +60 -0
- package/dist/nodes/Toolbox/v1/ToolboxTriggerV1.node.js.map +1 -0
- package/dist/nodes/Toolbox/v1/ToolboxV1.node.d.ts +11 -0
- package/dist/nodes/Toolbox/v1/ToolboxV1.node.js +52 -0
- package/dist/nodes/Toolbox/v1/ToolboxV1.node.js.map +1 -0
- package/dist/nodes/Toolbox/v1/actions/router.d.ts +2 -0
- package/dist/nodes/Toolbox/v1/actions/router.js +65 -0
- package/dist/nodes/Toolbox/v1/actions/router.js.map +1 -0
- package/dist/nodes/Toolbox/v1/actions/utils.d.ts +38 -0
- package/dist/nodes/Toolbox/v1/actions/utils.js +36 -0
- package/dist/nodes/Toolbox/v1/actions/utils.js.map +1 -0
- package/dist/nodes/Toolbox/v1/actions/webhookInstance/executes.d.ts +5 -0
- package/dist/nodes/Toolbox/v1/actions/webhookInstance/executes.js +99 -0
- package/dist/nodes/Toolbox/v1/actions/webhookInstance/executes.js.map +1 -0
- package/dist/nodes/Toolbox/v1/actions/webhookSubscription/webhookMethods.d.ts +8 -0
- package/dist/nodes/Toolbox/v1/actions/webhookSubscription/webhookMethods.js +68 -0
- package/dist/nodes/Toolbox/v1/actions/webhookSubscription/webhookMethods.js.map +1 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/hints.d.ts +0 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/hints.js +2 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/hints.js.map +1 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/inputs.d.ts +2 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/inputs.js +85 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/inputs.js.map +1 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/const.d.ts +3 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/const.js +6 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/const.js.map +1 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/index.d.ts +2 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/index.js +71 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/index.js.map +1 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/operation.options.d.ts +2 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/operation.options.js +34 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/operation.options.js.map +1 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/resource.options.d.ts +6 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/resource.options.js +10 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/resource.options.js.map +1 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/const.d.ts +3 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/const.js +6 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/const.js.map +1 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/index.d.ts +2 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/index.js +29 -0
- package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/index.js.map +1 -0
- package/dist/nodes/Toolbox/v1/descriptions/node.description.d.ts +3 -0
- package/dist/nodes/Toolbox/v1/descriptions/node.description.js +18 -0
- package/dist/nodes/Toolbox/v1/descriptions/node.description.js.map +1 -0
- package/dist/nodes/Toolbox/v1/descriptions/trigger.description.d.ts +3 -0
- package/dist/nodes/Toolbox/v1/descriptions/trigger.description.js +7 -0
- package/dist/nodes/Toolbox/v1/descriptions/trigger.description.js.map +1 -0
- package/dist/nodes/Toolbox/v1/methods/index.d.ts +2 -0
- package/dist/nodes/Toolbox/v1/methods/index.js +29 -0
- package/dist/nodes/Toolbox/v1/methods/index.js.map +1 -0
- package/dist/nodes/Toolbox/v1/methods/loadOptions.d.ts +2 -0
- package/dist/nodes/Toolbox/v1/methods/loadOptions.js +12 -0
- package/dist/nodes/Toolbox/v1/methods/loadOptions.js.map +1 -0
- package/dist/nodes/Toolbox/v1/methods/resourceMapping.d.ts +3 -0
- package/dist/nodes/Toolbox/v1/methods/resourceMapping.js +44 -0
- package/dist/nodes/Toolbox/v1/methods/resourceMapping.js.map +1 -0
- package/dist/nodes/Toolbox/v1/node.type.d.ts +9 -0
- package/dist/nodes/Toolbox/v1/node.type.js +3 -0
- package/dist/nodes/Toolbox/v1/node.type.js.map +1 -0
- package/dist/nodes/Toolbox/v1/transport/index.d.ts +11 -0
- package/dist/nodes/Toolbox/v1/transport/index.js +45 -0
- package/dist/nodes/Toolbox/v1/transport/index.js.map +1 -0
- package/dist/nodes/Toolbox/v1/types.d.ts +2 -0
- package/dist/nodes/Toolbox/v1/types.js +3 -0
- package/dist/nodes/Toolbox/v1/types.js.map +1 -0
- package/dist/package.json +64 -0
- package/dist/utils/displayOptions.d.ts +2 -0
- package/dist/utils/displayOptions.js +14 -0
- package/dist/utils/displayOptions.js.map +1 -0
- package/dist/utils/error.d.ts +3 -0
- package/dist/utils/error.js +12 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/object.d.ts +2 -0
- package/dist/utils/object.js +16 -0
- package/dist/utils/object.js.map +1 -0
- package/dist/utils/pipe.d.ts +1 -0
- package/dist/utils/pipe.js +10 -0
- package/dist/utils/pipe.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.description = void 0;
|
|
4
|
+
const utils_1 = require("../../../actions/utils");
|
|
5
|
+
const inputs_1 = require("../inputs");
|
|
6
|
+
const event = {
|
|
7
|
+
displayName: "Events",
|
|
8
|
+
name: "event",
|
|
9
|
+
type: "options",
|
|
10
|
+
noDataExpression: true,
|
|
11
|
+
default: "subscribe",
|
|
12
|
+
options: [
|
|
13
|
+
{
|
|
14
|
+
name: "Webhook Instance",
|
|
15
|
+
value: "subscribe",
|
|
16
|
+
action: "Subscribe to a webhook instance",
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
};
|
|
20
|
+
const getDesc = (0, utils_1.getDescription)({
|
|
21
|
+
requiredInputs: [
|
|
22
|
+
inputs_1.inputs.webhookID,
|
|
23
|
+
inputs_1.inputs.webhookEventType,
|
|
24
|
+
inputs_1.inputs.onlyFirstVisit,
|
|
25
|
+
],
|
|
26
|
+
displayOptions: {},
|
|
27
|
+
});
|
|
28
|
+
exports.description = [event, ...getDesc];
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/index.ts"],"names":[],"mappings":";;;AACA,kDAAwD;AACxD,sCAAmC;AAEnC,MAAM,KAAK,GAAoB;IAC3B,WAAW,EAAE,QAAQ;IACrB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,SAAS;IACf,gBAAgB,EAAE,IAAI;IACtB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE;QACL;YACI,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,iCAAiC;SAC5C;KACJ;CACJ,CAAC;AACF,MAAM,OAAO,GAAG,IAAA,sBAAc,EAAC;IAC3B,cAAc,EAAE;QACZ,eAAM,CAAC,SAAS;QAChB,eAAM,CAAC,gBAAgB;QACvB,eAAM,CAAC,cAAc;KACxB;IACD,cAAc,EAAE,EAAE;CACrB,CAAC,CAAC;AAEU,QAAA,WAAW,GAAG,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.properties = void 0;
|
|
4
|
+
const webhookInstance_1 = require("./Webhooks/webhookInstance");
|
|
5
|
+
const resource_options_1 = require("./Webhooks/webhookInstance/resource.options");
|
|
6
|
+
const properties = [
|
|
7
|
+
{
|
|
8
|
+
displayName: "Resource",
|
|
9
|
+
name: "resource",
|
|
10
|
+
type: "options",
|
|
11
|
+
noDataExpression: true,
|
|
12
|
+
default: "webhookInstance",
|
|
13
|
+
options: resource_options_1.options,
|
|
14
|
+
},
|
|
15
|
+
...webhookInstance_1.description,
|
|
16
|
+
];
|
|
17
|
+
exports.properties = properties;
|
|
18
|
+
//# sourceMappingURL=node.description.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.description.js","sourceRoot":"","sources":["../../../../../nodes/Toolbox/v1/descriptions/node.description.ts"],"names":[],"mappings":";;;AACA,gEAAuF;AACvF,kFAAsE;AAEtE,MAAM,UAAU,GAAsB;IAClC;QACI,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAP,0BAAO;KACV;IACD,GAAG,6BAA0B;CAChC,CAAC;AAEO,gCAAU"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.properties = void 0;
|
|
4
|
+
const webhookSubscription_1 = require("./Webhooks/webhookSubscription");
|
|
5
|
+
const properties = [...webhookSubscription_1.description];
|
|
6
|
+
exports.properties = properties;
|
|
7
|
+
//# sourceMappingURL=trigger.description.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger.description.js","sourceRoot":"","sources":["../../../../../nodes/Toolbox/v1/descriptions/trigger.description.ts"],"names":[],"mappings":";;;AACA,wEAA+F;AAE/F,MAAM,UAAU,GAAsB,CAAC,GAAG,iCAA8B,CAAC,CAAC;AAEjE,gCAAU"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.loadOptions = exports.resourceMapping = void 0;
|
|
27
|
+
exports.resourceMapping = __importStar(require("./resourceMapping"));
|
|
28
|
+
exports.loadOptions = __importStar(require("./loadOptions"));
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/Toolbox/v1/methods/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAqD;AACrD,6DAA6C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getWebhooks = getWebhooks;
|
|
4
|
+
const transport_1 = require("../transport");
|
|
5
|
+
async function getWebhooks() {
|
|
6
|
+
const result = await transport_1.toolboxApiRequest.call(this, {
|
|
7
|
+
method: "GET",
|
|
8
|
+
endpoint: "webhooks",
|
|
9
|
+
});
|
|
10
|
+
return result.map(({ title, id }) => ({ name: title, value: id }));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=loadOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadOptions.js","sourceRoot":"","sources":["../../../../../nodes/Toolbox/v1/methods/loadOptions.ts"],"names":[],"mappings":";;AAQA,kCASC;AAhBD,4CAAiD;AAO1C,KAAK,UAAU,WAAW;IAG7B,MAAM,MAAM,GAAsB,MAAM,6BAAiB,CAAC,IAAI,CAAC,IAAI,EAAE;QACjE,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,UAAU;KACvB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getWebhookInputs = getWebhookInputs;
|
|
4
|
+
const transport_1 = require("../transport");
|
|
5
|
+
// TODO: map the Toolbox API's field types to n8n FieldType explicitly (e.g. a
|
|
6
|
+
// lookup table) rather than this allow-list; unrecognized types silently fall
|
|
7
|
+
// back to "string", which can mask API/UI type mismatches.
|
|
8
|
+
function sanitizeType(type) {
|
|
9
|
+
if ("boolean" === type ||
|
|
10
|
+
"number" === type ||
|
|
11
|
+
"string" === type ||
|
|
12
|
+
"string-alphanumeric" === type ||
|
|
13
|
+
"dateTime" === type ||
|
|
14
|
+
"time" === type ||
|
|
15
|
+
"array" === type ||
|
|
16
|
+
"object" === type ||
|
|
17
|
+
"options" === type ||
|
|
18
|
+
"url" === type ||
|
|
19
|
+
"jwt" === type ||
|
|
20
|
+
"form-fields" === type ||
|
|
21
|
+
"binary" === type) {
|
|
22
|
+
return type;
|
|
23
|
+
}
|
|
24
|
+
return "string";
|
|
25
|
+
}
|
|
26
|
+
async function getWebhookInputs() {
|
|
27
|
+
const webhookId = this.getNodeParameter("webhookID", 0);
|
|
28
|
+
const response = await transport_1.toolboxApiRequest.call(this, {
|
|
29
|
+
method: "GET",
|
|
30
|
+
endpoint: `webhooks/${webhookId}`,
|
|
31
|
+
});
|
|
32
|
+
const variables = response.variables || [];
|
|
33
|
+
const fields = variables.map(({ name, key, type, required }) => ({
|
|
34
|
+
id: key,
|
|
35
|
+
displayName: name,
|
|
36
|
+
value: name,
|
|
37
|
+
type: sanitizeType(type),
|
|
38
|
+
required,
|
|
39
|
+
display: true,
|
|
40
|
+
defaultMatch: false,
|
|
41
|
+
}));
|
|
42
|
+
return { fields };
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=resourceMapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resourceMapping.js","sourceRoot":"","sources":["../../../../../nodes/Toolbox/v1/methods/resourceMapping.ts"],"names":[],"mappings":";;AAiES,4CAAgB;AA3DzB,4CAAiD;AASjD,8EAA8E;AAC9E,8EAA8E;AAC9E,2DAA2D;AAC3D,SAAS,YAAY,CAAC,IAAY;IAC9B,IACI,SAAS,KAAK,IAAI;QAClB,QAAQ,KAAK,IAAI;QACjB,QAAQ,KAAK,IAAI;QACjB,qBAAqB,KAAK,IAAI;QAC9B,UAAU,KAAK,IAAI;QACnB,MAAM,KAAK,IAAI;QACf,OAAO,KAAK,IAAI;QAChB,QAAQ,KAAK,IAAI;QACjB,SAAS,KAAK,IAAI;QAClB,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,IAAI;QACd,aAAa,KAAK,IAAI;QACtB,QAAQ,KAAK,IAAI,EACnB,CAAC;QACC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,gBAAgB;IAG3B,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,MAAM,6BAAiB,CAAC,IAAI,CAAC,IAAI,EAAE;QAChD,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,YAAY,SAAS,EAAE;KACpC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAmB,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;IAE3D,MAAM,MAAM,GAA0B,SAAS,CAAC,GAAG,CAC/C,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAChC,EAAE,EAAE,GAAG;QACP,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;QACxB,QAAQ;QACR,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,KAAK;KACtB,CAAC,CACL,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AllEntities } from "n8n-workflow";
|
|
2
|
+
import { WebhookInstanceOperations } from "./descriptions/Webhooks/webhookInstance/const";
|
|
3
|
+
type NodeMap = {
|
|
4
|
+
webhookInstance: WebhookInstanceOperations;
|
|
5
|
+
};
|
|
6
|
+
export type NodeResource = keyof NodeMap;
|
|
7
|
+
export type NodeOperation = NodeMap[NodeResource];
|
|
8
|
+
export type Toolbox = AllEntities<NodeMap>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.type.js","sourceRoot":"","sources":["../../../../nodes/Toolbox/v1/node.type.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IDataObject, IHttpRequestMethods } from "n8n-workflow";
|
|
2
|
+
import { Caller } from "../types";
|
|
3
|
+
export interface IToolboxApiRequest {
|
|
4
|
+
method: IHttpRequestMethods;
|
|
5
|
+
endpoint: string;
|
|
6
|
+
body?: IDataObject;
|
|
7
|
+
qs?: IDataObject;
|
|
8
|
+
headers?: IDataObject;
|
|
9
|
+
option?: IDataObject;
|
|
10
|
+
}
|
|
11
|
+
export declare function toolboxApiRequest(this: Caller, { method, endpoint, body, qs, headers, option }: IToolboxApiRequest): Promise<any>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toolboxApiRequest = toolboxApiRequest;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const object_1 = require("../../../../utils/object");
|
|
6
|
+
const pipe_1 = require("../../../../utils/pipe");
|
|
7
|
+
function populateOptions(method, apiUrl, body = {}, qs = {}, headers = {}, option = { json: true }) {
|
|
8
|
+
const withPopulatedOptions = (option) => (options) => (0, object_1.copyInto)(options, option);
|
|
9
|
+
const withPopulatedHeaders = (headers) => (options) => {
|
|
10
|
+
if (Object.keys(headers).length > 0) {
|
|
11
|
+
options.headers = Object.assign({}, options.headers, headers);
|
|
12
|
+
}
|
|
13
|
+
return options;
|
|
14
|
+
};
|
|
15
|
+
const withSanitizedBody = (body) => (options) => {
|
|
16
|
+
if (Object.keys(body).length === 0) {
|
|
17
|
+
return (0, object_1.omit)(options, "body");
|
|
18
|
+
}
|
|
19
|
+
return options;
|
|
20
|
+
};
|
|
21
|
+
// TODO: Content-Type is set here, merged again via populateOptions, and also
|
|
22
|
+
// declared in the node's requestDefaults. Consolidate to a single source.
|
|
23
|
+
const baseOptions = {
|
|
24
|
+
headers: {
|
|
25
|
+
"Content-Type": "application/json",
|
|
26
|
+
},
|
|
27
|
+
method,
|
|
28
|
+
body,
|
|
29
|
+
qs,
|
|
30
|
+
url: apiUrl,
|
|
31
|
+
};
|
|
32
|
+
return (0, pipe_1.pipe)(withPopulatedOptions(option), withPopulatedHeaders(headers), withSanitizedBody(body))(baseOptions);
|
|
33
|
+
}
|
|
34
|
+
async function toolboxApiRequest({ method, endpoint, body, qs, headers, option }) {
|
|
35
|
+
const baseUrl = "https://api.thegraphitelab.com";
|
|
36
|
+
const apiUrl = `${baseUrl}/${endpoint}`;
|
|
37
|
+
const options = populateOptions.call(this, method, apiUrl, body, qs, headers, option);
|
|
38
|
+
try {
|
|
39
|
+
return await this.helpers.httpRequestWithAuthentication.call(this, "toolboxApi", options);
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
throw new n8n_workflow_1.NodeApiError(this.getNode(), e);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/Toolbox/v1/transport/index.ts"],"names":[],"mappings":";;AAiEA,8CAyBC;AA1FD,+CAKsB;AACtB,qDAA0D;AAC1D,iDAA8C;AAG9C,SAAS,eAAe,CAEpB,MAA2B,EAC3B,MAAc,EACd,OAAoB,EAAE,EACtB,KAAkB,EAAE,EACpB,UAAuB,EAAE,EACzB,SAAsB,EAAE,IAAI,EAAE,IAAI,EAAE;IAEpC,MAAM,oBAAoB,GACtB,CAAC,MAAmB,EAAE,EAAE,CAAC,CAAC,OAA4B,EAAE,EAAE,CACtD,IAAA,iBAAQ,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,oBAAoB,GACtB,CAAC,OAAoB,EAAE,EAAE,CACzB,CAAC,OAA4B,EAAuB,EAAE;QAClD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC;IACN,MAAM,iBAAiB,GACnB,CAAC,IAAiB,EAAE,EAAE,CACtB,CAAC,OAA4B,EAAuB,EAAE;QAClD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,IAAA,aAAI,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC;IAEN,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,WAAW,GAAwB;QACrC,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;SACrC;QACD,MAAM;QACN,IAAI;QACJ,EAAE;QACF,GAAG,EAAE,MAAM;KACd,CAAC;IAEF,OAAO,IAAA,WAAI,EACP,oBAAoB,CAAC,MAAM,CAAC,EAC5B,oBAAoB,CAAC,OAAO,CAAC,EAC7B,iBAAiB,CAAC,IAAI,CAAC,CAC1B,CAAC,WAAW,CAAC,CAAC;AACnB,CAAC;AASM,KAAK,UAAU,iBAAiB,CAEnC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAsB;IAEnE,MAAM,OAAO,GAAG,gCAAgC,CAAC;IACjD,MAAM,MAAM,GAAG,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAChC,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,EAAE,EACF,OAAO,EACP,MAAM,CACT,CAAC;IAEF,IAAI,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CACxD,IAAI,EACJ,YAAY,EACZ,OAAO,CACV,CAAC;IACN,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../nodes/Toolbox/v1/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@thegraphitelab/n8n-nodes-toolbox",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "A n8n node for TGL's toolbox",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"n8n-community-node-package",
|
|
7
|
+
"n8n",
|
|
8
|
+
"toolbox",
|
|
9
|
+
"tgl"
|
|
10
|
+
],
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"private": false,
|
|
13
|
+
"author": {
|
|
14
|
+
"name": "Trey Williams",
|
|
15
|
+
"email": "treywilliams@thegraphitelab.com"
|
|
16
|
+
},
|
|
17
|
+
"publishConfig": {
|
|
18
|
+
"registry": "https://registry.npmjs.org",
|
|
19
|
+
"access": "public"
|
|
20
|
+
},
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "git+https://github.com/thegraphitelab/tgl-custom-n8n-nodes.git",
|
|
24
|
+
"directory": "packages/n8n-nodes-toolbox"
|
|
25
|
+
},
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": ">=22"
|
|
28
|
+
},
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "n8n-node build",
|
|
31
|
+
"dev": "n8n-node dev --external-n8n & WATCH_PID=$!; trap 'kill $WATCH_PID 2>/dev/null' EXIT INT TERM; N8N_USER_FOLDER=$HOME/.n8n-node-cli N8N_DEV_RELOAD=true N8N_PORT=5678 npx -y n8n@2.29.8",
|
|
32
|
+
"dev:latest": "n8n-node dev",
|
|
33
|
+
"lint": "n8n-node lint",
|
|
34
|
+
"lint:fix": "n8n-node lint --fix",
|
|
35
|
+
"test": "vitest run",
|
|
36
|
+
"test:dev": "vitest",
|
|
37
|
+
"test:coverage": "vitest run --coverage"
|
|
38
|
+
},
|
|
39
|
+
"n8n": {
|
|
40
|
+
"n8nNodesApiVersion": 1,
|
|
41
|
+
"strict": true,
|
|
42
|
+
"credentials": [
|
|
43
|
+
"dist/credentials/ToolboxApi.credentials.js"
|
|
44
|
+
],
|
|
45
|
+
"nodes": [
|
|
46
|
+
"dist/nodes/Toolbox/Toolbox.node.js",
|
|
47
|
+
"dist/nodes/Toolbox/ToolboxTrigger.node.js"
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@eslint/js": "^9.29.0",
|
|
52
|
+
"@n8n/node-cli": "^0.23.0",
|
|
53
|
+
"@vitest/coverage-v8": "^4.1.10",
|
|
54
|
+
"eslint": "^9.29.0",
|
|
55
|
+
"n8n-workflow": "*",
|
|
56
|
+
"vitest": "^4.1.9"
|
|
57
|
+
},
|
|
58
|
+
"peerDependencies": {
|
|
59
|
+
"n8n-workflow": "*"
|
|
60
|
+
},
|
|
61
|
+
"files": [
|
|
62
|
+
"dist"
|
|
63
|
+
]
|
|
64
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDisplayOptionsFn = getDisplayOptionsFn;
|
|
4
|
+
function getDisplayOptionsFn(resource) {
|
|
5
|
+
return (operation) => {
|
|
6
|
+
return {
|
|
7
|
+
show: {
|
|
8
|
+
resource: [resource],
|
|
9
|
+
operation: [operation],
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=displayOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"displayOptions.js","sourceRoot":"","sources":["../../utils/displayOptions.ts"],"names":[],"mappings":";;AAEA,kDAWC;AAXD,SAAgB,mBAAmB,CAC/B,QAAgB;IAEhB,OAAO,CAAC,SAAY,EAAE,EAAE;QACpB,OAAO;YACH,IAAI,EAAE;gBACF,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBACpB,SAAS,EAAE,CAAC,SAAS,CAAC;aACzB;SACJ,CAAC;IACN,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isError = isError;
|
|
4
|
+
exports.isValidError = isValidError;
|
|
5
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
6
|
+
function isError(e) {
|
|
7
|
+
return e instanceof Error;
|
|
8
|
+
}
|
|
9
|
+
function isValidError(e) {
|
|
10
|
+
return e instanceof n8n_workflow_1.NodeApiError || e instanceof n8n_workflow_1.NodeOperationError;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../utils/error.ts"],"names":[],"mappings":";;AAEA,0BAEC;AAED,oCAEC;AARD,+CAAgE;AAEhE,SAAgB,OAAO,CAAC,CAAU;IAC9B,OAAO,CAAC,YAAY,KAAK,CAAC;AAC9B,CAAC;AAED,SAAgB,YAAY,CAAC,CAAQ;IACjC,OAAO,CAAC,YAAY,2BAAY,IAAI,CAAC,YAAY,iCAAkB,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.copyInto = copyInto;
|
|
4
|
+
exports.omit = omit;
|
|
5
|
+
// the goal of this function is to make an Object.assign that doesn't change receiver in place
|
|
6
|
+
function copyInto(receiver, assigner) {
|
|
7
|
+
const copy = { ...receiver };
|
|
8
|
+
Object.assign(copy, assigner);
|
|
9
|
+
return copy;
|
|
10
|
+
}
|
|
11
|
+
function omit(obj, property) {
|
|
12
|
+
const copy = { ...obj };
|
|
13
|
+
delete copy[property];
|
|
14
|
+
return copy;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../utils/object.ts"],"names":[],"mappings":";;AACA,4BAIC;AAED,oBAIC;AAXD,8FAA8F;AAC9F,SAAgB,QAAQ,CAAmB,QAAW,EAAE,QAAoB;IAC3E,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAgB,IAAI,CAAsC,GAAM,EAAE,QAAW;IAC5E,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function pipe<T>(...fns: Array<(x: T) => T>): (input: T) => T;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pipe = pipe;
|
|
4
|
+
// this allows for calling multiple functions that modify the same type over and over
|
|
5
|
+
function pipe(...fns) {
|
|
6
|
+
return function (input) {
|
|
7
|
+
return fns.reduce((acc, fn) => fn(acc), input);
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=pipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipe.js","sourceRoot":"","sources":["../../utils/pipe.ts"],"names":[],"mappings":";;AACA,oBAIC;AALD,qFAAqF;AACrF,SAAgB,IAAI,CAAI,GAAG,GAAuB;IACjD,OAAO,UAAU,KAAQ;QACxB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC;AACH,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@thegraphitelab/n8n-nodes-toolbox",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "A n8n node for TGL's toolbox",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"n8n-community-node-package",
|
|
7
|
+
"n8n",
|
|
8
|
+
"toolbox",
|
|
9
|
+
"tgl"
|
|
10
|
+
],
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"private": false,
|
|
13
|
+
"author": {
|
|
14
|
+
"name": "Trey Williams",
|
|
15
|
+
"email": "treywilliams@thegraphitelab.com"
|
|
16
|
+
},
|
|
17
|
+
"publishConfig": {
|
|
18
|
+
"registry": "https://registry.npmjs.org",
|
|
19
|
+
"access": "public"
|
|
20
|
+
},
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "git+https://github.com/thegraphitelab/tgl-custom-n8n-nodes.git",
|
|
24
|
+
"directory": "packages/n8n-nodes-toolbox"
|
|
25
|
+
},
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": ">=22"
|
|
28
|
+
},
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "n8n-node build",
|
|
31
|
+
"dev": "n8n-node dev --external-n8n & WATCH_PID=$!; trap 'kill $WATCH_PID 2>/dev/null' EXIT INT TERM; N8N_USER_FOLDER=$HOME/.n8n-node-cli N8N_DEV_RELOAD=true N8N_PORT=5678 npx -y n8n@2.29.8",
|
|
32
|
+
"dev:latest": "n8n-node dev",
|
|
33
|
+
"lint": "n8n-node lint",
|
|
34
|
+
"lint:fix": "n8n-node lint --fix",
|
|
35
|
+
"test": "vitest run",
|
|
36
|
+
"test:dev": "vitest",
|
|
37
|
+
"test:coverage": "vitest run --coverage"
|
|
38
|
+
},
|
|
39
|
+
"n8n": {
|
|
40
|
+
"n8nNodesApiVersion": 1,
|
|
41
|
+
"strict": true,
|
|
42
|
+
"credentials": [
|
|
43
|
+
"dist/credentials/ToolboxApi.credentials.js"
|
|
44
|
+
],
|
|
45
|
+
"nodes": [
|
|
46
|
+
"dist/nodes/Toolbox/Toolbox.node.js",
|
|
47
|
+
"dist/nodes/Toolbox/ToolboxTrigger.node.js"
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@eslint/js": "^9.29.0",
|
|
52
|
+
"@n8n/node-cli": "^0.23.0",
|
|
53
|
+
"@vitest/coverage-v8": "^4.1.10",
|
|
54
|
+
"eslint": "^9.29.0",
|
|
55
|
+
"n8n-workflow": "*",
|
|
56
|
+
"vitest": "^4.1.9"
|
|
57
|
+
},
|
|
58
|
+
"peerDependencies": {
|
|
59
|
+
"n8n-workflow": "*"
|
|
60
|
+
},
|
|
61
|
+
"files": [
|
|
62
|
+
"dist"
|
|
63
|
+
]
|
|
64
|
+
}
|