@wiicode/youcanpay-sdk 1.0.4 → 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.
@@ -6,8 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ParseWebhookPipe = void 0;
10
- exports.ParsedWebhook = ParsedWebhook;
9
+ exports.ParsedWebhook = exports.ParseWebhookPipe = void 0;
11
10
  const common_1 = require("@nestjs/common");
12
11
  const webhook_1 = require("../../security/webhook");
13
12
  let ParseWebhookPipe = class ParseWebhookPipe {
@@ -27,8 +26,16 @@ exports.ParseWebhookPipe = ParseWebhookPipe;
27
26
  exports.ParseWebhookPipe = ParseWebhookPipe = __decorate([
28
27
  (0, common_1.Injectable)()
29
28
  ], ParseWebhookPipe);
30
- function ParsedWebhook() {
31
- return (target, propertyKey, parameterIndex) => {
32
- };
33
- }
29
+ exports.ParsedWebhook = (0, common_1.createParamDecorator)((_data, ctx) => {
30
+ try {
31
+ const request = ctx.switchToHttp().getRequest();
32
+ return (0, webhook_1.parseWebhookPayload)(request.body);
33
+ }
34
+ catch (error) {
35
+ if (error instanceof webhook_1.WebhookParseError) {
36
+ throw new common_1.BadRequestException(error.message);
37
+ }
38
+ throw new common_1.BadRequestException('Failed to parse webhook payload');
39
+ }
40
+ });
34
41
  //# sourceMappingURL=webhook.pipe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.pipe.js","sourceRoot":"","sources":["../../../src/nestjs/pipes/webhook.pipe.ts"],"names":[],"mappings":";;;;;;;;;AAyCA,sCAKC;AA9CD,2CAAgF;AAChF,oDAAsG;AAe/F,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,SAAS,CAAC,KAAc;QACtB,IAAI,CAAC;YACH,OAAO,IAAA,6BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,2BAAiB,EAAE,CAAC;gBACvC,MAAM,IAAI,4BAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,IAAI,4BAAmB,CAAC,iCAAiC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;CACF,CAAA;AAXY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;GACA,gBAAgB,CAW5B;AAcD,SAAgB,aAAa;IAC3B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;IAG/C,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"webhook.pipe.js","sourceRoot":"","sources":["../../../src/nestjs/pipes/webhook.pipe.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAMwB;AACxB,oDAAsG;AAe/F,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,SAAS,CAAC,KAAc;QACtB,IAAI,CAAC;YACH,OAAO,IAAA,6BAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,2BAAiB,EAAE,CAAC;gBACvC,MAAM,IAAI,4BAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,IAAI,4BAAmB,CAAC,iCAAiC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;CACF,CAAA;AAXY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;GACA,gBAAgB,CAW5B;AAcY,QAAA,aAAa,GAAG,IAAA,6BAAoB,EAC/C,CAAC,KAAc,EAAE,GAAqB,EAAwB,EAAE;IAC9D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAqB,CAAC;QACnE,OAAO,IAAA,6BAAmB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,2BAAiB,EAAE,CAAC;YACvC,MAAM,IAAI,4BAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,IAAI,4BAAmB,CAAC,iCAAiC,CAAC,CAAC;IACnE,CAAC;AACH,CAAC,CACF,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export { parseWebhookPayload, verifyWebhookSecret, verifyWebhookHMAC, createWebhookSignature, WebhookParseError, WebhookVerifyError, type YouCanPayRawWebhook, type ParsedWebhookPayload, type WebhookVerifyOptions, } from './webhook';
2
- export { validateAmount, validateCurrency, validateRedirectURL, validateOrderId, validateIP, validateEmail, validatePaymentInput, sanitizeString, toCentimes, fromCentimes, formatAmount, SUPPORTED_CURRENCIES, type SupportedCurrency, type ValidationResult, type AmountValidationOptions, type URLValidationOptions, } from './validators';
2
+ export { validateAmount, validateCurrency, validateRedirectURL, validateOrderId, validateIP, validateEmail, validateTokenId, validateTimeout, validateClientOptions, validateCardNumber, validateExpiryDate, validateCVV, validateCardHolderName, validatePaymentInput, sanitizeString, toCentimes, fromCentimes, formatAmount, SUPPORTED_CURRENCIES, type SupportedCurrency, type ValidationResult, type AmountValidationOptions, type ClientOptionsValidationInput, type URLValidationOptions, } from './validators';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SUPPORTED_CURRENCIES = exports.formatAmount = exports.fromCentimes = exports.toCentimes = exports.sanitizeString = exports.validatePaymentInput = exports.validateEmail = exports.validateIP = exports.validateOrderId = exports.validateRedirectURL = exports.validateCurrency = exports.validateAmount = exports.WebhookVerifyError = exports.WebhookParseError = exports.createWebhookSignature = exports.verifyWebhookHMAC = exports.verifyWebhookSecret = exports.parseWebhookPayload = void 0;
3
+ exports.SUPPORTED_CURRENCIES = exports.formatAmount = exports.fromCentimes = exports.toCentimes = exports.sanitizeString = exports.validatePaymentInput = exports.validateCardHolderName = exports.validateCVV = exports.validateExpiryDate = exports.validateCardNumber = exports.validateClientOptions = exports.validateTimeout = exports.validateTokenId = exports.validateEmail = exports.validateIP = exports.validateOrderId = exports.validateRedirectURL = exports.validateCurrency = exports.validateAmount = exports.WebhookVerifyError = exports.WebhookParseError = exports.createWebhookSignature = exports.verifyWebhookHMAC = exports.verifyWebhookSecret = exports.parseWebhookPayload = void 0;
4
4
  var webhook_1 = require("./webhook");
5
5
  Object.defineProperty(exports, "parseWebhookPayload", { enumerable: true, get: function () { return webhook_1.parseWebhookPayload; } });
6
6
  Object.defineProperty(exports, "verifyWebhookSecret", { enumerable: true, get: function () { return webhook_1.verifyWebhookSecret; } });
@@ -15,6 +15,13 @@ Object.defineProperty(exports, "validateRedirectURL", { enumerable: true, get: f
15
15
  Object.defineProperty(exports, "validateOrderId", { enumerable: true, get: function () { return validators_1.validateOrderId; } });
16
16
  Object.defineProperty(exports, "validateIP", { enumerable: true, get: function () { return validators_1.validateIP; } });
17
17
  Object.defineProperty(exports, "validateEmail", { enumerable: true, get: function () { return validators_1.validateEmail; } });
18
+ Object.defineProperty(exports, "validateTokenId", { enumerable: true, get: function () { return validators_1.validateTokenId; } });
19
+ Object.defineProperty(exports, "validateTimeout", { enumerable: true, get: function () { return validators_1.validateTimeout; } });
20
+ Object.defineProperty(exports, "validateClientOptions", { enumerable: true, get: function () { return validators_1.validateClientOptions; } });
21
+ Object.defineProperty(exports, "validateCardNumber", { enumerable: true, get: function () { return validators_1.validateCardNumber; } });
22
+ Object.defineProperty(exports, "validateExpiryDate", { enumerable: true, get: function () { return validators_1.validateExpiryDate; } });
23
+ Object.defineProperty(exports, "validateCVV", { enumerable: true, get: function () { return validators_1.validateCVV; } });
24
+ Object.defineProperty(exports, "validateCardHolderName", { enumerable: true, get: function () { return validators_1.validateCardHolderName; } });
18
25
  Object.defineProperty(exports, "validatePaymentInput", { enumerable: true, get: function () { return validators_1.validatePaymentInput; } });
19
26
  Object.defineProperty(exports, "sanitizeString", { enumerable: true, get: function () { return validators_1.sanitizeString; } });
20
27
  Object.defineProperty(exports, "toCentimes", { enumerable: true, get: function () { return validators_1.toCentimes; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":";;;AACA,qCAUmB;AATjB,8GAAA,mBAAmB,OAAA;AACnB,8GAAA,mBAAmB,OAAA;AACnB,4GAAA,iBAAiB,OAAA;AACjB,iHAAA,sBAAsB,OAAA;AACtB,4GAAA,iBAAiB,OAAA;AACjB,6GAAA,kBAAkB,OAAA;AAOpB,2CAiBsB;AAhBpB,4GAAA,cAAc,OAAA;AACd,8GAAA,gBAAgB,OAAA;AAChB,iHAAA,mBAAmB,OAAA;AACnB,6GAAA,eAAe,OAAA;AACf,wGAAA,UAAU,OAAA;AACV,2GAAA,aAAa,OAAA;AACb,kHAAA,oBAAoB,OAAA;AACpB,4GAAA,cAAc,OAAA;AACd,wGAAA,UAAU,OAAA;AACV,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AACZ,kHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":";;;AACA,qCAUmB;AATjB,8GAAA,mBAAmB,OAAA;AACnB,8GAAA,mBAAmB,OAAA;AACnB,4GAAA,iBAAiB,OAAA;AACjB,iHAAA,sBAAsB,OAAA;AACtB,4GAAA,iBAAiB,OAAA;AACjB,6GAAA,kBAAkB,OAAA;AAOpB,2CAyBsB;AAxBpB,4GAAA,cAAc,OAAA;AACd,8GAAA,gBAAgB,OAAA;AAChB,iHAAA,mBAAmB,OAAA;AACnB,6GAAA,eAAe,OAAA;AACf,wGAAA,UAAU,OAAA;AACV,2GAAA,aAAa,OAAA;AACb,6GAAA,eAAe,OAAA;AACf,6GAAA,eAAe,OAAA;AACf,mHAAA,qBAAqB,OAAA;AACrB,gHAAA,kBAAkB,OAAA;AAClB,gHAAA,kBAAkB,OAAA;AAClB,yGAAA,WAAW,OAAA;AACX,oHAAA,sBAAsB,OAAA;AACtB,kHAAA,oBAAoB,OAAA;AACpB,4GAAA,cAAc,OAAA;AACd,wGAAA,UAAU,OAAA;AACV,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AACZ,kHAAA,oBAAoB,OAAA"}
@@ -4,6 +4,11 @@ export interface ValidationResult {
4
4
  valid: boolean;
5
5
  error?: string;
6
6
  }
7
+ export interface ClientOptionsValidationInput {
8
+ privateKey?: unknown;
9
+ publicKey?: unknown;
10
+ timeout?: unknown;
11
+ }
7
12
  export interface AmountValidationOptions {
8
13
  min?: number;
9
14
  max?: number;
@@ -22,6 +27,13 @@ export declare function validateRedirectURL(url: unknown, options?: URLValidatio
22
27
  export declare function validateOrderId(orderId: unknown): ValidationResult;
23
28
  export declare function validateIP(ip: unknown): ValidationResult;
24
29
  export declare function validateEmail(email: unknown): ValidationResult;
30
+ export declare function validateTokenId(tokenId: unknown): ValidationResult;
31
+ export declare function validateTimeout(timeout: unknown): ValidationResult;
32
+ export declare function validateClientOptions(options: ClientOptionsValidationInput): ValidationResult;
33
+ export declare function validateCardNumber(cardNumber: unknown): ValidationResult;
34
+ export declare function validateExpiryDate(expireDate: unknown): ValidationResult;
35
+ export declare function validateCVV(cvv: unknown): ValidationResult;
36
+ export declare function validateCardHolderName(cardHolderName: unknown): ValidationResult;
25
37
  export declare function validatePaymentInput(input: {
26
38
  amount: unknown;
27
39
  currency: unknown;
@@ -7,12 +7,38 @@ exports.validateRedirectURL = validateRedirectURL;
7
7
  exports.validateOrderId = validateOrderId;
8
8
  exports.validateIP = validateIP;
9
9
  exports.validateEmail = validateEmail;
10
+ exports.validateTokenId = validateTokenId;
11
+ exports.validateTimeout = validateTimeout;
12
+ exports.validateClientOptions = validateClientOptions;
13
+ exports.validateCardNumber = validateCardNumber;
14
+ exports.validateExpiryDate = validateExpiryDate;
15
+ exports.validateCVV = validateCVV;
16
+ exports.validateCardHolderName = validateCardHolderName;
10
17
  exports.validatePaymentInput = validatePaymentInput;
11
18
  exports.sanitizeString = sanitizeString;
12
19
  exports.toCentimes = toCentimes;
13
20
  exports.fromCentimes = fromCentimes;
14
21
  exports.formatAmount = formatAmount;
15
22
  exports.SUPPORTED_CURRENCIES = ['MAD', 'USD', 'EUR'];
23
+ function isNonEmptyString(value) {
24
+ return typeof value === 'string' && value.trim().length > 0;
25
+ }
26
+ function passesLuhn(cardNumber) {
27
+ let sum = 0;
28
+ let shouldDouble = false;
29
+ for (let i = cardNumber.length - 1; i >= 0; i -= 1) {
30
+ let digit = Number(cardNumber[i]);
31
+ if (shouldDouble) {
32
+ digit *= 2;
33
+ if (digit > 9) {
34
+ digit -= 9;
35
+ }
36
+ }
37
+ sum += digit;
38
+ shouldDouble = !shouldDouble;
39
+ }
40
+ return sum % 10 === 0;
41
+ }
16
42
  function validateAmount(amount, options = {}) {
17
43
  const { min = 100, max = 100000000, currency = 'centimes' } = options;
18
44
  if (amount === null || amount === undefined) {
@@ -120,7 +146,8 @@ function validateIP(ip) {
120
146
  }
121
147
  const ipv4Pattern = /^(\d{1,3}\.){3}\d{1,3}$/;
122
148
  const ipv6Pattern = /^([0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{0,4}$/;
123
- if (!ipv4Pattern.test(ip) && !ipv6Pattern.test(ip) && ip !== '::1') {
149
+ const ipv4MappedIPv6Pattern = /^::ffff:(\d{1,3}\.){3}\d{1,3}$/i;
150
+ if (!ipv4Pattern.test(ip) && !ipv6Pattern.test(ip) && !ipv4MappedIPv6Pattern.test(ip) && ip !== '::1') {
124
151
  return { valid: false, error: 'Invalid IP address format' };
125
152
  }
126
153
  if (ipv4Pattern.test(ip)) {
@@ -129,6 +156,13 @@ function validateIP(ip) {
129
156
  return { valid: false, error: 'Invalid IP address: octet out of range' };
130
157
  }
131
158
  }
159
+ if (ipv4MappedIPv6Pattern.test(ip)) {
160
+ const ipv4Part = ip.replace(/^::ffff:/i, '');
161
+ const octets = ipv4Part.split('.').map(Number);
162
+ if (octets.some((octet) => octet > 255)) {
163
+ return { valid: false, error: 'Invalid IP address: octet out of range' };
164
+ }
165
+ }
132
166
  return { valid: true };
133
167
  }
134
168
  function validateEmail(email) {
@@ -147,6 +181,88 @@ function validateEmail(email) {
147
181
  }
148
182
  return { valid: true };
149
183
  }
184
+ function validateTokenId(tokenId) {
185
+ if (!isNonEmptyString(tokenId)) {
186
+ return { valid: false, error: 'Token ID is required' };
187
+ }
188
+ if (tokenId.length > 255) {
189
+ return { valid: false, error: 'Token ID is too long' };
190
+ }
191
+ return { valid: true };
192
+ }
193
+ function validateTimeout(timeout) {
194
+ if (timeout === undefined) {
195
+ return { valid: true };
196
+ }
197
+ if (typeof timeout !== 'number' || !Number.isFinite(timeout)) {
198
+ return { valid: false, error: 'Timeout must be a finite number' };
199
+ }
200
+ if (timeout <= 0) {
201
+ return { valid: false, error: 'Timeout must be greater than 0' };
202
+ }
203
+ return { valid: true };
204
+ }
205
+ function validateClientOptions(options) {
206
+ if (!isNonEmptyString(options.privateKey)) {
207
+ return { valid: false, error: 'privateKey is required' };
208
+ }
209
+ if (!isNonEmptyString(options.publicKey)) {
210
+ return { valid: false, error: 'publicKey is required' };
211
+ }
212
+ return validateTimeout(options.timeout);
213
+ }
214
+ function validateCardNumber(cardNumber) {
215
+ if (!isNonEmptyString(cardNumber)) {
216
+ return { valid: false, error: 'Card number is required' };
217
+ }
218
+ const normalized = cardNumber.replace(/\s+/g, '');
219
+ if (!/^\d{12,19}$/.test(normalized)) {
220
+ return { valid: false, error: 'Card number must contain 12 to 19 digits' };
221
+ }
222
+ if (!passesLuhn(normalized)) {
223
+ return { valid: false, error: 'Card number is invalid' };
224
+ }
225
+ return { valid: true };
226
+ }
227
+ function validateExpiryDate(expireDate) {
228
+ if (!isNonEmptyString(expireDate)) {
229
+ return { valid: false, error: 'Expire date is required' };
230
+ }
231
+ const match = expireDate.trim().match(/^(\d{2})\/(\d{2}|\d{4})$/);
232
+ if (!match) {
233
+ return { valid: false, error: 'Expire date must be in MM/YY or MM/YYYY format' };
234
+ }
235
+ const month = Number(match[1]);
236
+ const yearPart = match[2];
237
+ const year = yearPart.length === 2 ? 2000 + Number(yearPart) : Number(yearPart);
238
+ if (month < 1 || month > 12) {
239
+ return { valid: false, error: 'Expire date month must be between 01 and 12' };
240
+ }
241
+ const now = new Date();
242
+ const expiry = new Date(year, month, 0, 23, 59, 59, 999);
243
+ if (Number.isNaN(expiry.getTime()) || expiry < now) {
244
+ return { valid: false, error: 'Card is expired' };
245
+ }
246
+ return { valid: true };
247
+ }
248
+ function validateCVV(cvv) {
249
+ if (!isNonEmptyString(cvv)) {
250
+ return { valid: false, error: 'CVV is required' };
251
+ }
252
+ if (!/^\d{3,4}$/.test(cvv)) {
253
+ return { valid: false, error: 'CVV must be 3 or 4 digits' };
254
+ }
255
+ return { valid: true };
256
+ }
257
+ function validateCardHolderName(cardHolderName) {
258
+ if (!isNonEmptyString(cardHolderName)) {
259
+ return { valid: false, error: 'Card holder name is required' };
260
+ }
261
+ if (cardHolderName.trim().length > 255) {
262
+ return { valid: false, error: 'Card holder name is too long' };
263
+ }
264
+ return { valid: true };
265
+ }
150
266
  function validatePaymentInput(input) {
151
267
  const checks = [
152
268
  validateAmount(input.amount),
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/security/validators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/security/validators.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,14 @@ exports.verifyWebhookSecret = verifyWebhookSecret;
39
39
  exports.verifyWebhookHMAC = verifyWebhookHMAC;
40
40
  exports.createWebhookSignature = createWebhookSignature;
41
41
  const crypto = __importStar(require("crypto"));
42
+ function safeCompareStrings(left, right) {
43
+ const leftBuffer = Buffer.from(left, 'utf8');
44
+ const rightBuffer = Buffer.from(right, 'utf8');
45
+ if (leftBuffer.length !== rightBuffer.length) {
46
+ return false;
47
+ }
48
+ return crypto.timingSafeEqual(leftBuffer, rightBuffer);
49
+ }
42
50
  function parseWebhookPayload(payload) {
43
51
  if (!payload || typeof payload !== 'object') {
44
52
  throw new WebhookParseError('Invalid webhook payload: not an object');
@@ -57,6 +65,16 @@ function parseWebhookPayload(payload) {
57
65
  }
58
66
  const eventName = rawPayload.event_name;
59
67
  const rawStatus = Number(transaction.status);
68
+ const amount = Number(transaction.amount);
69
+ if (typeof eventName !== 'string' || eventName.trim() === '') {
70
+ throw new WebhookParseError('Invalid webhook payload: event_name must be a non-empty string');
71
+ }
72
+ if (!Number.isFinite(rawStatus)) {
73
+ throw new WebhookParseError('Invalid webhook payload: transaction status is invalid');
74
+ }
75
+ if (!Number.isFinite(amount) || amount < 0) {
76
+ throw new WebhookParseError('Invalid webhook payload: transaction amount is invalid');
77
+ }
60
78
  let status;
61
79
  if (rawStatus === 1 || eventName === 'transaction.paid') {
62
80
  status = 'paid';
@@ -77,7 +95,7 @@ function parseWebhookPayload(payload) {
77
95
  sandbox: rawPayload.sandbox,
78
96
  transactionId: transaction.id,
79
97
  orderId: transaction.order_id,
80
- amount: Number(transaction.amount),
98
+ amount,
81
99
  currency: transaction.currency,
82
100
  rawStatus,
83
101
  status,
@@ -98,13 +116,13 @@ function verifyWebhookSecret(options) {
98
116
  }
99
117
  if (headers) {
100
118
  const signature = headers[signatureHeader] || headers[signatureHeader.toLowerCase()];
101
- if (signature && signature === secret) {
119
+ if (signature && safeCompareStrings(signature, secret)) {
102
120
  return true;
103
121
  }
104
122
  }
105
123
  if (query) {
106
124
  const querySecret = query[secretParam];
107
- if (querySecret && querySecret === secret) {
125
+ if (querySecret && safeCompareStrings(querySecret, secret)) {
108
126
  return true;
109
127
  }
110
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/security/webhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/security/webhook.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwHA,kDAwEC;AAKD,kDAwBC;AAKD,8CAoBC;AAKD,wDAUC;AArQD,+CAAiC;AA0GjC,SAAS,kBAAkB,CAAC,IAAY,EAAE,KAAa;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE/C,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACzD,CAAC;AAKD,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,iBAAiB,CAAC,wCAAwC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,GAAG,OAAkC,CAAC;IAG7C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,iBAAiB,CAAC,4EAA4E,CAAC,CAAC;IAC5G,CAAC;IAED,MAAM,UAAU,GAAG,CAAmC,CAAC;IACvD,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC;IAEpD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,iBAAiB,CAAC,mDAAmD,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,iBAAiB,CAAC,6DAA6D,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAE1C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7D,MAAM,IAAI,iBAAiB,CAAC,gEAAgE,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,iBAAiB,CAAC,wDAAwD,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,iBAAiB,CAAC,wDAAwD,CAAC,CAAC;IACxF,CAAC;IAGD,IAAI,MAAkD,CAAC;IACvD,IAAI,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC;SAAM,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;QAC9C,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;SAAM,IAAI,SAAS,KAAK,gBAAgB,IAAI,SAAS,KAAK,sBAAsB,EAAE,CAAC;QAClF,MAAM,GAAG,UAAU,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC;IAEpC,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,EAAE;QACxB,SAAS;QACT,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,aAAa,EAAE,WAAW,CAAC,EAAE;QAC7B,OAAO,EAAE,WAAW,CAAC,QAAQ;QAC7B,MAAM;QACN,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,SAAS;QACT,MAAM;QACN,SAAS;QACT,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE;QACrC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW;QACpE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,IAAI,SAAS;QACtE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY;QACjE,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,SAAS;QAC9D,SAAS,EAAE,WAAW,CAAC,UAAU;QACjC,GAAG,EAAE,UAAU;KAChB,CAAC;AACJ,CAAC;AAKD,SAAgB,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,GAAG,QAAQ,EAAE,eAAe,GAAG,iBAAiB,EAAE,GAAG,OAAO,CAAC;IAExG,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,kBAAkB,CAAC,4BAA4B,CAAC,CAAC;IAC7D,CAAC;IAGD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,IAAI,SAAS,IAAI,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAGD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,WAAW,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAKD,SAAgB,iBAAiB,CAC/B,OAAwB,EACxB,SAAiB,EACjB,MAAc,EACd,YAAiC,QAAQ;IAEzC,MAAM,iBAAiB,GAAG,MAAM;SAC7B,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC;SAC7B,MAAM,CAAC,OAAO,CAAC;SACf,MAAM,CAAC,KAAK,CAAC,CAAC;IAGjB,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,eAAe,CAC3B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EACtB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAC/B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAKD,SAAgB,sBAAsB,CACpC,OAAwB,EACxB,MAAc,EACd,YAAiC,QAAQ;IAEzC,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7E,OAAO,MAAM;SACV,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC;SAC7B,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAKD,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAKD,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC"}