@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.
Files changed (96) hide show
  1. package/README.md +16 -0
  2. package/dist/credentials/ToolboxApi.credentials.d.ts +10 -0
  3. package/dist/credentials/ToolboxApi.credentials.js +37 -0
  4. package/dist/credentials/ToolboxApi.credentials.js.map +1 -0
  5. package/dist/nodes/Toolbox/Toolbox.node.d.ts +4 -0
  6. package/dist/nodes/Toolbox/Toolbox.node.js +24 -0
  7. package/dist/nodes/Toolbox/Toolbox.node.js.map +1 -0
  8. package/dist/nodes/Toolbox/Toolbox.node.json +18 -0
  9. package/dist/nodes/Toolbox/ToolboxTrigger.node.d.ts +4 -0
  10. package/dist/nodes/Toolbox/ToolboxTrigger.node.js +24 -0
  11. package/dist/nodes/Toolbox/ToolboxTrigger.node.js.map +1 -0
  12. package/dist/nodes/Toolbox/ToolboxTrigger.node.json +18 -0
  13. package/dist/nodes/Toolbox/__tests__/helpers.d.ts +32 -0
  14. package/dist/nodes/Toolbox/__tests__/helpers.js +73 -0
  15. package/dist/nodes/Toolbox/__tests__/helpers.js.map +1 -0
  16. package/dist/nodes/Toolbox/eli.svg +106 -0
  17. package/dist/nodes/Toolbox/v1/ToolboxTriggerV1.node.d.ts +18 -0
  18. package/dist/nodes/Toolbox/v1/ToolboxTriggerV1.node.js +60 -0
  19. package/dist/nodes/Toolbox/v1/ToolboxTriggerV1.node.js.map +1 -0
  20. package/dist/nodes/Toolbox/v1/ToolboxV1.node.d.ts +11 -0
  21. package/dist/nodes/Toolbox/v1/ToolboxV1.node.js +52 -0
  22. package/dist/nodes/Toolbox/v1/ToolboxV1.node.js.map +1 -0
  23. package/dist/nodes/Toolbox/v1/actions/router.d.ts +2 -0
  24. package/dist/nodes/Toolbox/v1/actions/router.js +65 -0
  25. package/dist/nodes/Toolbox/v1/actions/router.js.map +1 -0
  26. package/dist/nodes/Toolbox/v1/actions/utils.d.ts +38 -0
  27. package/dist/nodes/Toolbox/v1/actions/utils.js +36 -0
  28. package/dist/nodes/Toolbox/v1/actions/utils.js.map +1 -0
  29. package/dist/nodes/Toolbox/v1/actions/webhookInstance/executes.d.ts +5 -0
  30. package/dist/nodes/Toolbox/v1/actions/webhookInstance/executes.js +99 -0
  31. package/dist/nodes/Toolbox/v1/actions/webhookInstance/executes.js.map +1 -0
  32. package/dist/nodes/Toolbox/v1/actions/webhookSubscription/webhookMethods.d.ts +8 -0
  33. package/dist/nodes/Toolbox/v1/actions/webhookSubscription/webhookMethods.js +68 -0
  34. package/dist/nodes/Toolbox/v1/actions/webhookSubscription/webhookMethods.js.map +1 -0
  35. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/hints.d.ts +0 -0
  36. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/hints.js +2 -0
  37. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/hints.js.map +1 -0
  38. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/inputs.d.ts +2 -0
  39. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/inputs.js +85 -0
  40. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/inputs.js.map +1 -0
  41. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/const.d.ts +3 -0
  42. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/const.js +6 -0
  43. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/const.js.map +1 -0
  44. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/index.d.ts +2 -0
  45. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/index.js +71 -0
  46. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/index.js.map +1 -0
  47. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/operation.options.d.ts +2 -0
  48. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/operation.options.js +34 -0
  49. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/operation.options.js.map +1 -0
  50. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/resource.options.d.ts +6 -0
  51. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/resource.options.js +10 -0
  52. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/resource.options.js.map +1 -0
  53. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/const.d.ts +3 -0
  54. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/const.js +6 -0
  55. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/const.js.map +1 -0
  56. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/index.d.ts +2 -0
  57. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/index.js +29 -0
  58. package/dist/nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/index.js.map +1 -0
  59. package/dist/nodes/Toolbox/v1/descriptions/node.description.d.ts +3 -0
  60. package/dist/nodes/Toolbox/v1/descriptions/node.description.js +18 -0
  61. package/dist/nodes/Toolbox/v1/descriptions/node.description.js.map +1 -0
  62. package/dist/nodes/Toolbox/v1/descriptions/trigger.description.d.ts +3 -0
  63. package/dist/nodes/Toolbox/v1/descriptions/trigger.description.js +7 -0
  64. package/dist/nodes/Toolbox/v1/descriptions/trigger.description.js.map +1 -0
  65. package/dist/nodes/Toolbox/v1/methods/index.d.ts +2 -0
  66. package/dist/nodes/Toolbox/v1/methods/index.js +29 -0
  67. package/dist/nodes/Toolbox/v1/methods/index.js.map +1 -0
  68. package/dist/nodes/Toolbox/v1/methods/loadOptions.d.ts +2 -0
  69. package/dist/nodes/Toolbox/v1/methods/loadOptions.js +12 -0
  70. package/dist/nodes/Toolbox/v1/methods/loadOptions.js.map +1 -0
  71. package/dist/nodes/Toolbox/v1/methods/resourceMapping.d.ts +3 -0
  72. package/dist/nodes/Toolbox/v1/methods/resourceMapping.js +44 -0
  73. package/dist/nodes/Toolbox/v1/methods/resourceMapping.js.map +1 -0
  74. package/dist/nodes/Toolbox/v1/node.type.d.ts +9 -0
  75. package/dist/nodes/Toolbox/v1/node.type.js +3 -0
  76. package/dist/nodes/Toolbox/v1/node.type.js.map +1 -0
  77. package/dist/nodes/Toolbox/v1/transport/index.d.ts +11 -0
  78. package/dist/nodes/Toolbox/v1/transport/index.js +45 -0
  79. package/dist/nodes/Toolbox/v1/transport/index.js.map +1 -0
  80. package/dist/nodes/Toolbox/v1/types.d.ts +2 -0
  81. package/dist/nodes/Toolbox/v1/types.js +3 -0
  82. package/dist/nodes/Toolbox/v1/types.js.map +1 -0
  83. package/dist/package.json +64 -0
  84. package/dist/utils/displayOptions.d.ts +2 -0
  85. package/dist/utils/displayOptions.js +14 -0
  86. package/dist/utils/displayOptions.js.map +1 -0
  87. package/dist/utils/error.d.ts +3 -0
  88. package/dist/utils/error.js +12 -0
  89. package/dist/utils/error.js.map +1 -0
  90. package/dist/utils/object.d.ts +2 -0
  91. package/dist/utils/object.js +16 -0
  92. package/dist/utils/object.js.map +1 -0
  93. package/dist/utils/pipe.d.ts +1 -0
  94. package/dist/utils/pipe.js +10 -0
  95. package/dist/utils/pipe.js.map +1 -0
  96. package/package.json +64 -0
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.router = router;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const error_1 = require("../../../../utils/error");
6
+ const utils_1 = require("./utils");
7
+ const executes_1 = require("./webhookInstance/executes");
8
+ function getExecutionFunction(toolbox, resource) {
9
+ if (resource === "webhookInstance") {
10
+ const result = async (index) => executes_1.execMap[toolbox.operation].call(this, index);
11
+ return result;
12
+ }
13
+ else {
14
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `The resource ${resource} is unknown.`);
15
+ }
16
+ }
17
+ async function router() {
18
+ function getExecFn() {
19
+ const resource = this.getNodeParameter("resource", 0);
20
+ const operation = this.getNodeParameter("operation", 0);
21
+ const toolbox = {
22
+ resource,
23
+ operation,
24
+ };
25
+ return getExecutionFunction.call(this, toolbox, resource);
26
+ }
27
+ function normalizeError(err) {
28
+ if (!(0, error_1.isError)(err)) {
29
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), "Invalid object thrown.");
30
+ }
31
+ const e = err;
32
+ const normalizedError = (0, error_1.isValidError)(e)
33
+ ? e
34
+ : new n8n_workflow_1.NodeOperationError(this.getNode(), e);
35
+ return normalizedError;
36
+ }
37
+ function addIndexToError(err, index) {
38
+ if (err?.context?.itemIndex === undefined) {
39
+ if (err.context === undefined) {
40
+ err.context = {};
41
+ }
42
+ err.context.itemIndex = index;
43
+ }
44
+ return err;
45
+ }
46
+ const execFn = getExecFn.call(this);
47
+ const returnData = [];
48
+ // for each record from the previous step...
49
+ for (const [i] of this.getInputData().entries()) {
50
+ try {
51
+ const responseData = await execFn(i);
52
+ returnData.push(...responseData);
53
+ }
54
+ catch (thrown) {
55
+ const err = normalizeError.call(this, thrown);
56
+ if (this.continueOnFail()) {
57
+ returnData.push(...utils_1.constructErrorExecutionMetaData.call(this, i, err));
58
+ continue;
59
+ }
60
+ throw addIndexToError(err, i);
61
+ }
62
+ }
63
+ return [returnData];
64
+ }
65
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../../nodes/Toolbox/v1/actions/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { IDataObject, IDisplayOptions, IExecuteFunctions, INodeProperties } from "n8n-workflow";
2
+ export declare function constructExecutionMetaData(this: IExecuteFunctions, index: number, responseData: IDataObject): import("n8n-workflow").NodeExecutionWithMetadata[];
3
+ export declare function constructErrorExecutionMetaData(this: IExecuteFunctions, index: number, error: Error): import("n8n-workflow").NodeExecutionWithMetadata[];
4
+ export declare function wrapOptionsInAdditionalFields(optionalInputs: INodeProperties[], displayOptions: IDisplayOptions): INodeProperties;
5
+ interface DescriptionConstructor {
6
+ requiredInputs?: INodeProperties[];
7
+ optionalInputs?: INodeProperties[];
8
+ displayOptions: IDisplayOptions;
9
+ hints?: INodeProperties[];
10
+ }
11
+ export declare function getDescription({ requiredInputs, optionalInputs, displayOptions, hints, }: DescriptionConstructor): {
12
+ displayOptions: IDisplayOptions;
13
+ displayName: string;
14
+ name: string;
15
+ type: import("n8n-workflow").NodePropertyTypes;
16
+ typeOptions?: import("n8n-workflow").INodePropertyTypeOptions;
17
+ default: import("n8n-workflow").NodeParameterValueType;
18
+ description?: string;
19
+ hint?: string;
20
+ builderHint?: import("n8n-workflow").IParameterBuilderHint;
21
+ disabledOptions?: IDisplayOptions;
22
+ options?: Array<import("n8n-workflow").INodePropertyOptions | INodeProperties | import("n8n-workflow").INodePropertyCollection>;
23
+ placeholder?: string;
24
+ isNodeSetting?: boolean;
25
+ noDataExpression?: boolean;
26
+ required?: boolean;
27
+ routing?: import("n8n-workflow").INodePropertyRouting;
28
+ credentialTypes?: Array<"extends:oAuth2Api" | "extends:oAuth1Api" | "has:authenticate" | "has:genericAuth">;
29
+ extractValue?: import("n8n-workflow").INodePropertyValueExtractor;
30
+ modes?: import("n8n-workflow").INodePropertyMode[];
31
+ requiresDataPath?: "single" | "multiple";
32
+ doNotInherit?: boolean;
33
+ validateType?: import("n8n-workflow").FieldType;
34
+ ignoreValidationDuringExecution?: boolean;
35
+ allowArbitraryValues?: boolean;
36
+ resolvableField?: boolean;
37
+ }[];
38
+ export {};
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.constructExecutionMetaData = constructExecutionMetaData;
4
+ exports.constructErrorExecutionMetaData = constructErrorExecutionMetaData;
5
+ exports.wrapOptionsInAdditionalFields = wrapOptionsInAdditionalFields;
6
+ exports.getDescription = getDescription;
7
+ const n8n_workflow_1 = require("n8n-workflow");
8
+ function constructExecutionMetaData(index, responseData) {
9
+ return this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray(responseData), {
10
+ itemData: { item: index },
11
+ });
12
+ }
13
+ function constructErrorExecutionMetaData(index, error) {
14
+ return this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray({ error: error.message }), { itemData: { item: index } });
15
+ }
16
+ function wrapOptionsInAdditionalFields(optionalInputs, displayOptions) {
17
+ return {
18
+ displayName: "Additional Fields",
19
+ name: "additionalFields",
20
+ type: "collection",
21
+ placeholder: "Add Field",
22
+ default: {},
23
+ options: optionalInputs,
24
+ displayOptions,
25
+ };
26
+ }
27
+ function getDescription({ requiredInputs = [], optionalInputs = [], displayOptions, hints, }) {
28
+ const optionalInputsWrapped = wrapOptionsInAdditionalFields(optionalInputs, displayOptions);
29
+ const properties = [
30
+ ...requiredInputs,
31
+ ...(optionalInputs.length > 0 ? [optionalInputsWrapped] : []),
32
+ ...(hints ?? []),
33
+ ];
34
+ return (0, n8n_workflow_1.updateDisplayOptions)(displayOptions, properties);
35
+ }
36
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../nodes/Toolbox/v1/actions/utils.ts"],"names":[],"mappings":";;AAQA,gEAWC;AAED,0EASC;AAED,sEAaC;AAQD,wCAgBC;AArED,+CAMsB;AAEtB,SAAgB,0BAA0B,CAEtC,KAAa,EACb,YAAyB;IAEzB,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAC1C,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,EAC1C;QACI,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;KAC5B,CACJ,CAAC;AACN,CAAC;AAED,SAAgB,+BAA+B,CAE3C,KAAa,EACb,KAAY;IAEZ,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAC1C,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EACtD,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAChC,CAAC;AACN,CAAC;AAED,SAAgB,6BAA6B,CACzC,cAAiC,EACjC,cAA+B;IAE/B,OAAO;QACH,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,cAAc;QACvB,cAAc;KACjB,CAAC;AACN,CAAC;AAQD,SAAgB,cAAc,CAAC,EAC3B,cAAc,GAAG,EAAE,EACnB,cAAc,GAAG,EAAE,EACnB,cAAc,EACd,KAAK,GACgB;IACrB,MAAM,qBAAqB,GACvB,6BAA6B,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAElE,MAAM,UAAU,GAAsB;QAClC,GAAG,cAAc;QACjB,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;KACnB,CAAC;IAEF,OAAO,IAAA,mCAAoB,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { IExecuteFunctions, NodeExecutionWithMetadata } from "n8n-workflow";
2
+ import { WebhookInstanceOperations } from "../../descriptions/Webhooks/webhookInstance/const";
3
+ type ExecFunction = (this: IExecuteFunctions, index: number) => Promise<NodeExecutionWithMetadata[]>;
4
+ export declare const execMap: Record<WebhookInstanceOperations, ExecFunction>;
5
+ export {};
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.execMap = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const transport_1 = require("../../transport");
6
+ const utils_1 = require("../utils");
7
+ function getWebhookInstanceInputsInput(index) {
8
+ const inputs = this.getNodeParameter("webhookInputs", index, {});
9
+ return inputs;
10
+ }
11
+ function getWebhookInstanceIdentifierInputs(index) {
12
+ const webhookID = this.getNodeParameter("webhookID", index);
13
+ const instanceID = this.getNodeParameter("webhookInstanceID", index, null);
14
+ const externalID = this.getNodeParameter("webhookExternalID", index, null);
15
+ const useExternalID = this.getNodeParameter("queryType", index);
16
+ // Validate the identifier that matches the selected mode. The other field is
17
+ // hidden in the UI but can retain a stale value, which must not be used.
18
+ if (useExternalID && !externalID) {
19
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), "Please enter a value for External ID.");
20
+ }
21
+ if (!useExternalID && !instanceID) {
22
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), "Please enter a value for Instance ID.");
23
+ }
24
+ return { webhookID, instanceID, externalID, useExternalID };
25
+ }
26
+ function getWebhookInstanceEndpoint(index) {
27
+ const { webhookID, instanceID, externalID, useExternalID } = getWebhookInstanceIdentifierInputs.call(this, index);
28
+ const endpoint = useExternalID
29
+ ? `webhooks/instances/${webhookID}/${externalID}`
30
+ : `webhooks/instances/${instanceID}`;
31
+ return endpoint;
32
+ }
33
+ async function getExec(index) {
34
+ const endpoint = getWebhookInstanceEndpoint.call(this, index);
35
+ const responseData = await transport_1.toolboxApiRequest.call(this, {
36
+ method: "GET",
37
+ endpoint,
38
+ });
39
+ return utils_1.constructExecutionMetaData.call(this, index, responseData);
40
+ }
41
+ async function createExec(index) {
42
+ const webhookID = this.getNodeParameter("webhookID", index);
43
+ const { webhookExternalID } = this.getNodeParameter("additionalFields", index);
44
+ const { value: inputs } = getWebhookInstanceInputsInput.call(this, index);
45
+ const body = {
46
+ WebhookID: webhookID,
47
+ inputs: JSON.stringify(inputs),
48
+ externalID: webhookExternalID,
49
+ };
50
+ if (webhookExternalID === "")
51
+ delete body.externalID;
52
+ const responseData = await transport_1.toolboxApiRequest.call(this, {
53
+ method: "POST",
54
+ body,
55
+ endpoint: "webhooks/instances",
56
+ });
57
+ return utils_1.constructExecutionMetaData.call(this, index, responseData);
58
+ }
59
+ async function getInstanceID(index) {
60
+ const { instanceID, externalID } = getWebhookInstanceIdentifierInputs.call(this, index);
61
+ if (instanceID)
62
+ return instanceID;
63
+ if (externalID) {
64
+ const endpoint = getWebhookInstanceEndpoint.call(this, index);
65
+ const result = await transport_1.toolboxApiRequest.call(this, {
66
+ method: "GET",
67
+ endpoint,
68
+ });
69
+ if (!result || !result?.id)
70
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `No instance found with externalID ${externalID}`);
71
+ return result.id;
72
+ }
73
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), "Invalid inputs -- please enter an ExternalID or an InstanceID");
74
+ }
75
+ async function updateExec(index) {
76
+ const instanceID = await getInstanceID.call(this, index);
77
+ const { value: inputs } = getWebhookInstanceInputsInput.call(this, index);
78
+ const responseData = await transport_1.toolboxApiRequest.call(this, {
79
+ method: "PATCH",
80
+ body: { inputs: JSON.stringify(inputs) },
81
+ endpoint: `webhooks/instances/${instanceID}`,
82
+ });
83
+ return utils_1.constructExecutionMetaData.call(this, index, responseData);
84
+ }
85
+ async function deactivateExec(index) {
86
+ const endpoint = getWebhookInstanceEndpoint.call(this, index);
87
+ const responseData = await transport_1.toolboxApiRequest.call(this, {
88
+ method: "DELETE",
89
+ endpoint,
90
+ });
91
+ return utils_1.constructExecutionMetaData.call(this, index, responseData);
92
+ }
93
+ exports.execMap = {
94
+ create: createExec,
95
+ deactivate: deactivateExec,
96
+ get: getExec,
97
+ update: updateExec,
98
+ };
99
+ //# sourceMappingURL=executes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executes.js","sourceRoot":"","sources":["../../../../../../nodes/Toolbox/v1/actions/webhookInstance/executes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { IHookFunctions } from "n8n-workflow";
2
+ export declare const webhookMethods: {
3
+ default: {
4
+ checkExists(this: IHookFunctions): Promise<boolean>;
5
+ create(this: IHookFunctions): Promise<boolean>;
6
+ delete(this: IHookFunctions): Promise<boolean>;
7
+ };
8
+ };
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webhookMethods = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const n8n_workflow_1 = require("n8n-workflow");
6
+ const transport_1 = require("../../transport");
7
+ function getWebhookSubscriptionID() {
8
+ const webhookData = this.getWorkflowStaticData("node");
9
+ return webhookData.webhookSubscriptionID;
10
+ }
11
+ function setWebhookSubscriptionID(webhookSubscriptionID) {
12
+ const webhookData = this.getWorkflowStaticData("node");
13
+ webhookData.webhookSubscriptionID = webhookSubscriptionID;
14
+ }
15
+ function deleteWebhookSubscriptionID() {
16
+ const webhookData = this.getWorkflowStaticData("node");
17
+ delete webhookData.webhookSubscriptionID;
18
+ }
19
+ exports.webhookMethods = {
20
+ default: {
21
+ async checkExists() {
22
+ const webhookSubscriptionID = getWebhookSubscriptionID.call(this);
23
+ return webhookSubscriptionID !== undefined;
24
+ },
25
+ async create() {
26
+ const webhookUrl = this.getNodeWebhookUrl("default");
27
+ const webhookID = this.getNodeParameter("webhookID", 0);
28
+ const webhookEventType = this.getNodeParameter("webhookEventType", 0);
29
+ const onlyFirstVisit = this.getNodeParameter("onlyFirstVisit", 0);
30
+ const webhookSubscriptionID = (0, crypto_1.randomUUID)();
31
+ const body = {
32
+ webhookID: webhookID,
33
+ url: webhookUrl,
34
+ type: webhookEventType,
35
+ onlyFirstVisit,
36
+ id: webhookSubscriptionID,
37
+ };
38
+ const res = await transport_1.toolboxApiRequest.call(this, {
39
+ method: "POST",
40
+ body,
41
+ endpoint: "webhooks/subscribe",
42
+ });
43
+ const success = res.id === webhookSubscriptionID;
44
+ if (!success) {
45
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), "Webhook subscription failed: the API did not confirm the subscription id.");
46
+ }
47
+ setWebhookSubscriptionID.call(this, webhookSubscriptionID);
48
+ return true;
49
+ },
50
+ async delete() {
51
+ const webhookSubscriptionID = getWebhookSubscriptionID.call(this);
52
+ try {
53
+ await transport_1.toolboxApiRequest.call(this, {
54
+ method: "DELETE",
55
+ endpoint: `webhooks/subscribe/${webhookSubscriptionID}`,
56
+ });
57
+ }
58
+ catch (e) {
59
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), e);
60
+ }
61
+ finally {
62
+ deleteWebhookSubscriptionID.call(this);
63
+ }
64
+ return true;
65
+ },
66
+ },
67
+ };
68
+ //# sourceMappingURL=webhookMethods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhookMethods.js","sourceRoot":"","sources":["../../../../../../nodes/Toolbox/v1/actions/webhookSubscription/webhookMethods.ts"],"names":[],"mappings":";;;AAAA,mCAA0C;AAC1C,+CAAkE;AAClE,+CAAoD;AAEpD,SAAS,wBAAwB;IAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,WAAW,CAAC,qBAAqB,CAAC;AAC7C,CAAC;AACD,SAAS,wBAAwB,CAE7B,qBAA2B;IAE3B,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACvD,WAAW,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;AAC9D,CAAC;AACD,SAAS,2BAA2B;IAChC,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,WAAW,CAAC,qBAAqB,CAAC;AAC7C,CAAC;AAEY,QAAA,cAAc,GAAG;IAC1B,OAAO,EAAE;QACL,KAAK,CAAC,WAAW;YACb,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClE,OAAO,qBAAqB,KAAK,SAAS,CAAC;QAC/C,CAAC;QACD,KAAK,CAAC,MAAM;YACR,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAW,CAAC;YAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAW,CAAC;YAElE,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAC1C,kBAAkB,EAClB,CAAC,CACM,CAAC;YACZ,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CACxC,gBAAgB,EAChB,CAAC,CACO,CAAC;YAEb,MAAM,qBAAqB,GAAG,IAAA,mBAAU,GAAE,CAAC;YAE3C,MAAM,IAAI,GAAG;gBACT,SAAS,EAAE,SAAS;gBACpB,GAAG,EAAE,UAAU;gBACf,IAAI,EAAE,gBAAgB;gBACtB,cAAc;gBACd,EAAE,EAAE,qBAAqB;aAC5B,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,6BAAiB,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC3C,MAAM,EAAE,MAAM;gBACd,IAAI;gBACJ,QAAQ,EAAE,oBAAoB;aACjC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,KAAK,qBAAqB,CAAC;YAEjD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,IAAI,iCAAkB,CACxB,IAAI,CAAC,OAAO,EAAE,EACd,2EAA2E,CAC9E,CAAC;YACN,CAAC;YACD,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,KAAK,CAAC,MAAM;YACR,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElE,IAAI,CAAC;gBACD,MAAM,6BAAiB,CAAC,IAAI,CAAC,IAAI,EAAE;oBAC/B,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,sBAAsB,qBAAqB,EAAE;iBAC1D,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;oBAAS,CAAC;gBACP,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ;CACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=hints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hints.js","sourceRoot":"","sources":["../../../../../../nodes/Toolbox/v1/descriptions/Webhooks/hints.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { INodeProperties } from "n8n-workflow";
2
+ export declare const inputs: Record<string, INodeProperties>;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inputs = void 0;
4
+ exports.inputs = {
5
+ webhookID: {
6
+ displayName: "Webhook Name or ID",
7
+ name: "webhookID",
8
+ type: "options",
9
+ typeOptions: {
10
+ loadOptionsMethod: "getWebhooks",
11
+ loadOptionsDependsOn: ["webhookID"],
12
+ },
13
+ default: "",
14
+ required: true,
15
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
16
+ },
17
+ webhookInputs: {
18
+ displayName: "Inputs",
19
+ name: "webhookInputs",
20
+ type: "resourceMapper",
21
+ default: { mappingMode: "defineBelow", value: null },
22
+ noDataExpression: true,
23
+ typeOptions: {
24
+ loadOptionsDependsOn: ["webhookID"],
25
+ resourceMapper: {
26
+ resourceMapperMethod: "getWebhookInputs",
27
+ mode: "add",
28
+ fieldWords: { singular: "input", plural: "inputs" },
29
+ addAllFields: true,
30
+ multiKeyMatch: false,
31
+ },
32
+ },
33
+ },
34
+ queryType: {
35
+ displayName: "Use ExternalID",
36
+ name: "queryType",
37
+ type: "boolean",
38
+ default: false,
39
+ description: "Whether InstanceID or ExternalID is used to query a webhook instance",
40
+ },
41
+ // TODO: rename to be less silly
42
+ webhookExternalIDAlwaysOn: {
43
+ displayName: "External ID",
44
+ name: "webhookExternalID",
45
+ type: "string",
46
+ default: "",
47
+ description: "An optional identifier for a webhook instance manually set at instance deployment",
48
+ },
49
+ webhookExternalID: {
50
+ displayName: "External ID",
51
+ name: "webhookExternalID",
52
+ type: "string",
53
+ default: "",
54
+ description: "An optional identifier for a webhook instance manually set at instance deployment",
55
+ displayOptions: { show: { queryType: [true] } },
56
+ },
57
+ webhookInstanceID: {
58
+ displayName: "Instance ID",
59
+ name: "webhookInstanceID",
60
+ type: "string",
61
+ default: "",
62
+ description: "The unique identifier for a webhook instance",
63
+ displayOptions: { show: { queryType: [false] } },
64
+ },
65
+ webhookEventType: {
66
+ displayName: "Event Type",
67
+ name: "webhookEventType",
68
+ type: "options",
69
+ default: "submit",
70
+ description: "The option to trigger on page visit or page submission",
71
+ options: [
72
+ { name: "Webpage Visit", value: "visit" },
73
+ { name: "Webpage Submission", value: "submit" },
74
+ ],
75
+ },
76
+ onlyFirstVisit: {
77
+ displayName: "Only First Visit",
78
+ name: "onlyFirstVisit",
79
+ type: "boolean",
80
+ default: false,
81
+ description: "Whether this workflow triggers only on the first webpage visit",
82
+ displayOptions: { show: { webhookEventType: ["visit"] } },
83
+ },
84
+ };
85
+ //# sourceMappingURL=inputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../../../../../nodes/Toolbox/v1/descriptions/Webhooks/inputs.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAoC;IACnD,SAAS,EAAE;QACP,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE;YACT,iBAAiB,EAAE,aAAa;YAChC,oBAAoB,EAAE,CAAC,WAAW,CAAC;SACtC;QACD,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EACP,gHAAgH;KACvH;IAED,aAAa,EAAE;QACX,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE;QACpD,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE;YACT,oBAAoB,EAAE,CAAC,WAAW,CAAC;YACnC,cAAc,EAAE;gBACZ,oBAAoB,EAAE,kBAAkB;gBACxC,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACnD,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,KAAK;aACvB;SACJ;KACJ;IACD,SAAS,EAAE;QACP,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EACP,sEAAsE;KAC7E;IACD,gCAAgC;IAChC,yBAAyB,EAAE;QACvB,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EACP,mFAAmF;KAC1F;IACD,iBAAiB,EAAE;QACf,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EACP,mFAAmF;QACvF,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE;KAClD;IACD,iBAAiB,EAAE;QACf,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,8CAA8C;QAC3D,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;KACnD;IACD,gBAAgB,EAAE;QACd,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,wDAAwD;QACrE,OAAO,EAAE;YACL,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE;YACzC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE;SAClD;KACJ;IACD,cAAc,EAAE;QACZ,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EACP,gEAAgE;QACpE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;KAC5D;CACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const RESOURCE_NAME = "webhookInstance";
2
+ export declare const RESOURCE_DISPLAY_NAME = "Webhook Instance";
3
+ export type WebhookInstanceOperations = "create" | "deactivate" | "get" | "update";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RESOURCE_DISPLAY_NAME = exports.RESOURCE_NAME = void 0;
4
+ exports.RESOURCE_NAME = "webhookInstance";
5
+ exports.RESOURCE_DISPLAY_NAME = "Webhook Instance";
6
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../../../../nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAClC,QAAA,qBAAqB,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { INodeProperties } from "n8n-workflow";
2
+ export declare const description: INodeProperties[];
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.description = void 0;
4
+ const displayOptions_1 = require("../../../../../../utils/displayOptions");
5
+ const utils_1 = require("../../../actions/utils");
6
+ const const_1 = require("./const");
7
+ const operation_options_1 = require("./operation.options");
8
+ const inputs_1 = require("../inputs");
9
+ const getDisplayOptions = (0, displayOptions_1.getDisplayOptionsFn)(const_1.RESOURCE_NAME);
10
+ const operation = {
11
+ displayName: "Operation",
12
+ name: "operation",
13
+ type: "options",
14
+ noDataExpression: true,
15
+ displayOptions: {
16
+ show: {
17
+ resource: [const_1.RESOURCE_NAME],
18
+ },
19
+ },
20
+ options: operation_options_1.options,
21
+ default: "get",
22
+ };
23
+ const createDesc = (0, utils_1.getDescription)({
24
+ requiredInputs: [inputs_1.inputs.webhookID, inputs_1.inputs.webhookInputs],
25
+ optionalInputs: [inputs_1.inputs.webhookExternalIDAlwaysOn],
26
+ displayOptions: getDisplayOptions("create"),
27
+ });
28
+ const updateDesc = (0, utils_1.getDescription)({
29
+ requiredInputs: [
30
+ inputs_1.inputs.webhookID,
31
+ inputs_1.inputs.queryType,
32
+ inputs_1.inputs.webhookExternalID,
33
+ inputs_1.inputs.webhookInstanceID,
34
+ inputs_1.inputs.webhookInputs,
35
+ ],
36
+ displayOptions: getDisplayOptions("update"),
37
+ });
38
+ const deactivateDesc = (0, utils_1.getDescription)({
39
+ requiredInputs: [
40
+ inputs_1.inputs.webhookID,
41
+ inputs_1.inputs.queryType,
42
+ inputs_1.inputs.webhookExternalID,
43
+ inputs_1.inputs.webhookInstanceID,
44
+ ],
45
+ displayOptions: getDisplayOptions("deactivate"),
46
+ });
47
+ const getDesc = (0, utils_1.getDescription)({
48
+ requiredInputs: [
49
+ inputs_1.inputs.webhookID,
50
+ inputs_1.inputs.queryType,
51
+ inputs_1.inputs.webhookExternalID,
52
+ inputs_1.inputs.webhookInstanceID,
53
+ ],
54
+ displayOptions: getDisplayOptions("get"),
55
+ hints: [
56
+ {
57
+ displayName: "The instance ID can be found here: https://toolbox.thegraphitelab.com/tools/webpages/{this-string-here} (the end of the URL when you edit the webpage)",
58
+ name: "notice",
59
+ type: "notice",
60
+ default: "",
61
+ },
62
+ ],
63
+ });
64
+ exports.description = [
65
+ operation,
66
+ ...getDesc,
67
+ ...createDesc,
68
+ ...updateDesc,
69
+ ...deactivateDesc,
70
+ ];
71
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/index.ts"],"names":[],"mappings":";;;AACA,2EAA6E;AAC7E,kDAAwD;AACxD,mCAAmE;AACnE,2DAA8C;AAC9C,sCAAmC;AAEnC,MAAM,iBAAiB,GACnB,IAAA,oCAAmB,EAA4B,qBAAa,CAAC,CAAC;AAElE,MAAM,SAAS,GAAoB;IAC/B,WAAW,EAAE,WAAW;IACxB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,SAAS;IACf,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE;QACZ,IAAI,EAAE;YACF,QAAQ,EAAE,CAAC,qBAAa,CAAC;SAC5B;KACJ;IACD,OAAO,EAAP,2BAAO;IACP,OAAO,EAAE,KAAK;CACjB,CAAC;AAEF,MAAM,UAAU,GAAG,IAAA,sBAAc,EAAC;IAC9B,cAAc,EAAE,CAAC,eAAM,CAAC,SAAS,EAAE,eAAM,CAAC,aAAa,CAAC;IACxD,cAAc,EAAE,CAAC,eAAM,CAAC,yBAAyB,CAAC;IAClD,cAAc,EAAE,iBAAiB,CAAC,QAAQ,CAAC;CAC9C,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAA,sBAAc,EAAC;IAC9B,cAAc,EAAE;QACZ,eAAM,CAAC,SAAS;QAChB,eAAM,CAAC,SAAS;QAChB,eAAM,CAAC,iBAAiB;QACxB,eAAM,CAAC,iBAAiB;QACxB,eAAM,CAAC,aAAa;KACvB;IACD,cAAc,EAAE,iBAAiB,CAAC,QAAQ,CAAC;CAC9C,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAA,sBAAc,EAAC;IAClC,cAAc,EAAE;QACZ,eAAM,CAAC,SAAS;QAChB,eAAM,CAAC,SAAS;QAChB,eAAM,CAAC,iBAAiB;QACxB,eAAM,CAAC,iBAAiB;KAC3B;IACD,cAAc,EAAE,iBAAiB,CAAC,YAAY,CAAC;CAClD,CAAC,CAAC;AACH,MAAM,OAAO,GAAG,IAAA,sBAAc,EAAC;IAC3B,cAAc,EAAE;QACZ,eAAM,CAAC,SAAS;QAChB,eAAM,CAAC,SAAS;QAChB,eAAM,CAAC,iBAAiB;QACxB,eAAM,CAAC,iBAAiB;KAC3B;IACD,cAAc,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACxC,KAAK,EAAE;QACH;YACI,WAAW,EACP,wJAAwJ;YAC5J,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;SACd;KACJ;CACJ,CAAC,CAAC;AAEU,QAAA,WAAW,GAAG;IACvB,SAAS;IACT,GAAG,OAAO;IACV,GAAG,UAAU;IACb,GAAG,UAAU;IACb,GAAG,cAAc;CACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { INodePropertyOptions } from "n8n-workflow";
2
+ export declare const options: INodePropertyOptions[];
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.options = void 0;
4
+ const getOptions = {
5
+ name: "Get",
6
+ value: "get",
7
+ description: "Retrieves a deployed webhook instance",
8
+ action: "Get a webhook instance",
9
+ };
10
+ const createOptions = {
11
+ name: "Create",
12
+ value: "create",
13
+ description: "Creates a new URL of the specified webhook using the most recent code deployed in the Toolbox",
14
+ action: "Create a webhook instance",
15
+ };
16
+ const updateOptions = {
17
+ name: "Update",
18
+ value: "update",
19
+ description: "Updates a deployed webhook instance",
20
+ action: "Update a webhook instance",
21
+ };
22
+ const deactivateOptions = {
23
+ name: "(BROKEN) Deactivate",
24
+ value: "deactivate",
25
+ description: "Points the URL for this webhook instance to a 404 webpage",
26
+ action: "Deactivate a webhook instance",
27
+ };
28
+ exports.options = [
29
+ getOptions,
30
+ createOptions,
31
+ updateOptions,
32
+ deactivateOptions,
33
+ ];
34
+ //# sourceMappingURL=operation.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.options.js","sourceRoot":"","sources":["../../../../../../../nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/operation.options.ts"],"names":[],"mappings":";;;AAEA,MAAM,UAAU,GAAyB;IACrC,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,KAAK;IACZ,WAAW,EAAE,uCAAuC;IACpD,MAAM,EAAE,wBAAwB;CACnC,CAAC;AAEF,MAAM,aAAa,GAAyB;IACxC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,WAAW,EACP,+FAA+F;IACnG,MAAM,EAAE,2BAA2B;CACtC,CAAC;AAEF,MAAM,aAAa,GAAyB;IACxC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,qCAAqC;IAClD,MAAM,EAAE,2BAA2B;CACtC,CAAC;AAEF,MAAM,iBAAiB,GAAyB;IAC5C,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,2DAA2D;IACxE,MAAM,EAAE,+BAA+B;CAC1C,CAAC;AAEW,QAAA,OAAO,GAAG;IACnB,UAAU;IACV,aAAa;IACb,aAAa;IACb,iBAAiB;CACpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { INodeProperties, INodePropertyOptions, INodePropertyCollection } from "n8n-workflow";
2
+ export declare const webhookInstanceResourceOptions: {
3
+ name: string;
4
+ value: string;
5
+ };
6
+ export declare const options: (INodeProperties | INodePropertyOptions | INodePropertyCollection)[];
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.options = exports.webhookInstanceResourceOptions = void 0;
4
+ const const_1 = require("./const");
5
+ exports.webhookInstanceResourceOptions = {
6
+ name: const_1.RESOURCE_DISPLAY_NAME,
7
+ value: const_1.RESOURCE_NAME,
8
+ };
9
+ exports.options = [exports.webhookInstanceResourceOptions];
10
+ //# sourceMappingURL=resource.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.options.js","sourceRoot":"","sources":["../../../../../../../nodes/Toolbox/v1/descriptions/Webhooks/webhookInstance/resource.options.ts"],"names":[],"mappings":";;;AAKA,mCAGiB;AAEJ,QAAA,8BAA8B,GAAG;IAC1C,IAAI,EAAE,6BAA0B;IAChC,KAAK,EAAE,qBAAoB;CAC9B,CAAC;AAEW,QAAA,OAAO,GAId,CAAC,sCAA8B,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const RESOURCE_NAME = "webhookSubscription";
2
+ export declare const RESOURCE_DISPLAY_NAME = "Webhook Subscription";
3
+ export type WebhookInstanceSubscriptionOperations = "subscribe";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RESOURCE_DISPLAY_NAME = exports.RESOURCE_NAME = void 0;
4
+ exports.RESOURCE_NAME = "webhookSubscription";
5
+ exports.RESOURCE_DISPLAY_NAME = "Webhook Subscription";
6
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../../../../nodes/Toolbox/v1/descriptions/Webhooks/webhookSubscription/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,qBAAqB,CAAC;AACtC,QAAA,qBAAqB,GAAG,sBAAsB,CAAC"}