@limetech/n8n-nodes-lime 3.7.0-dev.2 → 3.7.1
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 +9 -9
- package/credentials/LimeCrmApi.credentials.ts +0 -19
- package/dist/credentials/LimeCrmApi.credentials.js +0 -16
- package/dist/credentials/LimeCrmApi.credentials.js.map +1 -1
- package/dist/nodes/{common.d.ts → crypto.d.ts} +2 -0
- package/dist/nodes/crypto.js +57 -0
- package/dist/nodes/crypto.js.map +1 -0
- package/dist/nodes/lime-crm/LimeCrmTrigger.node.js +33 -31
- package/dist/nodes/lime-crm/LimeCrmTrigger.node.js.map +1 -1
- package/dist/nodes/lime-crm/models/webhook.d.ts +4 -1
- package/dist/nodes/lime-crm/transport/commons.js +4 -2
- package/dist/nodes/lime-crm/transport/commons.js.map +1 -1
- package/dist/nodes/lime-crm/transport/webhooks.d.ts +2 -2
- package/dist/nodes/lime-crm/transport/webhooks.js +5 -5
- package/dist/nodes/lime-crm/transport/webhooks.js.map +1 -1
- package/dist/nodes/lime-forms/LimeFormsTrigger.node.js +3 -3
- package/dist/nodes/lime-forms/LimeFormsTrigger.node.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/nodes/{common.ts → crypto.ts} +71 -26
- package/nodes/lime-crm/LimeCrmTrigger.node.ts +47 -43
- package/nodes/lime-crm/models/webhook.ts +1 -1
- package/nodes/lime-crm/transport/commons.ts +2 -0
- package/nodes/lime-crm/transport/webhooks.ts +7 -7
- package/nodes/lime-forms/LimeFormsTrigger.node.ts +2 -2
- package/package.json +1 -1
- package/dist/nodes/common.js +0 -36
- package/dist/nodes/common.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
## [3.7.1](https://github.com/Lundalogik/lime-n8n/compare/v3.7.0...v3.7.1) (2026-05-06)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Bug Fixes
|
|
5
5
|
|
|
6
|
-
*
|
|
7
|
-
* trigger dev release ([a30fccb](https://github.com/Lundalogik/lime-n8n/commit/a30fccbbb22fa1a771b380790810e6c7bdfe326d))
|
|
8
|
-
* trigger new dev releae ([d29dfbe](https://github.com/Lundalogik/lime-n8n/commit/d29dfbed9f53e0e9051325f28d0565e59ac5599b))
|
|
6
|
+
* change handling of webhook secret ([ca2a90f](https://github.com/Lundalogik/lime-n8n/commit/ca2a90f409542cd134e08b2620ab895efda61ae5))
|
|
9
7
|
|
|
10
|
-
# [3.7.0
|
|
8
|
+
# [3.7.0](https://github.com/Lundalogik/lime-n8n/compare/v3.6.3...v3.7.0) (2026-04-28)
|
|
11
9
|
|
|
12
10
|
|
|
13
|
-
###
|
|
11
|
+
### Features
|
|
14
12
|
|
|
15
|
-
*
|
|
13
|
+
* enhance API error handling to include detailed error context ([db3d48a](https://github.com/Lundalogik/lime-n8n/commit/db3d48a78e7e3bcef0f241bdaa049cbfa596d355))
|
|
16
14
|
|
|
15
|
+
## [3.6.3](https://github.com/Lundalogik/lime-n8n/compare/v3.6.2...v3.6.3) (2026-04-21)
|
|
17
16
|
|
|
18
|
-
### Features
|
|
19
17
|
|
|
20
|
-
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* format ([e933c66](https://github.com/Lundalogik/lime-n8n/commit/e933c66d655226e5f23f89d3aad9f3135d05272e))
|
|
21
21
|
|
|
22
22
|
## [3.6.2](https://github.com/Lundalogik/lime-n8n/compare/v3.6.1...v3.6.2) (2026-04-16)
|
|
23
23
|
|
|
@@ -5,7 +5,6 @@ import {
|
|
|
5
5
|
IAuthenticate,
|
|
6
6
|
ICredentialTestRequest,
|
|
7
7
|
} from 'n8n-workflow';
|
|
8
|
-
import crypto from 'node:crypto';
|
|
9
8
|
|
|
10
9
|
import { LIME_CRM_API_CREDENTIAL_KEY } from '../nodes';
|
|
11
10
|
|
|
@@ -30,11 +29,6 @@ import { LIME_CRM_API_CREDENTIAL_KEY } from '../nodes';
|
|
|
30
29
|
* - **API Key:** The API key generated in Lime CRM.
|
|
31
30
|
* - You can obtain it from Lime Admin.
|
|
32
31
|
*
|
|
33
|
-
* ## Additional Fields
|
|
34
|
-
* - **Webhook Secret:** A hidden, automatically generated secret (32-byte hex string) used to
|
|
35
|
-
* authenticate incoming webhook requests between Lime CRM and n8n. This ensures secure event
|
|
36
|
-
* communication.
|
|
37
|
-
*
|
|
38
32
|
* ## Testing Connection
|
|
39
33
|
* The `test` property verifies credentials by sending a `GET` request to the `/api/v1/` endpoint
|
|
40
34
|
* of the provided Lime CRM instance. If the response is successful (HTTP 200), the credentials
|
|
@@ -71,19 +65,6 @@ export class LimeCrmApi implements ICredentialType {
|
|
|
71
65
|
required: true,
|
|
72
66
|
description: 'The API key obtained from Lime CRM',
|
|
73
67
|
},
|
|
74
|
-
{
|
|
75
|
-
displayName: 'Webhook secret',
|
|
76
|
-
name: 'webhookSecret',
|
|
77
|
-
type: 'hidden',
|
|
78
|
-
typeOptions: {
|
|
79
|
-
password: true,
|
|
80
|
-
},
|
|
81
|
-
default: crypto.randomBytes(32).toString('hex'),
|
|
82
|
-
required: false,
|
|
83
|
-
description:
|
|
84
|
-
'A secret to authenticate webhook used in communication' +
|
|
85
|
-
'with Lime CRM',
|
|
86
|
-
},
|
|
87
68
|
];
|
|
88
69
|
|
|
89
70
|
authenticate: IAuthenticate = {
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.LimeCrmApi = void 0;
|
|
7
|
-
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
8
4
|
const nodes_1 = require("../nodes");
|
|
9
5
|
class LimeCrmApi {
|
|
10
6
|
constructor() {
|
|
@@ -32,18 +28,6 @@ class LimeCrmApi {
|
|
|
32
28
|
required: true,
|
|
33
29
|
description: 'The API key obtained from Lime CRM',
|
|
34
30
|
},
|
|
35
|
-
{
|
|
36
|
-
displayName: 'Webhook secret',
|
|
37
|
-
name: 'webhookSecret',
|
|
38
|
-
type: 'hidden',
|
|
39
|
-
typeOptions: {
|
|
40
|
-
password: true,
|
|
41
|
-
},
|
|
42
|
-
default: node_crypto_1.default.randomBytes(32).toString('hex'),
|
|
43
|
-
required: false,
|
|
44
|
-
description: 'A secret to authenticate webhook used in communication' +
|
|
45
|
-
'with Lime CRM',
|
|
46
|
-
},
|
|
47
31
|
];
|
|
48
32
|
this.authenticate = {
|
|
49
33
|
type: 'generic',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimeCrmApi.credentials.js","sourceRoot":"","sources":["../../credentials/LimeCrmApi.credentials.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LimeCrmApi.credentials.js","sourceRoot":"","sources":["../../credentials/LimeCrmApi.credentials.ts"],"names":[],"mappings":";;;AAQA,oCAAuD;AAkCvD,MAAa,UAAU;IAAvB;QACI,SAAI,GAAG,mCAA2B,CAAC;QACnC,gBAAW,GAAG,cAAc,CAAC;QAC7B,qBAAgB,GAAG,gCAAgC,CAAC;QACpD,eAAU,GAAsB;YAC5B;gBACI,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,6CAA6C;gBAC1D,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,mCAAmC;aACnD;YACD;gBACI,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACT,QAAQ,EAAE,IAAI;iBACjB;gBACD,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,oCAAoC;aACpD;SACJ,CAAC;QAEF,iBAAY,GAAkB;YAC1B,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACR,OAAO,EAAE;oBAEL,WAAW,EAAE,0BAA0B;iBAC1C;aACJ;SACJ,CAAC;QAEF,SAAI,GAA2B;YAC3B,OAAO,EAAE;gBACL,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;gBACnD,GAAG,EAAE,UAAU;gBACf,MAAM,EAAE,KAA4B;gBACpC,OAAO,EAAE;oBACL,WAAW,EAAE,0BAA0B;oBACvC,MAAM,EAAE,kBAAkB;iBAC7B;aACJ;SACJ,CAAC;IACN,CAAC;CAAA;AAhDD,gCAgDC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { INode } from 'n8n-workflow';
|
|
2
2
|
export declare function verifyHmac(key: string, data: Buffer, comparedHmac: string): boolean;
|
|
3
3
|
export declare const verifyRequest: (node: INode, limeSignature: string, webhookSecret: string, data: Buffer) => void;
|
|
4
|
+
export declare const encryptSecret: (plaintext: string) => string;
|
|
5
|
+
export declare const decryptSecret: (blob: string) => string;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decryptSecret = exports.encryptSecret = exports.verifyRequest = void 0;
|
|
4
|
+
exports.verifyHmac = verifyHmac;
|
|
5
|
+
const node_crypto_1 = require("node:crypto");
|
|
6
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
7
|
+
const ENCRYPTION_KEY_ENV = 'N8N_ENCRYPTION_KEY';
|
|
8
|
+
const HKDF_INFO = 'lime-webhook-secret';
|
|
9
|
+
function generateHmac(key, data) {
|
|
10
|
+
return 'sha256=' + (0, node_crypto_1.createHmac)('sha256', key).update(data).digest('hex');
|
|
11
|
+
}
|
|
12
|
+
function verifyHmac(key, data, comparedHmac) {
|
|
13
|
+
return generateHmac(key, data) === comparedHmac;
|
|
14
|
+
}
|
|
15
|
+
const verifyRequest = (node, limeSignature, webhookSecret, data) => {
|
|
16
|
+
if (!limeSignature) {
|
|
17
|
+
throw new n8n_workflow_1.NodeOperationError(node, 'Webhook authentication failed, signature key is missing while secret is present!');
|
|
18
|
+
}
|
|
19
|
+
const expectedHmac = generateHmac(webhookSecret, data);
|
|
20
|
+
if (expectedHmac !== limeSignature) {
|
|
21
|
+
throw new n8n_workflow_1.NodeOperationError(node, 'Webhook authentication failed, signatures do not match');
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
exports.verifyRequest = verifyRequest;
|
|
25
|
+
const getMasterKey = () => {
|
|
26
|
+
const key = process.env[ENCRYPTION_KEY_ENV];
|
|
27
|
+
if (!key) {
|
|
28
|
+
throw new Error(`${ENCRYPTION_KEY_ENV} must be set to manage Lime CRM webhooks`);
|
|
29
|
+
}
|
|
30
|
+
return key;
|
|
31
|
+
};
|
|
32
|
+
const encryptSecret = (plaintext) => {
|
|
33
|
+
const salt = (0, node_crypto_1.randomBytes)(16);
|
|
34
|
+
const iv = (0, node_crypto_1.randomBytes)(12);
|
|
35
|
+
const key = Buffer.from((0, node_crypto_1.hkdfSync)('sha256', getMasterKey(), salt, HKDF_INFO, 32));
|
|
36
|
+
const cipher = (0, node_crypto_1.createCipheriv)('aes-256-gcm', key, iv);
|
|
37
|
+
const ct = Buffer.concat([
|
|
38
|
+
cipher.update(plaintext, 'utf8'),
|
|
39
|
+
cipher.final(),
|
|
40
|
+
]);
|
|
41
|
+
const tag = cipher.getAuthTag();
|
|
42
|
+
return Buffer.concat([salt, iv, tag, ct]).toString('base64');
|
|
43
|
+
};
|
|
44
|
+
exports.encryptSecret = encryptSecret;
|
|
45
|
+
const decryptSecret = (blob) => {
|
|
46
|
+
const buf = Buffer.from(blob, 'base64');
|
|
47
|
+
const salt = buf.subarray(0, 16);
|
|
48
|
+
const iv = buf.subarray(16, 28);
|
|
49
|
+
const tag = buf.subarray(28, 44);
|
|
50
|
+
const ct = buf.subarray(44);
|
|
51
|
+
const key = Buffer.from((0, node_crypto_1.hkdfSync)('sha256', getMasterKey(), salt, HKDF_INFO, 32));
|
|
52
|
+
const decipher = (0, node_crypto_1.createDecipheriv)('aes-256-gcm', key, iv);
|
|
53
|
+
decipher.setAuthTag(tag);
|
|
54
|
+
return Buffer.concat([decipher.update(ct), decipher.final()]).toString('utf8');
|
|
55
|
+
};
|
|
56
|
+
exports.decryptSecret = decryptSecret;
|
|
57
|
+
//# sourceMappingURL=crypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../nodes/crypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,9 @@ const models_1 = require("./models");
|
|
|
6
6
|
const methods_1 = require("./methods");
|
|
7
7
|
const transport_1 = require("./transport");
|
|
8
8
|
const node_crypto_1 = require("node:crypto");
|
|
9
|
+
const crypto_1 = require("../crypto");
|
|
9
10
|
const utils_1 = require("./utils");
|
|
10
|
-
const
|
|
11
|
+
const crypto_2 = require("../crypto");
|
|
11
12
|
class LimeCrmTrigger {
|
|
12
13
|
constructor() {
|
|
13
14
|
this.description = {
|
|
@@ -108,7 +109,7 @@ class LimeCrmTrigger {
|
|
|
108
109
|
return false;
|
|
109
110
|
}
|
|
110
111
|
try {
|
|
111
|
-
await (0, transport_1.getSubscription)(this, webhook);
|
|
112
|
+
await (0, transport_1.getSubscription)(this, webhook.data.webhookId);
|
|
112
113
|
}
|
|
113
114
|
catch (error) {
|
|
114
115
|
if (((_a = error.cause) === null || _a === void 0 ? void 0 : _a.status) === 404) {
|
|
@@ -133,40 +134,38 @@ class LimeCrmTrigger {
|
|
|
133
134
|
message: existingSubscriptionResponse.data.error.message,
|
|
134
135
|
});
|
|
135
136
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
const subscriptionId = createSubscriptionResponse.data.id;
|
|
149
|
-
const events = createSubscriptionResponse.data.events;
|
|
150
|
-
webhook.data.webhookId = subscriptionId;
|
|
151
|
-
webhook.data.webhookEvents = events;
|
|
152
|
-
n8n_workflow_1.LoggerProxy.info(`Webhook with URL ${webhook.url}, ID ${subscriptionId} and events ${events} created!`);
|
|
153
|
-
return true;
|
|
137
|
+
const rawSecret = (0, node_crypto_1.randomBytes)(32).toString('hex');
|
|
138
|
+
webhook.data.webhookSecret = (0, crypto_1.encryptSecret)(rawSecret);
|
|
139
|
+
const webhookCreateData = {
|
|
140
|
+
...webhook,
|
|
141
|
+
secret: rawSecret,
|
|
142
|
+
};
|
|
143
|
+
const createSubscriptionResponse = await (0, transport_1.createSubscription)(this, webhookCreateData);
|
|
144
|
+
if (!createSubscriptionResponse.success) {
|
|
145
|
+
throw new n8n_workflow_1.NodeApiError(this.getNode(), {
|
|
146
|
+
message: createSubscriptionResponse.data.error.message,
|
|
147
|
+
});
|
|
154
148
|
}
|
|
155
|
-
|
|
156
|
-
const
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
return true;
|
|
149
|
+
if (existingSubscriptionResponse.data.length > 0) {
|
|
150
|
+
for (const subscription of existingSubscriptionResponse.data) {
|
|
151
|
+
n8n_workflow_1.LoggerProxy.info('Deleting existing Lime CRM webhook with ID: ' +
|
|
152
|
+
subscription.id);
|
|
153
|
+
await (0, transport_1.deleteSubscription)(this, subscription.id);
|
|
154
|
+
}
|
|
162
155
|
}
|
|
156
|
+
const subscriptionId = createSubscriptionResponse.data.id;
|
|
157
|
+
const events = createSubscriptionResponse.data.events;
|
|
158
|
+
webhook.data.webhookId = subscriptionId;
|
|
159
|
+
webhook.data.webhookEvents = events;
|
|
160
|
+
n8n_workflow_1.LoggerProxy.info(`Webhook with URL ${webhook.url}, ID ${subscriptionId} and events ${events} created!`);
|
|
161
|
+
return true;
|
|
163
162
|
},
|
|
164
163
|
async delete() {
|
|
165
164
|
const webhook = (0, utils_1.getWebhook)(this);
|
|
166
165
|
n8n_workflow_1.LoggerProxy.info(`Deleting webhook with ID: ${webhook.data.webhookId}`, { ...webhook });
|
|
167
166
|
if (webhook.data.webhookId !== undefined) {
|
|
168
167
|
try {
|
|
169
|
-
await (0, transport_1.deleteSubscription)(this, webhook);
|
|
168
|
+
await (0, transport_1.deleteSubscription)(this, webhook.data.webhookId);
|
|
170
169
|
}
|
|
171
170
|
catch {
|
|
172
171
|
n8n_workflow_1.LoggerProxy.error(`Failed to delete webhook with ID: ${webhook.data.webhookId}`, {
|
|
@@ -188,14 +187,17 @@ class LimeCrmTrigger {
|
|
|
188
187
|
n8n_workflow_1.LoggerProxy.info('Webhook received. Starting webhook processing...', {
|
|
189
188
|
...webhook.context,
|
|
190
189
|
});
|
|
191
|
-
const
|
|
192
|
-
|
|
190
|
+
const encryptedSecret = webhook.data.webhookSecret;
|
|
191
|
+
if (!encryptedSecret) {
|
|
192
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Webhook is not registered: missing secret in static data');
|
|
193
|
+
}
|
|
194
|
+
const webhookSecret = (0, crypto_1.decryptSecret)(encryptedSecret);
|
|
193
195
|
const requestObject = this.getRequestObject();
|
|
194
196
|
const headerData = this.getHeaderData();
|
|
195
197
|
const bodyData = this.getBodyData();
|
|
196
198
|
const limeSignature = headerData['x-lime-signature'];
|
|
197
199
|
try {
|
|
198
|
-
(0,
|
|
200
|
+
(0, crypto_2.verifyRequest)(this.getNode(), limeSignature, webhookSecret, requestObject.rawBody);
|
|
199
201
|
}
|
|
200
202
|
catch (error) {
|
|
201
203
|
const secretFingerprint = webhookSecret
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimeCrmTrigger.node.js","sourceRoot":"","sources":["../../../nodes/lime-crm/LimeCrmTrigger.node.ts"],"names":[],"mappings":";;;AAAA,+CAWsB;AAEtB,qCAAuD;AACvD,uCAAyC;AACzC,2CAKqB;AACrB,
|
|
1
|
+
{"version":3,"file":"LimeCrmTrigger.node.js","sourceRoot":"","sources":["../../../nodes/lime-crm/LimeCrmTrigger.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,10 @@ export interface WebhookContext {
|
|
|
7
7
|
workflowName?: string;
|
|
8
8
|
}
|
|
9
9
|
export interface Webhook {
|
|
10
|
-
data: IDataObject
|
|
10
|
+
data: IDataObject & {
|
|
11
|
+
webhookId?: string;
|
|
12
|
+
webhookSecret?: string;
|
|
13
|
+
};
|
|
11
14
|
events: string[];
|
|
12
15
|
url?: string;
|
|
13
16
|
context: WebhookContext;
|
|
@@ -23,7 +23,7 @@ async function getLimeUrl(context) {
|
|
|
23
23
|
return credentials.url;
|
|
24
24
|
}
|
|
25
25
|
async function callLimeApi(nodeContext, options) {
|
|
26
|
-
var _a;
|
|
26
|
+
var _a, _b, _c, _d;
|
|
27
27
|
try {
|
|
28
28
|
const response = await nodeContext.helpers.requestWithAuthentication.call(nodeContext, models_1.LIME_CRM_API_CREDENTIAL_KEY, {
|
|
29
29
|
method: options.method,
|
|
@@ -38,9 +38,11 @@ async function callLimeApi(nodeContext, options) {
|
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
catch (error) {
|
|
41
|
+
const errorBody = (_b = (_a = error === null || error === void 0 ? void 0 : error.cause) === null || _a === void 0 ? void 0 : _a.error) !== null && _b !== void 0 ? _b : (_c = error === null || error === void 0 ? void 0 : error.cause) === null || _c === void 0 ? void 0 : _c.body;
|
|
41
42
|
const errorContext = {
|
|
42
43
|
message: error instanceof Error ? error.message : String(error),
|
|
43
|
-
status: (
|
|
44
|
+
status: (_d = error === null || error === void 0 ? void 0 : error.cause) === null || _d === void 0 ? void 0 : _d.status,
|
|
45
|
+
...(errorBody != null && { error: errorBody }),
|
|
44
46
|
metadata: {
|
|
45
47
|
...options.requestOptions,
|
|
46
48
|
...options.errorMetadata,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commons.js","sourceRoot":"","sources":["../../../../nodes/lime-crm/transport/commons.ts"],"names":[],"mappings":";;AAwBA,gCASC;AAED,gEAQC;AAqDD,
|
|
1
|
+
{"version":3,"file":"commons.js","sourceRoot":"","sources":["../../../../nodes/lime-crm/transport/commons.ts"],"names":[],"mappings":";;AAwBA,gCASC;AAED,gEAQC;AAqDD,kCAkCC;AAlID,sCAAwD;AAExD,oCAAqE;AAsBrE,SAAgB,UAAU,CACtB,IAAO,EACP,IAAS;IAET,MAAM,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;IACxB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAgB,0BAA0B,CACtC,QAA4B,EAC5B,IAAS;IAET,OAAO;QACH,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;KACxC,CAAC;AACN,CAAC;AAYD,KAAK,UAAU,UAAU,CAAC,OAA6B;IACnD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,CAC5C,oCAA2B,CAC9B,CAAC;IACF,OAAO,WAAW,CAAC,GAAa,CAAC;AACrC,CAAC;AAoCM,KAAK,UAAU,WAAW,CAC7B,WAAiC,EACjC,OAAyB;;IAEzB,IAAI,CAAC;QACD,MAAM,QAAQ,GACV,MAAM,WAAW,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CACpD,WAAW,EACX,oCAA2B,EAC3B;YACI,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,OAAO,EAAE,MAAM,UAAU,CAAC,WAAW,CAAC;YACtC,GAAG,OAAO,CAAC,cAAc;SAC5B,CACJ,CAAC;QACN,OAAO;YACH,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;SACjB,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,KAAK,mCAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,IAAI,CAAC;QAC5D,MAAM,YAAY,GAAyB;YACvC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/D,MAAM,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,MAAM;YAC5B,GAAG,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC9C,QAAQ,EAAE;gBACN,GAAG,OAAO,CAAC,cAAc;gBACzB,GAAG,OAAO,CAAC,aAAa;aACb;SAClB,CAAC;QACF,OAAO,IAAA,2BAAmB,EAAC,WAAW,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;AACL,CAAC"}
|
|
@@ -8,7 +8,7 @@ export interface ApiResponseWebhook {
|
|
|
8
8
|
events: string[];
|
|
9
9
|
target_url: string;
|
|
10
10
|
}
|
|
11
|
-
export declare function getSubscription(nodeContext: IAllExecuteFunctions,
|
|
11
|
+
export declare function getSubscription(nodeContext: IAllExecuteFunctions, webhookId: string): Promise<APIResponse<ApiResponseWebhook>>;
|
|
12
12
|
export declare function listSubscriptionsWithExistingData(nodeContext: IAllExecuteFunctions, webhook: Webhook): Promise<APIResponse<ApiResponseWebhook[]>>;
|
|
13
13
|
export declare function createSubscription(nodeContext: IAllExecuteFunctions, webhook: CreateWebhook): Promise<APIResponse<ApiResponseWebhook>>;
|
|
14
|
-
export declare function deleteSubscription(nodeContext: IAllExecuteFunctions,
|
|
14
|
+
export declare function deleteSubscription(nodeContext: IAllExecuteFunctions, webhookId: string): Promise<APIResponse<void>>;
|
|
@@ -6,10 +6,10 @@ exports.createSubscription = createSubscription;
|
|
|
6
6
|
exports.deleteSubscription = deleteSubscription;
|
|
7
7
|
const _1 = require(".");
|
|
8
8
|
const SUBSCRIPTION_URL = 'api/v1/subscription/';
|
|
9
|
-
async function getSubscription(nodeContext,
|
|
9
|
+
async function getSubscription(nodeContext, webhookId) {
|
|
10
10
|
return await (0, _1.callLimeApi)(nodeContext, {
|
|
11
11
|
method: 'GET',
|
|
12
|
-
url: `${SUBSCRIPTION_URL}${
|
|
12
|
+
url: `${SUBSCRIPTION_URL}${webhookId}`,
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
async function listSubscriptionsWithExistingData(nodeContext, webhook) {
|
|
@@ -39,12 +39,12 @@ async function createSubscription(nodeContext, webhook) {
|
|
|
39
39
|
},
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
|
-
async function deleteSubscription(nodeContext,
|
|
42
|
+
async function deleteSubscription(nodeContext, webhookId) {
|
|
43
43
|
return await (0, _1.callLimeApi)(nodeContext, {
|
|
44
44
|
method: 'DELETE',
|
|
45
|
-
url: `${SUBSCRIPTION_URL}${
|
|
45
|
+
url: `${SUBSCRIPTION_URL}${webhookId}/`,
|
|
46
46
|
errorMetadata: {
|
|
47
|
-
id:
|
|
47
|
+
id: webhookId,
|
|
48
48
|
},
|
|
49
49
|
});
|
|
50
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../../nodes/lime-crm/transport/webhooks.ts"],"names":[],"mappings":";;AA4CA,0CAQC;AAaD,8EAeC;AAaD,gDAgBC;AAaD,gDAWC;AArID,wBAAgC;AAWhC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAiCzC,KAAK,UAAU,eAAe,CACjC,WAAiC,EACjC,
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../../nodes/lime-crm/transport/webhooks.ts"],"names":[],"mappings":";;AA4CA,0CAQC;AAaD,8EAeC;AAaD,gDAgBC;AAaD,gDAWC;AArID,wBAAgC;AAWhC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAiCzC,KAAK,UAAU,eAAe,CACjC,WAAiC,EACjC,SAAiB;IAEjB,OAAO,MAAM,IAAA,cAAW,EAAC,WAAW,EAAE;QAClC,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,GAAG,gBAAgB,GAAG,SAAS,EAAE;KACzC,CAAC,CAAC;AACP,CAAC;AAaM,KAAK,UAAU,iCAAiC,CACnD,WAAiC,EACjC,OAAgB;IAEhB,OAAO,MAAM,IAAA,cAAW,EAAC,WAAW,EAAE;QAClC,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,gBAAgB;QACrB,cAAc,EAAE;YACZ,EAAE,EAAE;gBACA,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBAChC,UAAU,EAAE,OAAO,CAAC,GAAG;gBACvB,OAAO,EAAE,IAAI;aAChB;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAaM,KAAK,UAAU,kBAAkB,CACpC,WAAiC,EACjC,OAAsB;IAEtB,OAAO,MAAM,IAAA,cAAW,EAAC,WAAW,EAAE;QAClC,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,gBAAgB;QACrB,cAAc,EAAE;YACZ,IAAI,EAAE;gBACF,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,UAAU,EAAE,OAAO,CAAC,GAAG;gBACvB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;aACzB;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAaM,KAAK,UAAU,kBAAkB,CACpC,WAAiC,EACjC,SAAiB;IAEjB,OAAO,MAAM,IAAA,cAAW,EAAC,WAAW,EAAE;QAClC,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,GAAG,gBAAgB,GAAG,SAAS,GAAG;QACvC,aAAa,EAAE;YACX,EAAE,EAAE,SAAS;SAChB;KACJ,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -7,7 +7,7 @@ const ObservableAction_1 = require("./types/enums/ObservableAction");
|
|
|
7
7
|
const ObservableType_1 = require("./types/enums/ObservableType");
|
|
8
8
|
const credentials_1 = require("../../credentials");
|
|
9
9
|
const workflow_1 = require("./utils/workflow");
|
|
10
|
-
const
|
|
10
|
+
const crypto_1 = require("../crypto");
|
|
11
11
|
const errorHandling_1 = require("../errorHandling");
|
|
12
12
|
const FORMS_OBSERVABLE_WEBHOOK_NAME_PREFIX = 'N8N';
|
|
13
13
|
class LimeFormsTrigger {
|
|
@@ -166,11 +166,11 @@ class LimeFormsTrigger {
|
|
|
166
166
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No signature header passed. Unable to verify integrity of the data.');
|
|
167
167
|
}
|
|
168
168
|
const webhookSecret = await this.getCredentials(credentials_1.FORMS_API_CREDENTIALS_NAME).then((c) => c.webhookSecret);
|
|
169
|
-
const isValidSignature = (0,
|
|
169
|
+
const isValidSignature = (0, crypto_1.verifyHmac)(webhookSecret, Buffer.from(JSON.stringify(body)), ('sha256=' + headers['x-signature']));
|
|
170
170
|
if (!isValidSignature) {
|
|
171
171
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Invalid signature');
|
|
172
172
|
}
|
|
173
|
-
returnData.push(body);
|
|
173
|
+
returnData.push(body.data);
|
|
174
174
|
}
|
|
175
175
|
catch (error) {
|
|
176
176
|
const response = (0, errorHandling_1.handleWorkflowError)(this.getNode(), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimeFormsTrigger.node.js","sourceRoot":"","sources":["../../../nodes/lime-forms/LimeFormsTrigger.node.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"LimeFormsTrigger.node.js","sourceRoot":"","sources":["../../../nodes/lime-forms/LimeFormsTrigger.node.ts"],"names":[],"mappings":"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"}
|