karibou-wallet 3.1.27 → 3.1.29

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.
@@ -15,6 +15,7 @@ const customer_1 = require("./customer");
15
15
  const payments_1 = require("./payments");
16
16
  const config_1 = require("./config");
17
17
  const cache = new (require("lru-cache").LRUCache)({ ttl: 1000 * 60 * 60 * 4, max: 1000 });
18
+ const locked = new (require("lru-cache").LRUCache)({ ttl: 3000, max: 1000 });
18
19
  var SchedulerStatus;
19
20
  (function (SchedulerStatus) {
20
21
  SchedulerStatus["active"] = "active";
@@ -187,6 +188,15 @@ class SubscriptionContract {
187
188
  }
188
189
  updateContract(cardTtems) {
189
190
  return __awaiter(this, void 0, void 0, function* () {
191
+ const _method = 'updateContract' + cardTtems.length;
192
+ lock(_method);
193
+ try {
194
+ }
195
+ catch (err) {
196
+ }
197
+ finally {
198
+ unlock(_method);
199
+ }
190
200
  });
191
201
  }
192
202
  pause(to) {
@@ -249,43 +259,45 @@ class SubscriptionContract {
249
259
  const isInvoice = card.issuer == "invoice";
250
260
  const quantity = 1;
251
261
  const price = product.default_price.unit_amount;
252
- const metadata = { uid: customer.uid, plan: 'patreon' };
253
- if (process.env.NODE_ENV == 'test') {
254
- metadata.env = "test";
255
- }
256
- const serviceItem = {
257
- currency: 'CHF',
258
- unit_amount: isInvoice ? 0 : (price),
259
- product: product.id,
260
- recurring: { interval, interval_count: 1 }
261
- };
262
- const itemMetadata = {
263
- type: "patreon",
264
- title: product.name,
265
- quantity,
266
- };
267
- const items = [{ metadata: itemMetadata, quantity, price_data: serviceItem }];
268
- const description = product.description;
269
- const billing_cycle_anchor = (Date.now() + 1000) / 1000 | 0;
270
- const options = {
271
- customer: (0, payments_1.unxor)(customer.id),
272
- payment_behavior: 'default_incomplete',
273
- off_session: false,
274
- billing_cycle_anchor,
275
- description,
276
- items,
277
- metadata
278
- };
279
- if (card.issuer == "invoice") {
280
- metadata.payment_credit = card.id;
281
- options.payment_behavior = 'allow_incomplete';
282
- options.payment_settings = {};
283
- }
284
- else {
285
- options.default_payment_method = (0, payments_1.unxor)(card.id);
286
- options.expand = ['pending_setup_intent', 'latest_invoice.payment_intent'];
287
- }
262
+ const _method = 'createOnlyFromService' + customer.id;
263
+ lock(_method);
288
264
  try {
265
+ const metadata = { uid: customer.uid, plan: 'patreon' };
266
+ if (process.env.NODE_ENV == 'test') {
267
+ metadata.env = "test";
268
+ }
269
+ const serviceItem = {
270
+ currency: 'CHF',
271
+ unit_amount: isInvoice ? 0 : (price),
272
+ product: product.id,
273
+ recurring: { interval, interval_count: 1 }
274
+ };
275
+ const itemMetadata = {
276
+ type: "patreon",
277
+ title: product.name,
278
+ quantity,
279
+ };
280
+ const items = [{ metadata: itemMetadata, quantity, price_data: serviceItem }];
281
+ const description = product.description;
282
+ const billing_cycle_anchor = (Date.now() + 1000) / 1000 | 0;
283
+ const options = {
284
+ customer: (0, payments_1.unxor)(customer.id),
285
+ payment_behavior: 'default_incomplete',
286
+ off_session: false,
287
+ billing_cycle_anchor,
288
+ description,
289
+ items,
290
+ metadata
291
+ };
292
+ if (card.issuer == "invoice") {
293
+ metadata.payment_credit = card.id;
294
+ options.payment_behavior = 'allow_incomplete';
295
+ options.payment_settings = {};
296
+ }
297
+ else {
298
+ options.default_payment_method = (0, payments_1.unxor)(card.id);
299
+ options.expand = ['pending_setup_intent', 'latest_invoice.payment_intent'];
300
+ }
289
301
  const subscription = yield payments_1.$stripe.subscriptions.create(options);
290
302
  const invoice = subscription.latest_invoice;
291
303
  if (invoice &&
@@ -307,6 +319,9 @@ class SubscriptionContract {
307
319
  catch (err) {
308
320
  throw parseError(err);
309
321
  }
322
+ finally {
323
+ unlock(_method);
324
+ }
310
325
  });
311
326
  }
312
327
  static create(customer, card, interval, start_from, cartItems, subscriptionOptions) {
@@ -314,108 +329,114 @@ class SubscriptionContract {
314
329
  (0, assert_1.strict)(start_from == 'now' || (start_from && start_from.getTime()));
315
330
  const { shipping, dayOfWeek, fees } = subscriptionOptions;
316
331
  (0, assert_1.strict)(fees >= 0);
317
- if ((fees > 1) || (fees < 0)) {
318
- throw new Error("Incorrect fees params");
319
- }
320
- const cartServices = cartItems.filter(item => !item.sku);
321
- cartItems = cartItems.filter(item => !!item.sku);
322
- if (!shipping && cartItems.length) {
323
- throw new Error("Shipping address is mandatory with products");
324
- }
325
- if (!cartServices.length && !cartItems.length) {
326
- throw new Error("Missing items");
327
- }
328
- if (cartItems.some(item => item.frequency != interval)) {
329
- throw new Error("incorrect item format");
330
- }
331
- const isInvoice = card.issuer == "invoice";
332
- for (let item of cartItems) {
333
- item.product = yield findOrCreateProductFromItem(item);
334
- }
335
- const items = createItemsFromCart(cartItems, isInvoice);
336
- const servicePrice = cartItems.reduce((sum, item) => {
337
- return sum + (item.price * item.quantity * (fees));
338
- }, 0);
339
- if (cartItems.length && servicePrice >= 0) {
340
- const item = {
341
- id: 'service',
342
- title: 'karibou.ch',
343
- price: (0, payments_1.round1cts)(servicePrice),
344
- quantity: 1
345
- };
346
- const itemService = yield findOrCreateItemService(item, interval, isInvoice);
347
- items.push(itemService);
348
- }
349
- if (cartServices.length) {
350
- for (let elem of cartServices) {
332
+ const _method = 'create' + customer.id;
333
+ lock(_method);
334
+ try {
335
+ if ((fees > 1) || (fees < 0)) {
336
+ throw new Error("Incorrect fees params");
337
+ }
338
+ const cartServices = cartItems.filter(item => !item.sku);
339
+ cartItems = cartItems.filter(item => !!item.sku);
340
+ if (!shipping && cartItems.length) {
341
+ throw new Error("Shipping address is mandatory with products");
342
+ }
343
+ if (!cartServices.length && !cartItems.length) {
344
+ throw new Error("Missing items");
345
+ }
346
+ if (cartItems.some(item => item.frequency != interval)) {
347
+ throw new Error("incorrect item format");
348
+ }
349
+ const isInvoice = card.issuer == "invoice";
350
+ for (let item of cartItems) {
351
+ item.product = yield findOrCreateProductFromItem(item);
352
+ }
353
+ const items = createItemsFromCart(cartItems, isInvoice);
354
+ const servicePrice = cartItems.reduce((sum, item) => {
355
+ return sum + (item.price * item.quantity * (fees));
356
+ }, 0);
357
+ if (cartItems.length && servicePrice >= 0) {
351
358
  const item = {
352
359
  id: 'service',
353
- title: elem.title,
354
- price: elem.price,
355
- quantity: elem.quantity
360
+ title: 'karibou.ch',
361
+ price: (0, payments_1.round1cts)(servicePrice),
362
+ quantity: 1
356
363
  };
357
364
  const itemService = yield findOrCreateItemService(item, interval, isInvoice);
358
365
  items.push(itemService);
359
366
  }
360
- }
361
- const metadata = { uid: customer.uid, fees, plan: (cartItems.length) ? 'shipping' : 'service' };
362
- if (process.env.NODE_ENV == 'test') {
363
- metadata.env = "test";
364
- }
365
- if (shipping) {
366
- (0, assert_1.strict)(shipping.price >= 0);
367
- (0, assert_1.strict)(dayOfWeek >= 0);
368
- delete shipping['geo'];
369
- const item = {
370
- id: 'service',
371
- title: 'shipping',
372
- price: shipping.price,
373
- quantity: 1
367
+ if (cartServices.length) {
368
+ for (let elem of cartServices) {
369
+ const item = {
370
+ id: 'service',
371
+ title: elem.title,
372
+ price: elem.price,
373
+ quantity: elem.quantity
374
+ };
375
+ const itemService = yield findOrCreateItemService(item, interval, isInvoice);
376
+ items.push(itemService);
377
+ }
378
+ }
379
+ const metadata = { uid: customer.uid, fees, plan: (cartItems.length) ? 'shipping' : 'service' };
380
+ if (process.env.NODE_ENV == 'test') {
381
+ metadata.env = "test";
382
+ }
383
+ if (shipping) {
384
+ (0, assert_1.strict)(shipping.price >= 0);
385
+ (0, assert_1.strict)(dayOfWeek >= 0);
386
+ delete shipping['geo'];
387
+ const item = {
388
+ id: 'service',
389
+ title: 'shipping',
390
+ price: shipping.price,
391
+ quantity: 1
392
+ };
393
+ const itemShipping = yield findOrCreateItemService(item, interval, isInvoice);
394
+ items.push(itemShipping);
395
+ metadata.address = JSON.stringify(shipping, null, 0);
396
+ metadata.dayOfWeek = dayOfWeek;
397
+ }
398
+ const description = "contrat:" + interval + ":" + customer.uid;
399
+ const options = {
400
+ customer: (0, payments_1.unxor)(customer.id),
401
+ payment_behavior: 'default_incomplete',
402
+ off_session: false,
403
+ description,
404
+ proration_behavior: 'none',
405
+ items: items,
406
+ metadata
374
407
  };
375
- const itemShipping = yield findOrCreateItemService(item, interval, isInvoice);
376
- items.push(itemShipping);
377
- metadata.address = JSON.stringify(shipping, null, 0);
378
- metadata.dayOfWeek = dayOfWeek;
379
- }
380
- const description = "contrat:" + interval + ":" + customer.uid;
381
- const options = {
382
- customer: (0, payments_1.unxor)(customer.id),
383
- payment_behavior: 'default_incomplete',
384
- off_session: false,
385
- description,
386
- items: items,
387
- metadata
388
- };
389
- if (start_from == 'now') {
390
- options.billing_cycle_anchor = (Date.now() + 1000) / 1000 | 0;
391
- }
392
- else {
393
- options.billing_cycle_anchor = (start_from.getTime() / 1000) | 0;
394
- }
395
- if (card.issuer == "invoice") {
396
- metadata.payment_credit = card.id;
397
- options.payment_behavior = 'allow_incomplete';
398
- options.payment_settings = {};
399
- }
400
- else {
401
- options.default_payment_method = (0, payments_1.unxor)(card.id);
402
- options.expand = ['pending_setup_intent', 'latest_invoice.payment_intent'];
403
- }
404
- try {
408
+ if (start_from == 'now') {
409
+ }
410
+ else {
411
+ }
412
+ if (card.issuer == "invoice") {
413
+ metadata.payment_credit = card.id;
414
+ options.payment_behavior = 'allow_incomplete';
415
+ options.payment_settings = {};
416
+ }
417
+ else {
418
+ options.payment_behavior = 'default_incomplete';
419
+ options.payment_settings = { save_default_payment_method: 'on_subscription' };
420
+ options.default_payment_method = (0, payments_1.unxor)(card.id);
421
+ options.expand = ['latest_invoice.payment_intent'];
422
+ }
405
423
  let subscription = yield payments_1.$stripe.subscriptions.create(options);
406
- const invoice = subscription.latest_invoice;
424
+ const now = Date.now();
407
425
  const setup_intent = subscription.pending_setup_intent;
408
- const invoice_intent = invoice && invoice.payment_intent && (invoice.payment_intent['id'] || invoice.payment_intent);
409
- const tid = invoice_intent || setup_intent;
410
- if (tid) {
426
+ const invoice = subscription.latest_invoice;
427
+ const invoice_intent = invoice && invoice.payment_intent;
428
+ if (invoice_intent) {
411
429
  try {
412
- const transaction = yield payments_1.$stripe.paymentIntents.confirm(tid.id || tid);
430
+ const transaction = yield payments_1.$stripe.paymentIntents.confirm(invoice_intent.id);
431
+ subscription.latest_invoice = subscription.latest_invoice || {};
432
+ subscription.latest_invoice['payment_intent'] = transaction;
413
433
  subscription = yield payments_1.$stripe.subscriptions.retrieve(subscription.id, { expand: ['latest_invoice.payment_intent'] });
414
434
  }
415
435
  catch (err) {
416
436
  if (!err.payment_intent) {
417
437
  throw err;
418
438
  }
439
+ subscription.latest_invoice = subscription.latest_invoice || {};
419
440
  subscription.latest_invoice['payment_intent'] = err.payment_intent;
420
441
  }
421
442
  }
@@ -424,6 +445,9 @@ class SubscriptionContract {
424
445
  catch (err) {
425
446
  throw parseError(err);
426
447
  }
448
+ finally {
449
+ unlock(_method);
450
+ }
427
451
  });
428
452
  }
429
453
  static clearCache(id) {
@@ -510,6 +534,16 @@ function findOrCreateProductFromItem(item) {
510
534
  return created.id;
511
535
  });
512
536
  }
537
+ function lock(api) {
538
+ const islocked = locked.get(api);
539
+ if (islocked) {
540
+ throw new Error("reentrancy detection");
541
+ }
542
+ locked.set(api, true);
543
+ }
544
+ function unlock(api) {
545
+ locked.delete(api);
546
+ }
513
547
  function findOrCreateItemService(item, interval, isInvoice) {
514
548
  return __awaiter(this, void 0, void 0, function* () {
515
549
  const { id, title, price, quantity } = item;
@@ -1 +1 @@
1
- {"version":3,"file":"contract.subscription.js","sourceRoot":"","sources":["../lib/contract.subscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.subscription.js","sourceRoot":"","sources":["../lib/contract.subscription.ts"],"names":[],"mappings":"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"}
@@ -28,8 +28,8 @@ export declare class Customer {
28
28
  get addresses(): KngPaymentAddress[];
29
29
  get methods(): any;
30
30
  get cashbalance(): any;
31
- lock(api: any): void;
32
- unlock(api: any): void;
31
+ lock(api: any, root?: any): void;
32
+ unlock(api: any, root?: any): void;
33
33
  static allWithActiveCreditbalance(): Promise<void>;
34
34
  static search(query: any): Promise<Customer[]>;
35
35
  static create(email: string, fname: string, lname: string, phone: string, uid: string): Promise<Customer>;
@@ -38,8 +38,8 @@ export declare class Customer {
38
38
  static get(id: any): Promise<Customer>;
39
39
  static fromWebhook(stripe: any): Promise<void>;
40
40
  addressAdd(address: KngPaymentAddress): Promise<KngPaymentAddress>;
41
- addressRemove(address: KngPaymentAddress): Promise<void>;
42
- addressUpdate(address: KngPaymentAddress): Promise<void>;
41
+ addressRemove(address: KngPaymentAddress): Promise<this>;
42
+ addressUpdate(address: KngPaymentAddress): Promise<this>;
43
43
  addMethodIntent(): Promise<Stripe.Response<Stripe.SetupIntent>>;
44
44
  addMethod(token: string): Promise<{
45
45
  type: number;
package/dist/customer.js CHANGED
@@ -14,8 +14,8 @@ const assert_1 = require("assert");
14
14
  const stripe_1 = require("stripe");
15
15
  const payments_1 = require("./payments");
16
16
  const config_1 = require("./config");
17
- const cache = new (require("lru-cache").LRUCache)({ ttl: 1000 * 60 * 60 * 4, max: 1000 });
18
- const locked = new (require("lru-cache").LRUCache)({ ttl: 2000, max: 1000 });
17
+ const cache = new (require("lru-cache").LRUCache)({ ttl: 1000 * 60 * 60 * 4, max: 2000 });
18
+ const locked = new (require("lru-cache").LRUCache)({ ttl: 3000, max: 1000 });
19
19
  class Customer {
20
20
  constructor(id, email, phone, cashbalance, balance, metadata) {
21
21
  (0, assert_1.strict)(id);
@@ -84,15 +84,17 @@ class Customer {
84
84
  }
85
85
  return { available: null };
86
86
  }
87
- lock(api) {
88
- const islocked = locked.get(this.id + api);
87
+ lock(api, root) {
88
+ root = root || this.id;
89
+ const islocked = locked.get(root + api);
89
90
  if (islocked) {
90
91
  throw new Error("reentrancy detection");
91
92
  }
92
- locked.set(this.id + api, true);
93
+ locked.set(root + api, true);
93
94
  }
94
- unlock(api) {
95
- locked.delete(this.id + api);
95
+ unlock(api, root) {
96
+ root = root || this.id;
97
+ locked.delete(root + api);
96
98
  }
97
99
  static allWithActiveCreditbalance() {
98
100
  return __awaiter(this, void 0, void 0, function* () {
@@ -150,7 +152,7 @@ class Customer {
150
152
  return cache.get(customer);
151
153
  }
152
154
  static clearCache(id) {
153
- id = id.indexOf('cus_') > -1 ? id : (0, payments_1.unxor)(id);
155
+ id = id.indexOf('cus_') == -1 ? id : (0, payments_1.xor)(id);
154
156
  cache.delete(id);
155
157
  }
156
158
  static get(id) {
@@ -196,8 +198,8 @@ class Customer {
196
198
  (0, assert_1.strict)(this._metadata.fname);
197
199
  (0, assert_1.strict)(this._metadata.lname);
198
200
  const _method = 'addaddress';
201
+ this.lock(_method);
199
202
  try {
200
- this.lock(_method);
201
203
  const keys = metadataElements(this._metadata, 'addr');
202
204
  address.id = 'addr-' + keys.length + 1;
203
205
  this._metadata[address.id] = JSON.stringify(address, null, 0);
@@ -205,13 +207,14 @@ class Customer {
205
207
  this._metadata = customer.metadata;
206
208
  this._addresses = parseAddress(customer.metadata);
207
209
  cache.set(this.id, this);
208
- this.unlock(_method);
209
210
  return Object.assign({}, address);
210
211
  }
211
212
  catch (err) {
212
- this.unlock(_method);
213
213
  throw parseError(err);
214
214
  }
215
+ finally {
216
+ this.unlock(_method);
217
+ }
215
218
  });
216
219
  }
217
220
  addressRemove(address) {
@@ -220,16 +223,22 @@ class Customer {
220
223
  (0, assert_1.strict)(this._metadata.fname);
221
224
  (0, assert_1.strict)(this._metadata.lname);
222
225
  (0, assert_1.strict)(this._metadata[address.id]);
226
+ const _method = 'addressRemove';
227
+ this.lock(_method);
223
228
  try {
224
229
  this._metadata[address.id] = null;
225
230
  const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata, expand: ['cash_balance'] });
226
231
  this._metadata = customer.metadata;
227
232
  this._addresses = parseAddress(customer.metadata);
228
233
  cache.set(this.id, this);
234
+ return this;
229
235
  }
230
236
  catch (err) {
231
237
  throw parseError(err);
232
238
  }
239
+ finally {
240
+ this.unlock(_method);
241
+ }
233
242
  });
234
243
  }
235
244
  addressUpdate(address) {
@@ -238,16 +247,22 @@ class Customer {
238
247
  (0, assert_1.strict)(this._metadata.fname);
239
248
  (0, assert_1.strict)(this._metadata.lname);
240
249
  (0, assert_1.strict)(this._metadata[address.id]);
250
+ const _method = 'addressUpdate';
251
+ this.lock(_method);
241
252
  try {
242
253
  this._metadata[address.id] = JSON.stringify(address, null, 0);
243
254
  const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata, expand: ['cash_balance'] });
244
255
  this._metadata = customer.metadata;
245
256
  this._addresses = parseAddress(customer.metadata);
246
257
  cache.set(this.id, this);
258
+ return this;
247
259
  }
248
260
  catch (err) {
249
261
  throw parseError(err);
250
262
  }
263
+ finally {
264
+ this.unlock(_method);
265
+ }
251
266
  });
252
267
  }
253
268
  addMethodIntent() {
@@ -260,8 +275,8 @@ class Customer {
260
275
  addMethod(token) {
261
276
  return __awaiter(this, void 0, void 0, function* () {
262
277
  const _method = 'addmethod';
278
+ this.lock(_method);
263
279
  try {
264
- this.lock(_method);
265
280
  const method = yield payments_1.$stripe.paymentMethods.attach(token, { customer: this._id });
266
281
  if (method.status == "requires_action") {
267
282
  throw new Error('addMethod requires_confirmation');
@@ -276,34 +291,41 @@ class Customer {
276
291
  this._sources.push(card);
277
292
  }
278
293
  cache.set(this.id, this);
279
- this.unlock(_method);
280
294
  return card;
281
295
  }
282
296
  catch (err) {
283
- this.unlock(_method);
284
297
  throw parseError(err);
285
298
  }
299
+ finally {
300
+ this.unlock(_method);
301
+ }
286
302
  });
287
303
  }
288
304
  applyCoupon(code) {
289
305
  return __awaiter(this, void 0, void 0, function* () {
290
- const _method = 'appcoupon';
291
- this.lock(_method);
292
- const coupon = yield payments_1.$stripe.coupons.retrieve(code);
293
- const amount = coupon.amount_off;
294
- const validity = new Date(coupon.created * 1000 + (coupon.duration_in_months || 12) * 32 * 86400000);
295
- if (validity.getTime() < Date.now()) {
296
- throw new Error("Le coupon n'est plus valide, merci de bien vouloir nous contacter");
306
+ const _method = 'appcoupon' + code;
307
+ this.lock(_method, '');
308
+ try {
309
+ const coupon = yield payments_1.$stripe.coupons.retrieve(code);
310
+ const amount = coupon.amount_off;
311
+ const validity = new Date(coupon.created * 1000 + (coupon.duration_in_months || 12) * 32 * 86400000);
312
+ if (validity.getTime() < Date.now()) {
313
+ throw new Error("Le coupon n'est plus valide, merci de bien vouloir nous contacter");
314
+ }
315
+ if (!amount || amount < 0) {
316
+ throw new Error("le coupon ne contient pas de crédit");
317
+ }
318
+ const note = code + ':' + coupon.name;
319
+ yield payments_1.$stripe.coupons.del(code);
320
+ yield this.updateCredit(amount / 100, note);
321
+ return this;
297
322
  }
298
- if (!amount || amount < 0) {
299
- this.unlock(_method);
300
- throw new Error("le coupon ne contient pas de crédit");
323
+ catch (err) {
324
+ throw err;
325
+ }
326
+ finally {
327
+ this.unlock(_method, '');
301
328
  }
302
- const note = code + ':' + coupon.name;
303
- yield payments_1.$stripe.coupons.del(code);
304
- yield this.updateCredit(amount / 100, note);
305
- this.unlock(_method);
306
- return this;
307
329
  });
308
330
  }
309
331
  checkMethods(addIntent, amount) {
@@ -347,58 +369,78 @@ class Customer {
347
369
  }
348
370
  allowCredit(allow, month, year) {
349
371
  return __awaiter(this, void 0, void 0, function* () {
350
- const fingerprint = (0, payments_1.crypto_fingerprint)(this.id + this.uid + 'invoice');
351
- const id = (0, payments_1.crypto_randomToken)();
352
- const mo = parseInt(month || '1');
353
- if (mo < 1 || mo > 12) {
354
- throw new Error("Incorret month params");
355
- }
356
- let creditbalance;
357
- if (allow) {
358
- year = (0, payments_1.parseYear)((year || '2030') + '');
359
- creditbalance = {
360
- type: payments_1.KngPayment.credit,
361
- id: (0, payments_1.xor)(id),
362
- alias: (fingerprint),
363
- expiry: (month || '12') + '/' + (year),
364
- funding: 'credit',
365
- issuer: 'invoice',
366
- limit: config_1.default.option('allowMaxCredit')
367
- };
368
- this._metadata['creditbalance'] = JSON.stringify(creditbalance, null, 0);
369
- this._sources.push(creditbalance);
370
- }
371
- else {
372
- this._metadata['allowCredit'] = null;
373
- this._metadata['creditbalance'] = null;
374
- const index = this._sources.findIndex(src => src.issuer == 'invoice');
375
- if (index > -1) {
376
- this._sources.splice(index, 1);
372
+ const _method = 'allowCredit';
373
+ this.lock(_method);
374
+ try {
375
+ const fingerprint = (0, payments_1.crypto_fingerprint)(this.id + this.uid + 'invoice');
376
+ const id = (0, payments_1.crypto_randomToken)();
377
+ const mo = parseInt(month || '1');
378
+ if (mo < 1 || mo > 12) {
379
+ throw new Error("Incorret month params");
380
+ }
381
+ let creditbalance;
382
+ if (allow) {
383
+ year = (0, payments_1.parseYear)((year || '2030') + '');
384
+ creditbalance = {
385
+ type: payments_1.KngPayment.credit,
386
+ id: (0, payments_1.xor)(id),
387
+ alias: (fingerprint),
388
+ expiry: (month || '12') + '/' + (year),
389
+ funding: 'credit',
390
+ issuer: 'invoice',
391
+ limit: config_1.default.option('allowMaxCredit')
392
+ };
393
+ this._metadata['creditbalance'] = JSON.stringify(creditbalance, null, 0);
394
+ this._sources.push(creditbalance);
395
+ }
396
+ else {
397
+ this._metadata['allowCredit'] = null;
398
+ this._metadata['creditbalance'] = null;
399
+ const index = this._sources.findIndex(src => src.issuer == 'invoice');
400
+ if (index > -1) {
401
+ this._sources.splice(index, 1);
402
+ }
377
403
  }
404
+ const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata });
405
+ cache.set(this.id, this);
406
+ return creditbalance;
407
+ }
408
+ catch (err) {
409
+ throw err;
410
+ }
411
+ finally {
412
+ this.unlock(_method);
378
413
  }
379
- const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata });
380
- cache.set(this.id, this);
381
- return creditbalance;
382
414
  });
383
415
  }
384
416
  createCashBalance(month, year) {
385
417
  return __awaiter(this, void 0, void 0, function* () {
386
- const cashbalance = createCashMethod(this.id, this.uid, month, year);
387
- this._metadata['cashbalance'] = JSON.stringify(cashbalance, null, 0);
388
- const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata, expand: ['cash_balance'] });
389
- this._cashbalance = customer.cash_balance || {};
390
- this._metadata = customer.metadata;
391
- this._addresses = parseAddress(customer.metadata);
392
- const index = this._sources.findIndex(card => card.alias == (cashbalance.alias));
393
- ;
394
- if (index > -1) {
395
- this._sources[index] = cashbalance;
396
- }
397
- else {
398
- this._sources.push(cashbalance);
418
+ const _method = 'createCashBalance';
419
+ this.lock(_method);
420
+ try {
421
+ const cashbalance = createCashMethod(this.id, this.uid, month, year);
422
+ this._metadata['cashbalance'] = JSON.stringify(cashbalance, null, 0);
423
+ const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata, expand: ['cash_balance'] });
424
+ this._cashbalance = customer.cash_balance || {};
425
+ this._metadata = customer.metadata;
426
+ this._addresses = parseAddress(customer.metadata);
427
+ const index = this._sources.findIndex(card => card.alias == (cashbalance.alias));
428
+ ;
429
+ if (index > -1) {
430
+ this._sources[index] = cashbalance;
431
+ }
432
+ else {
433
+ this._sources.push(cashbalance);
434
+ }
435
+ cache.set(this.id, this);
436
+ return cashbalance;
437
+ }
438
+ catch (err) {
439
+ throw err;
440
+ }
441
+ finally {
442
+ this.unlock(_method);
399
443
  }
400
- cache.set(this.id, this);
401
- return cashbalance;
402
444
  });
403
445
  }
404
446
  listBalanceTransactions(limit) {
@@ -463,6 +505,8 @@ class Customer {
463
505
  }
464
506
  removeMethod(method) {
465
507
  return __awaiter(this, void 0, void 0, function* () {
508
+ const _method = 'removeMethod';
509
+ this.lock(_method);
466
510
  try {
467
511
  if (!method || !method.id) {
468
512
  throw new Error("La méthode de paiement n'est pas valide");
@@ -509,6 +553,9 @@ class Customer {
509
553
  catch (err) {
510
554
  throw (parseError(err));
511
555
  }
556
+ finally {
557
+ this.unlock(_method);
558
+ }
512
559
  });
513
560
  }
514
561
  updateCredit(amount, note) {
@@ -521,24 +568,20 @@ class Customer {
521
568
  }
522
569
  if ((this.balance + amount) < 0) {
523
570
  if (!this.allowedCredit()) {
524
- this.unlock(_method);
525
571
  throw new Error("Le paiement par crédit n'est pas disponible");
526
572
  }
527
573
  const fingerprint = (0, payments_1.crypto_fingerprint)(this.id + this.uid + 'invoice');
528
574
  const check = yield this.checkMethods(false);
529
575
  if (check[fingerprint].error) {
530
- this.unlock(_method);
531
576
  throw new Error(check[fingerprint].error);
532
577
  }
533
578
  const maxcredit = config_1.default.option('allowMaxCredit') / 100;
534
579
  if ((this.balance + amount) < (-maxcredit)) {
535
- this.unlock(_method);
536
580
  throw new Error("Vous avez atteind la limite de crédit de votre compte");
537
581
  }
538
582
  }
539
583
  const maxamount = config_1.default.option('allowMaxAmount') / 100;
540
584
  if ((this.balance + amount) > maxamount) {
541
- this.unlock(_method);
542
585
  throw new Error("Vous avez atteind la limite de votre portefeuille " + maxamount.toFixed(2) + " chf");
543
586
  }
544
587
  const balance = Math.round((amount + this.balance) * 100);
@@ -1 +1 @@
1
- {"version":3,"file":"customer.js","sourceRoot":"","sources":["../lib/customer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAA0C;AAC1C,mCAA4B;AAC5B,yCAC2H;AAC3H,qCAA2D;AAI3D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAC,GAAG,EAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,CAAC;AACrF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,CAAC;AAExE,MAAa,QAAQ;IA6BnB,YAAoB,EAAS,EAAC,KAAY,EAAE,KAAa,EAAE,WAAe,EAAE,OAAc,EAAE,QAAY;QACtG,IAAA,eAAM,EAAC,EAAE,CAAC,CAAC;QACX,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC;QACd,IAAA,eAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrB,IAAA,eAAM,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,IAAA,eAAM,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,IAAG,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,GAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,GAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,WAAW,IAAE,EAAE,CAAC;QAIpC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAIzC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;QAIxB,IAAA,gCAAuB,EAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAID,IAAI,EAAE;QACJ,OAAO,IAAA,cAAG,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAID,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,GAAC,GAAG,CAAC;IAC3B,CAAC;IAID,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACN,OAAO;YACL,UAAU,EAAC,IAAI,CAAC,MAAM;YACtB,SAAS,EAAC,IAAI,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,WAAW;QACb,IAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,YAAY,EAAC;gBACjD,SAAS;aACV,CAAC,CAAC;YAIH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAC,GAAG,CAAA;YAC7D,OAAO,CAAC,UAAU,CAAC,GAAC,QAAQ,CAAC;YAC7B,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,EAAE,SAAS,EAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAID,IAAI,CAAC,GAAG;QACN,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAC,GAAG,CAAC,CAAA;QACxC,IAAI,QAAQ,EAAC;YACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;QACD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAC,GAAG,EAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,GAAG;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAKD,MAAM,CAAO,0BAA0B;;YACrC,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC9C,KAAK,EAAE,iCAAiC;aACzC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,MAAM,CAAO,MAAM,CAAC,KAAK;;YACvB,MAAM,SAAS,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC/C,KAAK,EAAE,UAAU,KAAK,cAAc,KAAK,eAAe,KAAK,GAAG;aACjE,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC;gBACnC,KAAK,EAAC,YAAY;gBAClB,YAAY,EAAC,CAAC;gBACd,OAAO,EAAC,CAAC;gBACT,QAAQ,EAAC,EAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC;aAC3C,CAAC,CAAC;YAEH,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAClE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,WAAW,EAAC,MAAM,CAAC,CAAC;gBACpD,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,WAAW,CAAC,QAAQ,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACxE,OAAO,IAAI,QAAQ,CACjB,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,QAAQ,CAChB,CAAA;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAOD,MAAM,CAAO,MAAM,CAAC,KAAY,EAAE,KAAY,EAAE,KAAY,EAAE,KAAa,EAAE,GAAU;;YACrF,IAAG;gBAED,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC;gBACd,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC;gBACZ,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC;gBACd,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC;gBAEd,MAAM,MAAM,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAAC;oBAC5C,WAAW,EAAE,KAAK,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,GAAC,GAAG;oBAC7C,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,KAAK,GAAG,GAAG,GAAG,KAAK;oBACzB,KAAK;oBACL,QAAQ,EAAE,EAAC,GAAG,EAAC,KAAK,EAAE,KAAK,EAAC;oBAC5B,MAAM,EAAE,CAAC,cAAc,CAAC;iBACzB,CAAC,CAAC;gBAEH,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,CAAC,YAAY,EAAC,CAAC,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aAClF;YAAA,OAAM,GAAG,EAAE;gBACV,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QAQH,CAAC;KAAA;IAMA,MAAM,CAAC,MAAM,CAAC,GAAG;QAEhB,GAAG,GAAC,GAAG,GAAC,EAAE,CAAC;QAIX,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAE,KAAK,CAAC,GAAG,CAAC,IAAA,cAAG,EAAC,GAAG,CAAC,CAAC,CAAC;QACrD,IAAG,QAAQ,IAAI,QAAQ,CAAC,EAAE,EAAE;YAC1B,OAAO,QAAQ,CAAC;SACjB;QAID,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAa,CAAC;IACxC,CAAC;IAGD,MAAM,CAAC,UAAU,CAAC,EAAE;QAEnB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAC,CAAC,CAAC,CAAA,CAAC,CAAC,EAAE,CAAA,CAAC,CAAC,IAAA,gBAAK,EAAC,EAAE,CAAC,CAAC;QAC1C,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAMD,MAAM,CAAO,GAAG,CAAC,EAAE;;YACjB,IAAG,OAAO,EAAE,IAAI,QAAQ,EAAE;gBACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAa,CAAC;gBAC/C,IAAG,MAAM,EAAC;oBACR,OAAO,MAAM,CAAC;iBACf;aACF;YAED,IAAG;gBAGD,MAAM,UAAU,GAAG,CAAC,gBAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC;gBAC/D,MAAM,SAAS,GAAG,CAAC,EAAE,CAAC,OAAO,IAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,CAAA,IAAA,gBAAK,EAAC,EAAE,CAAC,CAAC;gBACrE,MAAM,MAAM,GAAG,UAAU,IAAI,CAAC,MAAM,kBAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAC,EAAC,MAAM,EAAE,CAAC,cAAc,CAAC,EAAC,CAAC,CAAQ,CAAC;gBAC7G,IAAG,MAAM,CAAC,OAAO,EAAE;oBACjB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;iBAClE;gBACD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,QAAQ,CAChB,CAAC;gBACF,IAAG,CAAC,UAAU,EAAC;oBACb,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;iBAC9B;gBACD,OAAO,QAAQ,CAAC;aACjB;YAAA,OAAM,GAAG,EAAE;gBACV,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAED,MAAM,CAAO,WAAW,CAAC,MAAM;;YAC7B,IAAG;gBACD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,QAAQ,CAChB,CAAC;gBACF,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;aAE9B;YAAA,OAAM,GAAG,EAAC;gBACT,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QAEH,CAAC;KAAA;IAEK,UAAU,CAAC,OAA0B;;YACzC,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,OAAO,GAAG,YAAY,CAAC;YAC7B,IAAG;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEnB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAC,MAAM,CAAC,CAAC;gBACrD,OAAO,CAAC,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBACvC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAC,CACrD,CAAC;gBAEF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAIlD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,OAAO,CAAC,CAAC;aAClC;YAAA,OAAM,GAAG,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrB,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAEK,aAAa,CAAC,OAA0B;;YAC5C,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAEnC,IAAG;gBACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;gBAClC,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAC,CACrD,CAAC;gBAEF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAGlD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;aAEzB;YAAA,OAAM,GAAG,EAAE;gBACV,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAEK,aAAa,CAAC,OAA0B;;YAC5C,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAEnC,IAAG;gBACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAC,CACrD,CAAC;gBAEF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAGlD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;aAEzB;YAAA,OAAM,GAAG,EAAE;gBACV,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAOK,eAAe;;YACnB,OAAO,MAAM,kBAAO,CAAC,YAAY,CAAC,MAAM,CAAC;gBACvC,KAAK,EAAC,aAAa;aACpB,CAAC,CAAC;QACL,CAAC;KAAA;IAYK,SAAS,CAAC,KAAY;;YAC1B,MAAM,OAAO,GAAG,WAAW,CAAC;YAE5B,IAAG;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAO,MAAM,kBAAO,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAC,EAAC,QAAQ,EAAC,IAAI,CAAC,GAAG,EAAC,CAAC,CAAC;gBAClF,IAAG,MAAM,CAAC,MAAM,IAAI,iBAAiB,EAAE;oBAIrC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;iBACpD;gBACD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBAIjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAE,CAAA;gBAC5E,IAAG,KAAK,GAAC,CAAC,CAAC,EAAE;oBAGX,MAAM,kBAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAA,gBAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACpE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;iBAC7B;qBAAM;oBACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC1B;gBAID,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAErB,OAAO,IAAI,CAAC;aACb;YAAA,OAAM,GAAG,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrB,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAKK,WAAW,CAAC,IAAW;;YAC3B,MAAM,OAAO,GAAG,WAAW,CAAC;YAE5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,kBAAO,CAAC,OAAO,CAAC,QAAQ,CAC3C,IAAI,CACL,CAAC;YAGF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,GAAC,IAAI,GAAG,CAAC,MAAM,CAAC,kBAAkB,IAAE,EAAE,CAAC,GAAC,EAAE,GAAC,QAAQ,CAAC,CAAC;YAC7F,IAAI,QAAQ,CAAC,OAAO,EAAE,GAAC,IAAI,CAAC,GAAG,EAAE,EAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;aACtF;YAED,IAAG,CAAC,MAAM,IAAI,MAAM,GAAC,CAAC,EAAE;gBACtB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aACxD;YAED,MAAM,IAAI,GAAG,IAAI,GAAC,GAAG,GAAC,MAAM,CAAC,IAAI,CAAC;YAIlC,MAAM,kBAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,GAAC,GAAG,EAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAKK,YAAY,CAAC,SAAiB,EAAE,MAAc;;YAIlD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,MAAM,GAAO;gBACjB,MAAM,EAAE,KAAK;aACd,CAAC;YAIF,IAAG,SAAS,EAAE;gBACZ,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;aAC9C;YAID,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAC7B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAErB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAC;gBAC3B,MAAM,EAAE,GAAG,IAAA,gBAAK,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5B,MAAM,KAAK,GAAG,IAAA,gBAAK,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAG,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE;oBAChB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAC,KAAK,EAAG,yEAAyE,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;oBACpH,SAAS;iBACV;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAG,CAAC,IAAI,EAAC;oBACP,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAC,KAAK,EAAG,qCAAqC,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;oBAChF,SAAS;iBACV;gBACD,IAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,MAAM,CAAC,GAAC,SAAS,EAAE;oBACxC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAC,KAAK,EAAG,kCAAkC,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;oBAC7E,SAAS;iBACV;gBACD,IAAG,IAAI,CAAC,MAAM,IAAE,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE;oBAC/C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAC,KAAK,EAAG,+EAA+E,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;oBAC1H,SAAS;iBACV;gBAGD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;oBACrB,MAAM,EAAC,IAAI,CAAC,MAAM;oBAClB,MAAM,EAAC,IAAI,CAAC,MAAM;iBACnB,CAAC;aAEH;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAOK,WAAW,CAAC,KAAa,EAAE,KAAa,EAAC,IAAY;;YAEzD,MAAM,WAAW,GAAG,IAAA,6BAAkB,EAAC,IAAI,CAAC,EAAE,GAAC,IAAI,CAAC,GAAG,GAAC,SAAS,CAAC,CAAC;YACnE,MAAM,EAAE,GAAG,IAAA,6BAAkB,GAAE,CAAC;YAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,IAAE,GAAG,CAAC,CAAC;YAChC,IAAG,EAAE,GAAC,CAAC,IAAI,EAAE,GAAC,EAAE,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;aACzC;YAED,IAAI,aAA2B,CAAC;YAChC,IAAG,KAAK,EAAE;gBACR,IAAI,GAAG,IAAA,oBAAS,EAAC,CAAC,IAAI,IAAE,MAAM,CAAC,GAAC,EAAE,CAAC,CAAA;gBACnC,aAAa,GAAG;oBACd,IAAI,EAAC,qBAAU,CAAC,MAAM;oBACtB,EAAE,EAAC,IAAA,cAAG,EAAC,EAAE,CAAC;oBACV,KAAK,EAAC,CAAC,WAAW,CAAC;oBACnB,MAAM,EAAC,CAAC,KAAK,IAAE,IAAI,CAAC,GAAE,GAAG,GAAE,CAAC,IAAI,CAAC;oBACjC,OAAO,EAAC,QAAQ;oBAChB,MAAM,EAAC,SAAS;oBAChB,KAAK,EAAC,gBAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;iBACtC,CAAA;gBAMD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;gBAIvE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAGnC;iBAAK;gBACJ,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;gBACvC,MAAM,KAAK,GAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;gBAC5E,IAAG,KAAK,GAAC,CAAC,CAAC,EAAC;oBACV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;iBAC/B;aACF;YAED,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAC,CAC3B,CAAC;YAIF,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;YAIxB,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;IAQK,iBAAiB,CAAC,KAAY,EAAC,IAAW;;YAC9C,MAAM,WAAW,GAAe,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,GAAG,EAAC,KAAK,EAAC,IAAI,CAAC,CAAC;YAI9E,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAC,MAAM,EAAC,CAAC,cAAc,CAAC,EAAC,CACnD,CAAC;YAEF,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAG,EAAE,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAElD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YAAA,CAAC;YAClF,IAAG,KAAK,GAAC,CAAC,CAAC,EAAC;gBACV,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAC,WAAW,CAAC;aAClC;iBAAI;gBACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACjC;YAID,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;YAExB,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IAEK,uBAAuB,CAAC,KAAa;;YACzC,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC;YACnB,MAAM,QAAQ,GAAG,OAAO,CAAC;YACzB,MAAM,mBAAmB,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,uBAAuB,CACzE,IAAA,gBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,EACd,EAAC,KAAK,EAAC,CACR,CAAC;YAGF,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC5C,OAAO;oBACL,MAAM,EAAC,EAAE,CAAC,MAAM;oBAChB,WAAW,EAAC,EAAE,CAAC,WAAW;oBAC1B,cAAc,EAAE,EAAE,CAAC,cAAc;oBACjC,OAAO,EAAC,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,GAAC,IAAI,CAAC;iBAClC,CAAA;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,4BAA4B,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;YAIjG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;YACxB,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IACK,gBAAgB;;YAId,kBAAO,CAAC,SAAU,CAAC,2BAA2B,GAAG,gBAAM,CAAC,cAAc,CAAC,MAAM,CAAC;gBAClF,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,uCAAuC;gBAC7C,UAAU,EAAE,MAAM;aACnB,CAAC,CAAC;YACH,MAAM,uBAAuB,GAAG,MAAY,kBAAO,CAAC,SAAU,CAAC,2BAA2B,CACxF,CAAC,IAAI,CAAC,GAAG,CAAC,EACV,EAAC,KAAK,EAAE,EAAE,EAAC,CACZ,CAAC;YAEF,OAAO,uBAAuB,CAAC,IAAI,CAAC;QACtC,CAAC;KAAA;IAOK,WAAW;;YACf,IAAG;gBACD,IAAI,CAAC,QAAQ,GAAG,MAAM,kBAAO,CAAC,cAAc,CAAC,IAAI,CAAC;oBAChD,QAAQ,EAAC,IAAI,CAAC,GAAG;oBACjB,IAAI,EAAC,MAAM;iBACZ,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAIpD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;gBAItD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAClD,IAAG,WAAW,EAAE;oBACd,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAgB,CAAC;oBACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7B;qBAII,IAAG,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE;oBAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,GAAG,EAAC,IAAI,EAAC,MAAM,CAAC,CAAC;oBAC/D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7B;gBAED,IAAG,aAAa,EAAE;oBAChB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAkB,CAAC;oBAC3D,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,GAAC,EAAE,CAAC,CAAA,CAAC,CAAA,CAAC,CAAC;oBAE/D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7B;gBAID,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aAG9B;YAAA,OAAM,GAAG,EAAC;gBACT,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAQK,YAAY,CAAC,MAAc;;YAC/B,IAAG;gBACD,IAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;oBACxB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;iBAC5D;gBACD,MAAM,KAAK,GAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;gBAExE,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;oBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBACnD;gBAED,MAAM,OAAO,GAAG,IAAA,gBAAK,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEjC,MAAM,IAAI,GAAG,MAAM,kBAAO,CAAC,aAAa,CAAC,IAAI,CAAC;oBAC5C,QAAQ,EAAC,IAAI,CAAC,GAAG;iBAClB,CAAC,CAAC;gBAIH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,sBAAsB,GAAG,OAAO,CAAC,CAAA;gBAChF,IAAG,YAAY,EAAE;oBACf,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;iBAClG;gBAID,IAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,IAAE,SAAS,EAAC;oBACxC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;oBACvC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;oBACrC,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAC,CAC3B,CAAC;oBACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAG/B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;oBACxB,OAAO;iBACR;gBAID,IAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,IAAE,MAAM,EAAC;oBACrC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;oBACrC,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAC,CAC3B,CAAC;oBAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAG/B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;oBACxB,OAAO;iBACR;gBAID,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBAOlF,IAAI,YAAY,CAAC;gBACjB,IAAG,QAAQ,EAAE;oBACX,YAAY,GAAG,MAAM,kBAAO,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC5D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAEhC;qBAAI;oBACH,YAAY,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAC,OAAO,CAAC,CAAC;oBACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAChC;gBAID,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;aACzB;YAAA,OAAM,GAAG,EAAE;gBACV,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;aACzB;QAEH,CAAC;KAAA;IAQK,YAAY,CAAC,MAAa,EAAE,IAAY;;YAC5C,MAAM,OAAO,GAAG,cAAc,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,IAAG;gBAID,IAAG,MAAM,IAAI,CAAC,EAAE;oBACd,OAAO;iBACR;gBAID,IAAG,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAC,CAAC,EAAE;oBAC5B,IAAG,CAAC,IAAI,CAAC,aAAa,EAAE,EAAC;wBACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACrB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;qBAChE;oBAID,MAAM,WAAW,GAAG,IAAA,6BAAkB,EAAC,IAAI,CAAC,EAAE,GAAC,IAAI,CAAC,GAAG,GAAC,SAAS,CAAC,CAAC;oBACnE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC7C,IAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;wBAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACrB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;qBAC3C;oBAED,MAAM,SAAS,GAAG,gBAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAC,GAAG,CAAC;oBACtD,IAAG,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAC,CAAC,CAAC,SAAS,CAAC,EAAE;wBACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACrB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;qBAC1E;iBACF;gBAID,MAAM,SAAS,GAAG,gBAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAC,GAAG,CAAC;gBACtD,IAAG,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAC,SAAS,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,MAAM,CAAC,CAAC;iBACnG;gBAID,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAC,IAAI,CAAC,OAAO,CAAC,GAAC,GAAG,CAAC,CAAC;gBAItD,MAAM,kBAAkB,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,wBAAwB,CACzE,IAAI,CAAC,GAAG,EACR,EAAC,MAAM,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAC,WAAW,EAAC,IAAI,IAAE,EAAE,EAAC,CACtE,CAAC;gBAMF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAIxB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;aACzB;YAAA,OAAM,GAAG,EAAC;gBACT,MAAM,GAAG,CAAC;aACX;oBAAO;gBACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACtB;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAGK,cAAc,CAAC,QAAQ;;YAC3B,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC;YACjB,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAE7B,IAAG;gBACD,MAAM,OAAO,GAAM;oBACjB,MAAM,EAAE,CAAC,cAAc,CAAC;oBACxB,QAAQ,EAAC,IAAI,CAAC,SAAS;iBACxB,CAAC;gBACF,IAAG,QAAQ,CAAC,KAAK,EAAC;oBAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;iBACzC;gBACD,IAAG,QAAQ,CAAC,KAAK,EAAC;oBAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;iBACzC;gBACD,IAAG,QAAQ,CAAC,KAAK,EAAC;oBAChB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;iBAChC;gBACD,IAAG,QAAQ,CAAC,KAAK,EAAC;oBAChB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;iBAChC;gBAED,IAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAE,CAAC,CAAC,EAAC;oBAClC,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EAAC,OAAO,CACjB,CAAC;oBAEF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;oBACnC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACtC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;iBACvC;gBAID,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC;aACb;YAAA,OAAM,GAAG,EAAE;gBACV,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAQD,aAAa;QAGX,MAAM,WAAW,GAAG,IAAA,6BAAkB,EAAC,IAAI,CAAC,EAAE,GAAC,IAAI,CAAC,GAAG,GAAC,SAAS,CAAC,CAAC;QAEnE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC;IAClE,CAAC;IAED,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAGD,iBAAiB,CAAC,KAAK;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IACzD,CAAC;CACF;AA96BD,4BA86BC;AAID,SAAS,gBAAgB,CAAC,QAAQ,EAAC,GAAG;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAKD,SAAS,YAAY,CAAC,QAAQ;IAC5B,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,IAAG;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAsB,CAAC;YAC/D,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzB;QAAA,OAAM,GAAG,EAAC;YACT,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAC,GAAG,CAAC,CAAC;SAChD;IACH,CAAC,CAAC,CAAA;IACF,OAAO,SAAS,CAAC;AACnB,CAAC;AAGD,SAAS,UAAU,CAAC,GAAG;IACrB,MAAM,KAAK,GAAG,IAAA,2BAAgB,EAAC,GAAG,CAAC,CAAC;IACpC,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,KAAK,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI;IAC1C,MAAM,WAAW,GAAG,IAAA,6BAAkB,EAAC,GAAG,GAAC,GAAG,GAAC,MAAM,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,IAAA,6BAAkB,GAAE,CAAC;IAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAG,EAAE,GAAC,CAAC,IAAI,EAAE,GAAC,EAAE,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;KACzC;IAQD,MAAM,WAAW,GAAe;QAC9B,IAAI,EAAC,qBAAU,CAAC,OAAO;QACvB,EAAE,EAAC,IAAA,cAAG,EAAC,EAAE,CAAC;QACV,KAAK,EAAC,CAAC,WAAW,CAAC;QACnB,MAAM,EAAC,KAAK,GAAC,GAAG,GAAC,IAAI;QACrB,OAAO,EAAC,OAAO;QACf,MAAM,EAAC,MAAM;KACd,CAAA;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,WAAW,CAAC,MAAM;IACzB,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC;IACf,MAAM,EAAE,GAAG,IAAA,cAAG,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1B,MAAM,GAAG,MAAM,CAAC,IAAI,IAAE,MAAM,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAA,cAAG,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEtC,OAAO;QACL,IAAI,EAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAE,CAAC,CAAC;QAC7B,EAAE,EAAC,EAAE;QACL,KAAK,EAAC,KAAK;QACX,OAAO,EAAC,MAAM,CAAC,OAAO;QACtB,KAAK,EAAC,MAAM,CAAC,KAAK;QAClB,MAAM,EAAC,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAC,MAAM,CAAC,WAAW;QAC9B,MAAM,EAAC,MAAM,CAAC,SAAS,GAAC,GAAG,GAAC,MAAM,CAAC,QAAQ;QAC3C,OAAO,EAAC,IAAI,CAAC,GAAG,EAAE;QAClB,QAAQ,EAAC,QAAQ;KAClB,CAAC;AAEJ,CAAC"}
1
+ {"version":3,"file":"customer.js","sourceRoot":"","sources":["../lib/customer.ts"],"names":[],"mappings":"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"}
package/dist/webhook.js CHANGED
@@ -40,9 +40,8 @@ class Webhook {
40
40
  }
41
41
  if (event.type == 'customer.subscription.deleted') {
42
42
  const stripe = event.data.object;
43
- const subscription = yield contract_subscription_1.SubscriptionContract.get(stripe.id);
44
43
  contract_subscription_1.SubscriptionContract.clearCache(stripe.id);
45
- return { event: event.type, subscription };
44
+ return { event: event.type };
46
45
  }
47
46
  if (event.type == 'invoice.payment_action_required') {
48
47
  const invoice = event.data.object;
@@ -51,7 +50,7 @@ class Webhook {
51
50
  if (testing) {
52
51
  return { event: event.type, testing, error: false };
53
52
  }
54
- const paymentIntent = invoice.payment_intent.toString();
53
+ const paymentIntent = invoice.payment_intent['id'] || invoice.payment_intent;
55
54
  const transaction = yield transaction_1.Transaction.get((0, payments_1.xor)(paymentIntent));
56
55
  const customer = yield contract.customer();
57
56
  return { event: event.type, testing, contract, customer, transaction, error: false };
@@ -63,7 +62,7 @@ class Webhook {
63
62
  if (testing) {
64
63
  return { event: event.type, testing, error: false };
65
64
  }
66
- const paymentIntent = invoice.payment_intent.toString();
65
+ const paymentIntent = invoice.payment_intent['id'] || invoice.payment_intent;
67
66
  const transaction = yield transaction_1.Transaction.get((0, payments_1.xor)(paymentIntent));
68
67
  const customer = yield contract.customer();
69
68
  return { event: event.type, testing, contract, customer, transaction, error: false };
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../lib/webhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../lib/webhook.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "karibou-wallet",
3
3
  "description": "Simple Payment API client library for Karibou.ch",
4
- "version": "3.1.27",
4
+ "version": "3.1.29",
5
5
  "author": "Olivier Evalet <olivier@karibou.ch>",
6
6
  "main": "dist/index",
7
7
  "files": [