@beel_es/sdk 1.0.0 → 1.1.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/LICENSE +21 -0
- package/README.md +167 -76
- package/dist/index.d.mts +9744 -0
- package/dist/index.d.ts +9736 -18
- package/dist/index.js +801 -50
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +756 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +48 -19
- package/dist/client.d.ts +0 -54
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -94
- package/dist/client.js.map +0 -1
- package/dist/generated/client/client.gen.d.ts +0 -3
- package/dist/generated/client/client.gen.d.ts.map +0 -1
- package/dist/generated/client/client.gen.js +0 -240
- package/dist/generated/client/client.gen.js.map +0 -1
- package/dist/generated/client/index.d.ts +0 -9
- package/dist/generated/client/index.d.ts.map +0 -1
- package/dist/generated/client/index.js +0 -18
- package/dist/generated/client/index.js.map +0 -1
- package/dist/generated/client/types.gen.d.ts +0 -118
- package/dist/generated/client/types.gen.d.ts.map +0 -1
- package/dist/generated/client/types.gen.js +0 -4
- package/dist/generated/client/types.gen.js.map +0 -1
- package/dist/generated/client/utils.gen.d.ts +0 -34
- package/dist/generated/client/utils.gen.d.ts.map +0 -1
- package/dist/generated/client/utils.gen.js +0 -242
- package/dist/generated/client/utils.gen.js.map +0 -1
- package/dist/generated/client.gen.d.ts +0 -13
- package/dist/generated/client.gen.d.ts.map +0 -1
- package/dist/generated/client.gen.js +0 -7
- package/dist/generated/client.gen.js.map +0 -1
- package/dist/generated/core/auth.gen.d.ts +0 -19
- package/dist/generated/core/auth.gen.d.ts.map +0 -1
- package/dist/generated/core/auth.gen.js +0 -19
- package/dist/generated/core/auth.gen.js.map +0 -1
- package/dist/generated/core/bodySerializer.gen.d.ts +0 -26
- package/dist/generated/core/bodySerializer.gen.d.ts.map +0 -1
- package/dist/generated/core/bodySerializer.gen.js +0 -61
- package/dist/generated/core/bodySerializer.gen.js.map +0 -1
- package/dist/generated/core/params.gen.d.ts +0 -44
- package/dist/generated/core/params.gen.d.ts.map +0 -1
- package/dist/generated/core/params.gen.js +0 -105
- package/dist/generated/core/params.gen.js.map +0 -1
- package/dist/generated/core/pathSerializer.gen.d.ts +0 -34
- package/dist/generated/core/pathSerializer.gen.d.ts.map +0 -1
- package/dist/generated/core/pathSerializer.gen.js +0 -116
- package/dist/generated/core/pathSerializer.gen.js.map +0 -1
- package/dist/generated/core/queryKeySerializer.gen.d.ts +0 -19
- package/dist/generated/core/queryKeySerializer.gen.d.ts.map +0 -1
- package/dist/generated/core/queryKeySerializer.gen.js +0 -99
- package/dist/generated/core/queryKeySerializer.gen.js.map +0 -1
- package/dist/generated/core/serverSentEvents.gen.d.ts +0 -72
- package/dist/generated/core/serverSentEvents.gen.d.ts.map +0 -1
- package/dist/generated/core/serverSentEvents.gen.js +0 -138
- package/dist/generated/core/serverSentEvents.gen.js.map +0 -1
- package/dist/generated/core/types.gen.d.ts +0 -79
- package/dist/generated/core/types.gen.d.ts.map +0 -1
- package/dist/generated/core/types.gen.js +0 -4
- package/dist/generated/core/types.gen.js.map +0 -1
- package/dist/generated/core/utils.gen.d.ts +0 -20
- package/dist/generated/core/utils.gen.d.ts.map +0 -1
- package/dist/generated/core/utils.gen.js +0 -94
- package/dist/generated/core/utils.gen.js.map +0 -1
- package/dist/generated/index.d.ts +0 -3
- package/dist/generated/index.d.ts.map +0 -1
- package/dist/generated/index.js +0 -84
- package/dist/generated/index.js.map +0 -1
- package/dist/generated/sdk.gen.d.ts +0 -966
- package/dist/generated/sdk.gen.d.ts.map +0 -1
- package/dist/generated/sdk.gen.js +0 -1490
- package/dist/generated/sdk.gen.js.map +0 -1
- package/dist/generated/types.gen.d.ts +0 -5646
- package/dist/generated/types.gen.d.ts.map +0 -1
- package/dist/generated/types.gen.js +0 -4
- package/dist/generated/types.gen.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/resources/companies.d.ts +0 -75
- package/dist/resources/companies.d.ts.map +0 -1
- package/dist/resources/companies.js +0 -77
- package/dist/resources/companies.js.map +0 -1
- package/dist/resources/config.d.ts +0 -106
- package/dist/resources/config.d.ts.map +0 -1
- package/dist/resources/config.js +0 -86
- package/dist/resources/config.js.map +0 -1
- package/dist/resources/customers.d.ts +0 -172
- package/dist/resources/customers.d.ts.map +0 -1
- package/dist/resources/customers.js +0 -96
- package/dist/resources/customers.js.map +0 -1
- package/dist/resources/invoices.d.ts +0 -370
- package/dist/resources/invoices.d.ts.map +0 -1
- package/dist/resources/invoices.js +0 -174
- package/dist/resources/invoices.js.map +0 -1
- package/dist/resources/products.d.ts +0 -155
- package/dist/resources/products.d.ts.map +0 -1
- package/dist/resources/products.js +0 -96
- package/dist/resources/products.js.map +0 -1
- package/dist/resources/series.d.ts +0 -98
- package/dist/resources/series.d.ts.map +0 -1
- package/dist/resources/series.js +0 -83
- package/dist/resources/series.js.map +0 -1
- package/dist/webhooks/index.d.ts +0 -20
- package/dist/webhooks/index.d.ts.map +0 -1
- package/dist/webhooks/index.js +0 -70
- package/dist/webhooks/index.js.map +0 -1
package/dist/webhooks/index.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WebhookVerificationError = exports.WebhookVerifier = void 0;
|
|
4
|
-
const crypto_1 = require("crypto");
|
|
5
|
-
class WebhookVerifier {
|
|
6
|
-
constructor(secret, toleranceSeconds = 300) {
|
|
7
|
-
if (!secret || secret.trim().length === 0) {
|
|
8
|
-
throw new Error('Webhook secret is required');
|
|
9
|
-
}
|
|
10
|
-
this.secret = secret;
|
|
11
|
-
this.toleranceSeconds = toleranceSeconds;
|
|
12
|
-
}
|
|
13
|
-
verify(rawBody, signatureHeader) {
|
|
14
|
-
if (!signatureHeader) {
|
|
15
|
-
throw new WebhookVerificationError('Missing BeeL-Signature header');
|
|
16
|
-
}
|
|
17
|
-
const { timestamp, signature } = this.parseSignatureHeader(signatureHeader);
|
|
18
|
-
const now = Math.floor(Date.now() / 1000);
|
|
19
|
-
const age = Math.abs(now - timestamp);
|
|
20
|
-
if (age > this.toleranceSeconds) {
|
|
21
|
-
throw new WebhookVerificationError(`Webhook timestamp too old (${age}s ago, max ${this.toleranceSeconds}s allowed)`);
|
|
22
|
-
}
|
|
23
|
-
const bodyString = Buffer.isBuffer(rawBody) ? rawBody.toString('utf8') : rawBody;
|
|
24
|
-
const expectedSignature = this.computeSignature(timestamp, bodyString);
|
|
25
|
-
if (!this.secureCompare(signature, expectedSignature)) {
|
|
26
|
-
throw new WebhookVerificationError('Invalid webhook signature');
|
|
27
|
-
}
|
|
28
|
-
try {
|
|
29
|
-
return JSON.parse(bodyString);
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
throw new WebhookVerificationError('Invalid JSON in webhook body');
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
parseSignatureHeader(header) {
|
|
36
|
-
const parts = header.split(',');
|
|
37
|
-
let timestamp;
|
|
38
|
-
let signature;
|
|
39
|
-
for (const part of parts) {
|
|
40
|
-
const [key, value] = part.split('=', 2);
|
|
41
|
-
if (key === 't')
|
|
42
|
-
timestamp = parseInt(value, 10);
|
|
43
|
-
else if (key === 'v1')
|
|
44
|
-
signature = value;
|
|
45
|
-
}
|
|
46
|
-
if (!timestamp || !signature || isNaN(timestamp)) {
|
|
47
|
-
throw new WebhookVerificationError('Invalid signature header format');
|
|
48
|
-
}
|
|
49
|
-
return { timestamp, signature };
|
|
50
|
-
}
|
|
51
|
-
computeSignature(timestamp, body) {
|
|
52
|
-
return (0, crypto_1.createHmac)('sha256', this.secret)
|
|
53
|
-
.update(`${timestamp}.${body}`, 'utf8')
|
|
54
|
-
.digest('hex');
|
|
55
|
-
}
|
|
56
|
-
secureCompare(a, b) {
|
|
57
|
-
if (a.length !== b.length)
|
|
58
|
-
return false;
|
|
59
|
-
return (0, crypto_1.timingSafeEqual)(Buffer.from(a, 'utf8'), Buffer.from(b, 'utf8'));
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.WebhookVerifier = WebhookVerifier;
|
|
63
|
-
class WebhookVerificationError extends Error {
|
|
64
|
-
constructor(message) {
|
|
65
|
-
super(message);
|
|
66
|
-
this.name = 'WebhookVerificationError';
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
exports.WebhookVerificationError = WebhookVerificationError;
|
|
70
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webhooks/index.ts"],"names":[],"mappings":";;;AAAA,mCAAqD;AAUrD,MAAa,eAAe;IAI1B,YAAY,MAAc,EAAE,mBAA2B,GAAG;QACxD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,MAAM,CACJ,OAAwB,EACxB,eAAmC;QAEnC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,wBAAwB,CAAC,+BAA+B,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;QAE5E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;QAEtC,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChC,MAAM,IAAI,wBAAwB,CAChC,8BAA8B,GAAG,cAAc,IAAI,CAAC,gBAAgB,YAAY,CACjF,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjF,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEvE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,wBAAwB,CAAC,2BAA2B,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,wBAAwB,CAAC,8BAA8B,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,MAAc;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,SAA6B,CAAC;QAClC,IAAI,SAA6B,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,GAAG,KAAK,GAAG;gBAAE,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;iBAC5C,IAAI,GAAG,KAAK,IAAI;gBAAE,SAAS,GAAG,KAAK,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,wBAAwB,CAAC,iCAAiC,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAClC,CAAC;IAEO,gBAAgB,CAAC,SAAiB,EAAE,IAAY;QACtD,OAAO,IAAA,mBAAU,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;aACrC,MAAM,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC;aACtC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAEO,aAAa,CAAC,CAAS,EAAE,CAAS;QACxC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,OAAO,IAAA,wBAAe,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAzED,0CAyEC;AAED,MAAa,wBAAyB,SAAQ,KAAK;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AALD,4DAKC"}
|