@cuenca-mx/cuenca-js 0.0.1-dev.29 → 0.0.1-dev.31
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/build/{base-80b9a673.cjs → data-9edbb2a0.cjs} +0 -15
- package/build/data-d5bcb7c8.mjs +10 -0
- package/build/{identities-d9bd3846.cjs → identities-31dcced0.cjs} +4 -5
- package/build/{identities-122c79fd.mjs → identities-f6558f98.mjs} +2 -3
- package/build/index.cjs +55 -66
- package/build/index.mjs +12 -23
- package/build/requests/index.cjs +2 -3
- package/build/requests/index.mjs +2 -2
- package/build/types/index.cjs +2 -2
- package/build/types/index.mjs +2 -2
- package/build/umd/cuenca.umd.js +1 -1
- package/build/{walletTransactionRequest-8b125547.mjs → walletTransactionRequest-4e6b348f.mjs} +52 -39
- package/build/{walletTransactionRequest-bda66da3.cjs → walletTransactionRequest-572c455b.cjs} +65 -53
- package/package.json +1 -1
- package/build/base-c1f04b51.mjs +0 -24
|
@@ -9,20 +9,5 @@ const dateToUTC = (date) => {
|
|
|
9
9
|
const enumValueFromString = (enumValue, value) =>
|
|
10
10
|
Object.values(enumValue).find((enumV) => enumV.value === value);
|
|
11
11
|
|
|
12
|
-
class BaseRequest {
|
|
13
|
-
toObject() {
|
|
14
|
-
return {};
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
toCleanObject() {
|
|
18
|
-
const obj = this.toObject();
|
|
19
|
-
Object.keys(obj).forEach((k) => {
|
|
20
|
-
if (obj[k] == null) delete obj[k];
|
|
21
|
-
});
|
|
22
|
-
return obj;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
exports.BaseRequest = BaseRequest;
|
|
27
12
|
exports.dateToUTC = dateToUTC;
|
|
28
13
|
exports.enumValueFromString = enumValueFromString;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const dateToUTC = (date) => {
|
|
2
|
+
if (!date) return null;
|
|
3
|
+
const dateObj = new Date(date);
|
|
4
|
+
return new Date(dateObj.getTime());
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
const enumValueFromString = (enumValue, value) =>
|
|
8
|
+
Object.values(enumValue).find((enumV) => enumV.value === value);
|
|
9
|
+
|
|
10
|
+
export { dateToUTC as d, enumValueFromString as e };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var errors_index = require('./errors/index.cjs');
|
|
4
|
-
var
|
|
4
|
+
var data = require('./data-9edbb2a0.cjs');
|
|
5
5
|
|
|
6
6
|
class CardErrorType {
|
|
7
7
|
static Blocked = new CardErrorType('blocked');
|
|
@@ -557,9 +557,9 @@ class StatementQuery extends QueryParams {
|
|
|
557
557
|
}
|
|
558
558
|
|
|
559
559
|
set d({ month, year }) {
|
|
560
|
-
const now =
|
|
560
|
+
const now = data.dateToUTC(Date.now());
|
|
561
561
|
now.setUTCDate(1);
|
|
562
|
-
const date =
|
|
562
|
+
const date = data.dateToUTC(`${year}-${month}-01`);
|
|
563
563
|
if (date.getTime() >= now.getTime()) {
|
|
564
564
|
throw new errors_index.ValidationError(
|
|
565
565
|
`${year}-${month} is not a valid year-month pair`,
|
|
@@ -576,9 +576,8 @@ class StatementQuery extends QueryParams {
|
|
|
576
576
|
}
|
|
577
577
|
}
|
|
578
578
|
|
|
579
|
-
class TOSAgreements
|
|
579
|
+
class TOSAgreements {
|
|
580
580
|
constructor({ ip, location, version }) {
|
|
581
|
-
super();
|
|
582
581
|
this.ip = ip;
|
|
583
582
|
this.location = location;
|
|
584
583
|
this.version = version;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ValidationError } from './errors/index.mjs';
|
|
2
|
-
import { d as dateToUTC
|
|
2
|
+
import { d as dateToUTC } from './data-d5bcb7c8.mjs';
|
|
3
3
|
|
|
4
4
|
class CardErrorType {
|
|
5
5
|
static Blocked = new CardErrorType('blocked');
|
|
@@ -574,9 +574,8 @@ class StatementQuery extends QueryParams {
|
|
|
574
574
|
}
|
|
575
575
|
}
|
|
576
576
|
|
|
577
|
-
class TOSAgreements
|
|
577
|
+
class TOSAgreements {
|
|
578
578
|
constructor({ ip, location, version }) {
|
|
579
|
-
super();
|
|
580
579
|
this.ip = ip;
|
|
581
580
|
this.location = location;
|
|
582
581
|
this.version = version;
|
package/build/index.cjs
CHANGED
|
@@ -6,9 +6,9 @@ var axios = require('axios');
|
|
|
6
6
|
var Buffer = require('buffer');
|
|
7
7
|
var errors_index = require('./errors/index.cjs');
|
|
8
8
|
var jwt_index = require('./jwt/index.cjs');
|
|
9
|
-
var identities = require('./identities-
|
|
10
|
-
var
|
|
11
|
-
var walletTransactionRequest = require('./walletTransactionRequest-
|
|
9
|
+
var identities = require('./identities-31dcced0.cjs');
|
|
10
|
+
var data = require('./data-9edbb2a0.cjs');
|
|
11
|
+
var walletTransactionRequest = require('./walletTransactionRequest-572c455b.cjs');
|
|
12
12
|
|
|
13
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
14
|
|
|
@@ -26,7 +26,7 @@ const isNode =
|
|
|
26
26
|
|
|
27
27
|
const runtimeEnv = { isBrowser, isNode };
|
|
28
28
|
|
|
29
|
-
const name="@cuenca-mx/cuenca-js";const version="0.0.1-dev.
|
|
29
|
+
const name="@cuenca-mx/cuenca-js";const version="0.0.1-dev.31";const description="Cuenca client for JS";const main="./build/index.cjs";const module$1="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports$1={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module$1,browser:browser,files:files,exports:exports$1,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
|
|
30
30
|
|
|
31
31
|
class Client {
|
|
32
32
|
constructor({ apiKey, apiSecret, phase = identities.Phase.Sandbox } = {}) {
|
|
@@ -130,9 +130,6 @@ class Client {
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
async patch({ endpoint, data }) {
|
|
133
|
-
console.log('este es el patch');
|
|
134
|
-
console.log(endpoint);
|
|
135
|
-
console.log(data);
|
|
136
133
|
return this.request({ method: 'PATCH', endpoint, data });
|
|
137
134
|
}
|
|
138
135
|
|
|
@@ -185,22 +182,11 @@ class Client {
|
|
|
185
182
|
data: modifiedData,
|
|
186
183
|
url: endpoint,
|
|
187
184
|
});
|
|
188
|
-
|
|
189
|
-
console.log(modifiedData);
|
|
190
|
-
console.log(method);
|
|
191
|
-
console.log({data: modifiedData});
|
|
192
|
-
console.log({url: endpoint});
|
|
193
|
-
|
|
194
|
-
console.log('esto es en el request todavia ');
|
|
195
|
-
console.log({baseURL: this.origin});
|
|
185
|
+
|
|
196
186
|
let response;
|
|
197
187
|
try {
|
|
198
188
|
response = await this._session.request({ baseURL: this.origin });
|
|
199
|
-
console.log('esto esssss response');
|
|
200
|
-
console.log(response);
|
|
201
189
|
} catch (error) {
|
|
202
|
-
console.log('esto esssss el errorrrr');
|
|
203
|
-
console.log(error);
|
|
204
190
|
if (error.response) {
|
|
205
191
|
throw new errors_index.CuencaResponseException(
|
|
206
192
|
error.response.data,
|
|
@@ -225,7 +211,7 @@ class Client {
|
|
|
225
211
|
class Account {
|
|
226
212
|
constructor({ accountNumber, createdAt, id, institutionName, name, userId }) {
|
|
227
213
|
this.accountNumber = accountNumber;
|
|
228
|
-
this.createdAt =
|
|
214
|
+
this.createdAt = data.dateToUTC(createdAt);
|
|
229
215
|
this.id = id;
|
|
230
216
|
this.institutionName = institutionName;
|
|
231
217
|
this.name = name;
|
|
@@ -245,12 +231,12 @@ class Account {
|
|
|
245
231
|
|
|
246
232
|
class ApiKey {
|
|
247
233
|
constructor({ createdAt, deactivatedAt, id, secret, userId, updatedAt }) {
|
|
248
|
-
this.createdAt =
|
|
249
|
-
this.deactivatedAt =
|
|
234
|
+
this.createdAt = data.dateToUTC(createdAt);
|
|
235
|
+
this.deactivatedAt = data.dateToUTC(deactivatedAt);
|
|
250
236
|
this.id = id;
|
|
251
237
|
this.secret = secret;
|
|
252
238
|
this.userId = userId;
|
|
253
|
-
this.updatedAt =
|
|
239
|
+
this.updatedAt = data.dateToUTC(updatedAt);
|
|
254
240
|
}
|
|
255
241
|
|
|
256
242
|
static fromObject = ({ id, secret, ...obj }) =>
|
|
@@ -264,7 +250,7 @@ class ApiKey {
|
|
|
264
250
|
});
|
|
265
251
|
|
|
266
252
|
get isActive() {
|
|
267
|
-
const todayUTC =
|
|
253
|
+
const todayUTC = data.dateToUTC(Date.now());
|
|
268
254
|
return (
|
|
269
255
|
!this.deactivatedAt || this.deactivatedAt.getTime() > todayUTC.getTime()
|
|
270
256
|
);
|
|
@@ -274,7 +260,7 @@ class ApiKey {
|
|
|
274
260
|
class Arpc {
|
|
275
261
|
constructor({ arpc, createdAt, cardUri, isValidArqc }) {
|
|
276
262
|
this.arpc = arpc;
|
|
277
|
-
this.createdAt =
|
|
263
|
+
this.createdAt = data.dateToUTC(createdAt);
|
|
278
264
|
this.cardUri = cardUri;
|
|
279
265
|
this.isValidArqc = isValidArqc;
|
|
280
266
|
}
|
|
@@ -301,9 +287,9 @@ class BalanceEntry {
|
|
|
301
287
|
rollingBalance,
|
|
302
288
|
}) {
|
|
303
289
|
this.amount = amount;
|
|
304
|
-
this.createdAt =
|
|
290
|
+
this.createdAt = data.dateToUTC(createdAt);
|
|
305
291
|
this.descriptor = descriptor;
|
|
306
|
-
this.entryType =
|
|
292
|
+
this.entryType = data.enumValueFromString(identities.EntryType, entryType);
|
|
307
293
|
this.fundingInstrumentUri = fundingInstrumentUri;
|
|
308
294
|
this.id = id;
|
|
309
295
|
this.name = name;
|
|
@@ -328,9 +314,9 @@ class BalanceEntry {
|
|
|
328
314
|
class Transaction {
|
|
329
315
|
constructor({ amount, createdAt, descriptor, status, userId }) {
|
|
330
316
|
this.amount = amount;
|
|
331
|
-
this.createdAt =
|
|
317
|
+
this.createdAt = data.dateToUTC(createdAt);
|
|
332
318
|
this.descriptor = descriptor;
|
|
333
|
-
this.status =
|
|
319
|
+
this.status = data.enumValueFromString(identities.TransactionStatus, status);
|
|
334
320
|
this.userId = userId;
|
|
335
321
|
}
|
|
336
322
|
}
|
|
@@ -387,18 +373,18 @@ class Card {
|
|
|
387
373
|
updatedAt,
|
|
388
374
|
userId,
|
|
389
375
|
}) {
|
|
390
|
-
this.createdAt =
|
|
376
|
+
this.createdAt = data.dateToUTC(createdAt);
|
|
391
377
|
this.cvv2 = cvv2;
|
|
392
378
|
this.expMonth = expMonth;
|
|
393
379
|
this.expYear = expYear;
|
|
394
|
-
this.fundingType =
|
|
380
|
+
this.fundingType = data.enumValueFromString(identities.CardFundingType, fundingType);
|
|
395
381
|
this.id = id;
|
|
396
|
-
this.issuer =
|
|
382
|
+
this.issuer = data.enumValueFromString(identities.CardIssuer, issuer);
|
|
397
383
|
this.number = number;
|
|
398
384
|
this.pin = pin;
|
|
399
|
-
this.status =
|
|
400
|
-
this.type =
|
|
401
|
-
this.updatedAt =
|
|
385
|
+
this.status = data.enumValueFromString(identities.CardStatus, status);
|
|
386
|
+
this.type = data.enumValueFromString(identities.CardType, type);
|
|
387
|
+
this.updatedAt = data.dateToUTC(updatedAt);
|
|
402
388
|
this.userId = userId;
|
|
403
389
|
}
|
|
404
390
|
|
|
@@ -432,7 +418,7 @@ class Card {
|
|
|
432
418
|
class CardActivation {
|
|
433
419
|
constructor({ cardUri, createdAt, id, ipAddress, success, userId }) {
|
|
434
420
|
this.cardUri = cardUri;
|
|
435
|
-
this.createdAt =
|
|
421
|
+
this.createdAt = data.dateToUTC(createdAt);
|
|
436
422
|
this.id = id;
|
|
437
423
|
this.ipAddress = ipAddress;
|
|
438
424
|
this.success = success;
|
|
@@ -473,14 +459,14 @@ class CardTransaction extends Transaction {
|
|
|
473
459
|
status,
|
|
474
460
|
userId,
|
|
475
461
|
});
|
|
476
|
-
this.cardErrorType =
|
|
462
|
+
this.cardErrorType = data.enumValueFromString(identities.CardErrorType, cardErrorType);
|
|
477
463
|
this.cardLastFour = cardLastFour;
|
|
478
|
-
this.cardType =
|
|
464
|
+
this.cardType = data.enumValueFromString(identities.CardType, cardType);
|
|
479
465
|
this.cardUri = cardUri;
|
|
480
466
|
this.metadata = metadata;
|
|
481
467
|
this.network = network;
|
|
482
468
|
this.relatedCardTransactionsUris = relatedCardTransactionsUris;
|
|
483
|
-
this.type =
|
|
469
|
+
this.type = data.enumValueFromString(identities.CardTransactionType, type);
|
|
484
470
|
}
|
|
485
471
|
|
|
486
472
|
static fromObject = ({
|
|
@@ -524,10 +510,10 @@ class CardValidation {
|
|
|
524
510
|
isValidPinBlock,
|
|
525
511
|
userId,
|
|
526
512
|
}) {
|
|
527
|
-
this.cardStatus =
|
|
528
|
-
this.cardType =
|
|
513
|
+
this.cardStatus = data.enumValueFromString(identities.CardStatus, cardStatus);
|
|
514
|
+
this.cardType = data.enumValueFromString(identities.CardType, cardType);
|
|
529
515
|
this.cardUri = cardUri;
|
|
530
|
-
this.createdAt =
|
|
516
|
+
this.createdAt = data.dateToUTC(createdAt);
|
|
531
517
|
this.isExpired = isExpired;
|
|
532
518
|
this.isPinAttemptsExceeded = isPinAttemptsExceeded;
|
|
533
519
|
this.isValidCvv = isValidCvv;
|
|
@@ -577,7 +563,7 @@ class Commission extends Transaction {
|
|
|
577
563
|
userId,
|
|
578
564
|
});
|
|
579
565
|
this.relatedTransactionUri = relatedTransactionUri;
|
|
580
|
-
this.type =
|
|
566
|
+
this.type = data.enumValueFromString(identities.CommissionType, type);
|
|
581
567
|
}
|
|
582
568
|
|
|
583
569
|
static fromObject = ({ amount, descriptor, status, type, ...obj }) =>
|
|
@@ -612,7 +598,7 @@ class Deposit extends Transaction {
|
|
|
612
598
|
userId,
|
|
613
599
|
});
|
|
614
600
|
this.id = id;
|
|
615
|
-
this.network =
|
|
601
|
+
this.network = data.enumValueFromString(identities.DepositNetwork, network);
|
|
616
602
|
this.sourceUri = sourceUri;
|
|
617
603
|
this.trackingKey = trackingKey;
|
|
618
604
|
}
|
|
@@ -642,11 +628,11 @@ class LoginToken {
|
|
|
642
628
|
class Wallet {
|
|
643
629
|
constructor({ balance, createdAt, deactivatedAt, id, userId, updatedAt }) {
|
|
644
630
|
this.balance = balance;
|
|
645
|
-
this.createdAt =
|
|
646
|
-
this.deactivatedAt =
|
|
631
|
+
this.createdAt = data.dateToUTC(createdAt);
|
|
632
|
+
this.deactivatedAt = data.dateToUTC(deactivatedAt);
|
|
647
633
|
this.id = id;
|
|
648
634
|
this.userId = userId;
|
|
649
|
-
this.updatedAt =
|
|
635
|
+
this.updatedAt = data.dateToUTC(updatedAt);
|
|
650
636
|
}
|
|
651
637
|
}
|
|
652
638
|
|
|
@@ -671,9 +657,9 @@ class Saving extends Wallet {
|
|
|
671
657
|
userId,
|
|
672
658
|
updatedAt,
|
|
673
659
|
});
|
|
674
|
-
this.category =
|
|
660
|
+
this.category = data.enumValueFromString(identities.SavingCategory, category);
|
|
675
661
|
this.goalAmount = goalAmount;
|
|
676
|
-
this.goalDate =
|
|
662
|
+
this.goalDate = data.dateToUTC(goalDate);
|
|
677
663
|
this.name = name;
|
|
678
664
|
}
|
|
679
665
|
|
|
@@ -695,7 +681,7 @@ class Saving extends Wallet {
|
|
|
695
681
|
const categoriesFromString = (categoriesList) => {
|
|
696
682
|
if (categoriesList == null) return [];
|
|
697
683
|
return categoriesList.map((category) =>
|
|
698
|
-
|
|
684
|
+
data.enumValueFromString(identities.ServiceProviderCategory, category),
|
|
699
685
|
);
|
|
700
686
|
};
|
|
701
687
|
|
|
@@ -718,7 +704,7 @@ class ServiceProvider {
|
|
|
718
704
|
|
|
719
705
|
class Statement {
|
|
720
706
|
constructor({ createdAt, id, month, year }) {
|
|
721
|
-
this.createdAt =
|
|
707
|
+
this.createdAt = data.dateToUTC(createdAt);
|
|
722
708
|
this.id = id;
|
|
723
709
|
this.month = month;
|
|
724
710
|
this.year = year;
|
|
@@ -760,10 +746,10 @@ class Transfer extends Transaction {
|
|
|
760
746
|
this.destinationUri = destinationUri;
|
|
761
747
|
this.id = id;
|
|
762
748
|
this.idempotencyKey = idempotencyKey;
|
|
763
|
-
this.network =
|
|
749
|
+
this.network = data.enumValueFromString(identities.TransferNetwork, network);
|
|
764
750
|
this.recipientName = recipientName;
|
|
765
751
|
this.trackingKey = trackingKey;
|
|
766
|
-
this.updatedAt =
|
|
752
|
+
this.updatedAt = data.dateToUTC(updatedAt);
|
|
767
753
|
}
|
|
768
754
|
|
|
769
755
|
static fromObject = ({ amount, descriptor, id, network, status, ...obj }) =>
|
|
@@ -787,14 +773,16 @@ class Transfer extends Transaction {
|
|
|
787
773
|
class User {
|
|
788
774
|
constructor({
|
|
789
775
|
emailAddress,
|
|
776
|
+
level,
|
|
790
777
|
phoneNumber,
|
|
791
778
|
status,
|
|
792
779
|
termsOfService,
|
|
793
780
|
verificationId,
|
|
794
781
|
}) {
|
|
795
782
|
this.emailAddress = emailAddress;
|
|
783
|
+
this.level = level;
|
|
796
784
|
this.phoneNumber = phoneNumber;
|
|
797
|
-
this.status =
|
|
785
|
+
this.status = data.enumValueFromString(identities.UserStatus, status);
|
|
798
786
|
this.terms = termsOfService;
|
|
799
787
|
this.verificationId = verificationId;
|
|
800
788
|
}
|
|
@@ -808,11 +796,12 @@ class User {
|
|
|
808
796
|
this._termsOfService = identities.TOSAgreements.fromObject(value);
|
|
809
797
|
}
|
|
810
798
|
|
|
811
|
-
static fromObject = ({ ...obj }) =>
|
|
799
|
+
static fromObject = ({ level,status, ...obj }) =>
|
|
812
800
|
new User({
|
|
801
|
+
level,
|
|
802
|
+
status,
|
|
813
803
|
emailAddress: obj.email_address,
|
|
814
804
|
phoneNumber: obj.phone_number,
|
|
815
|
-
status: obj.status,
|
|
816
805
|
termsOfService: obj.terms_of_service,
|
|
817
806
|
verificationId: obj.verification_id,
|
|
818
807
|
});
|
|
@@ -820,10 +809,10 @@ class User {
|
|
|
820
809
|
|
|
821
810
|
class UserCredential {
|
|
822
811
|
constructor({ createdAt, id, isActive, updatedAt }) {
|
|
823
|
-
this.createdAt =
|
|
812
|
+
this.createdAt = data.dateToUTC(createdAt);
|
|
824
813
|
this.id = id;
|
|
825
814
|
this.isActive = isActive;
|
|
826
|
-
this.updatedAt =
|
|
815
|
+
this.updatedAt = data.dateToUTC(updatedAt);
|
|
827
816
|
}
|
|
828
817
|
|
|
829
818
|
static fromObject = ({ id, ...obj }) =>
|
|
@@ -838,7 +827,7 @@ class UserCredential {
|
|
|
838
827
|
class UserLogin {
|
|
839
828
|
constructor({ id, lastLoginAt, success }) {
|
|
840
829
|
this.id = id;
|
|
841
|
-
this.lastLoginAt =
|
|
830
|
+
this.lastLoginAt = data.dateToUTC(lastLoginAt);
|
|
842
831
|
this.success = success;
|
|
843
832
|
}
|
|
844
833
|
|
|
@@ -869,7 +858,7 @@ class WalletTransaction extends Transaction {
|
|
|
869
858
|
userId,
|
|
870
859
|
});
|
|
871
860
|
this.id = id;
|
|
872
|
-
this.transactionType =
|
|
861
|
+
this.transactionType = data.enumValueFromString(
|
|
873
862
|
identities.WalletTransactionType,
|
|
874
863
|
transactionType,
|
|
875
864
|
);
|
|
@@ -916,12 +905,12 @@ class WhatsAppTransfer extends Transaction {
|
|
|
916
905
|
this.claimUrl = claimUrl;
|
|
917
906
|
this.destinationUri = destinationUri;
|
|
918
907
|
this.id = id;
|
|
919
|
-
this.expiresAt =
|
|
920
|
-
this.network =
|
|
908
|
+
this.expiresAt = data.dateToUTC(expiresAt);
|
|
909
|
+
this.network = data.enumValueFromString(identities.TransferNetwork, network);
|
|
921
910
|
this.phoneNumber = phoneNumber;
|
|
922
911
|
this.recipientName = recipientName;
|
|
923
912
|
this.trackingKey = trackingKey;
|
|
924
|
-
this.updatedAt =
|
|
913
|
+
this.updatedAt = data.dateToUTC(updatedAt);
|
|
925
914
|
}
|
|
926
915
|
|
|
927
916
|
static fromObject = ({ amount, descriptor, id, network, status, ...obj }) =>
|
|
@@ -1483,7 +1472,7 @@ class TransferResource extends mix(Resource).with(
|
|
|
1483
1472
|
}
|
|
1484
1473
|
|
|
1485
1474
|
static _genIdempotencyKey(accountNumber, amount) {
|
|
1486
|
-
const [date] =
|
|
1475
|
+
const [date] = data.dateToUTC(Date.now()).toISOString().split('T');
|
|
1487
1476
|
return `${date}:${accountNumber}:${amount}`;
|
|
1488
1477
|
}
|
|
1489
1478
|
}
|
|
@@ -1540,7 +1529,7 @@ class UserResourse extends mix(Resource).with(Queryable, Updateable) {
|
|
|
1540
1529
|
super('users', identities.UserQuery, client);
|
|
1541
1530
|
}
|
|
1542
1531
|
|
|
1543
|
-
async update({ termsOfService, userId = 'me'
|
|
1532
|
+
async update({ termsOfService, verificationId, userId = 'me' }) {
|
|
1544
1533
|
const request = new walletTransactionRequest.UserUpdateRequest({ termsOfService, verificationId });
|
|
1545
1534
|
const user = await this._update(userId, request.toCleanObject());
|
|
1546
1535
|
return user;
|
|
@@ -1614,9 +1603,9 @@ class Cuenca {
|
|
|
1614
1603
|
this.serviceProviders = new ServiceProviderResource(client);
|
|
1615
1604
|
this.statements = new StatementResource(client);
|
|
1616
1605
|
this.transfers = new TransferResource(client);
|
|
1617
|
-
this.users = new UserResourse(client);
|
|
1618
1606
|
this.userCredentials = new UserCredentialResource(client);
|
|
1619
1607
|
this.userLogins = new UserLoginResource(client);
|
|
1608
|
+
this.users = new UserResourse(client);
|
|
1620
1609
|
this.walletTransactions = new WalletTransactionsResource(client);
|
|
1621
1610
|
this.whatsAppTransfers = new WhatsAppTransferResource(client);
|
|
1622
1611
|
}
|
package/build/index.mjs
CHANGED
|
@@ -2,9 +2,9 @@ import axios from 'axios';
|
|
|
2
2
|
import Buffer from 'buffer';
|
|
3
3
|
import { CuencaResponseException, CuencaException, NoResultFound, MultipleResultsFound, InvalidPassword } from './errors/index.mjs';
|
|
4
4
|
import { Jwt } from './jwt/index.mjs';
|
|
5
|
-
import { P as Phase, F as FileFormat, E as EntryType, T as TransactionStatus, C as CardIssuer, a as CardStatus, b as CardType, c as CardFundingType, d as CardErrorType, e as CardTransactionType, f as CommissionType, D as DepositNetwork, S as SavingCategory, g as ServiceProviderCategory, h as TransferNetwork, U as UserStatus, i as TOSAgreements, W as WalletTransactionType, A as AccountQuery, j as ApiKeyQuery, B as BalanceEntryQuery, k as BillPaymentQuery, l as CardsQuery, m as CardTransactionQuery, Q as QueryParams, n as DepositQuery, o as WalletQuery, p as StatementQuery, q as TransferQuery, r as UserQuery, s as WalletTransactionQuery } from './identities-
|
|
6
|
-
import { d as dateToUTC, e as enumValueFromString } from './
|
|
7
|
-
import { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, S as SavingRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, W as WalletTransactionRequest } from './walletTransactionRequest-
|
|
5
|
+
import { P as Phase, F as FileFormat, E as EntryType, T as TransactionStatus, C as CardIssuer, a as CardStatus, b as CardType, c as CardFundingType, d as CardErrorType, e as CardTransactionType, f as CommissionType, D as DepositNetwork, S as SavingCategory, g as ServiceProviderCategory, h as TransferNetwork, U as UserStatus, i as TOSAgreements, W as WalletTransactionType, A as AccountQuery, j as ApiKeyQuery, B as BalanceEntryQuery, k as BillPaymentQuery, l as CardsQuery, m as CardTransactionQuery, Q as QueryParams, n as DepositQuery, o as WalletQuery, p as StatementQuery, q as TransferQuery, r as UserQuery, s as WalletTransactionQuery } from './identities-f6558f98.mjs';
|
|
6
|
+
import { d as dateToUTC, e as enumValueFromString } from './data-d5bcb7c8.mjs';
|
|
7
|
+
import { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, S as SavingRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, W as WalletTransactionRequest } from './walletTransactionRequest-4e6b348f.mjs';
|
|
8
8
|
|
|
9
9
|
/* global window */
|
|
10
10
|
|
|
@@ -17,7 +17,7 @@ const isNode =
|
|
|
17
17
|
|
|
18
18
|
const runtimeEnv = { isBrowser, isNode };
|
|
19
19
|
|
|
20
|
-
const name="@cuenca-mx/cuenca-js";const version="0.0.1-dev.
|
|
20
|
+
const name="@cuenca-mx/cuenca-js";const version="0.0.1-dev.31";const description="Cuenca client for JS";const main="./build/index.cjs";const module="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module,browser:browser,files:files,exports:exports,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
|
|
21
21
|
|
|
22
22
|
class Client {
|
|
23
23
|
constructor({ apiKey, apiSecret, phase = Phase.Sandbox } = {}) {
|
|
@@ -121,9 +121,6 @@ class Client {
|
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
async patch({ endpoint, data }) {
|
|
124
|
-
console.log('este es el patch');
|
|
125
|
-
console.log(endpoint);
|
|
126
|
-
console.log(data);
|
|
127
124
|
return this.request({ method: 'PATCH', endpoint, data });
|
|
128
125
|
}
|
|
129
126
|
|
|
@@ -176,22 +173,11 @@ class Client {
|
|
|
176
173
|
data: modifiedData,
|
|
177
174
|
url: endpoint,
|
|
178
175
|
});
|
|
179
|
-
|
|
180
|
-
console.log(modifiedData);
|
|
181
|
-
console.log(method);
|
|
182
|
-
console.log({data: modifiedData});
|
|
183
|
-
console.log({url: endpoint});
|
|
184
|
-
|
|
185
|
-
console.log('esto es en el request todavia ');
|
|
186
|
-
console.log({baseURL: this.origin});
|
|
176
|
+
|
|
187
177
|
let response;
|
|
188
178
|
try {
|
|
189
179
|
response = await this._session.request({ baseURL: this.origin });
|
|
190
|
-
console.log('esto esssss response');
|
|
191
|
-
console.log(response);
|
|
192
180
|
} catch (error) {
|
|
193
|
-
console.log('esto esssss el errorrrr');
|
|
194
|
-
console.log(error);
|
|
195
181
|
if (error.response) {
|
|
196
182
|
throw new CuencaResponseException(
|
|
197
183
|
error.response.data,
|
|
@@ -778,12 +764,14 @@ class Transfer extends Transaction {
|
|
|
778
764
|
class User {
|
|
779
765
|
constructor({
|
|
780
766
|
emailAddress,
|
|
767
|
+
level,
|
|
781
768
|
phoneNumber,
|
|
782
769
|
status,
|
|
783
770
|
termsOfService,
|
|
784
771
|
verificationId,
|
|
785
772
|
}) {
|
|
786
773
|
this.emailAddress = emailAddress;
|
|
774
|
+
this.level = level;
|
|
787
775
|
this.phoneNumber = phoneNumber;
|
|
788
776
|
this.status = enumValueFromString(UserStatus, status);
|
|
789
777
|
this.terms = termsOfService;
|
|
@@ -799,11 +787,12 @@ class User {
|
|
|
799
787
|
this._termsOfService = TOSAgreements.fromObject(value);
|
|
800
788
|
}
|
|
801
789
|
|
|
802
|
-
static fromObject = ({ ...obj }) =>
|
|
790
|
+
static fromObject = ({ level,status, ...obj }) =>
|
|
803
791
|
new User({
|
|
792
|
+
level,
|
|
793
|
+
status,
|
|
804
794
|
emailAddress: obj.email_address,
|
|
805
795
|
phoneNumber: obj.phone_number,
|
|
806
|
-
status: obj.status,
|
|
807
796
|
termsOfService: obj.terms_of_service,
|
|
808
797
|
verificationId: obj.verification_id,
|
|
809
798
|
});
|
|
@@ -1531,7 +1520,7 @@ class UserResourse extends mix(Resource).with(Queryable, Updateable) {
|
|
|
1531
1520
|
super('users', UserQuery, client);
|
|
1532
1521
|
}
|
|
1533
1522
|
|
|
1534
|
-
async update({ termsOfService, userId = 'me'
|
|
1523
|
+
async update({ termsOfService, verificationId, userId = 'me' }) {
|
|
1535
1524
|
const request = new UserUpdateRequest({ termsOfService, verificationId });
|
|
1536
1525
|
const user = await this._update(userId, request.toCleanObject());
|
|
1537
1526
|
return user;
|
|
@@ -1605,9 +1594,9 @@ class Cuenca {
|
|
|
1605
1594
|
this.serviceProviders = new ServiceProviderResource(client);
|
|
1606
1595
|
this.statements = new StatementResource(client);
|
|
1607
1596
|
this.transfers = new TransferResource(client);
|
|
1608
|
-
this.users = new UserResourse(client);
|
|
1609
1597
|
this.userCredentials = new UserCredentialResource(client);
|
|
1610
1598
|
this.userLogins = new UserLoginResource(client);
|
|
1599
|
+
this.users = new UserResourse(client);
|
|
1611
1600
|
this.walletTransactions = new WalletTransactionsResource(client);
|
|
1612
1601
|
this.whatsAppTransfers = new WhatsAppTransferResource(client);
|
|
1613
1602
|
}
|
package/build/requests/index.cjs
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var walletTransactionRequest = require('../walletTransactionRequest-
|
|
6
|
-
require('../base-80b9a673.cjs');
|
|
5
|
+
var walletTransactionRequest = require('../walletTransactionRequest-572c455b.cjs');
|
|
7
6
|
require('../errors/index.cjs');
|
|
7
|
+
require('../data-9edbb2a0.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
@@ -15,7 +15,6 @@ exports.CardRequest = walletTransactionRequest.CardRequest;
|
|
|
15
15
|
exports.CardUpdateRequest = walletTransactionRequest.CardUpdateRequest;
|
|
16
16
|
exports.CardValidationRequest = walletTransactionRequest.CardValidationRequest;
|
|
17
17
|
exports.SavingRequest = walletTransactionRequest.SavingRequest;
|
|
18
|
-
exports.TosUpdateRequest = walletTransactionRequest.TosUpdateRequest;
|
|
19
18
|
exports.TransferRequest = walletTransactionRequest.TransferRequest;
|
|
20
19
|
exports.UserCredentialRequest = walletTransactionRequest.UserCredentialRequest;
|
|
21
20
|
exports.UserCredentialUpdateRequest = walletTransactionRequest.UserCredentialUpdateRequest;
|
package/build/requests/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, S as SavingRequest,
|
|
2
|
-
import '../base-c1f04b51.mjs';
|
|
1
|
+
export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, S as SavingRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-4e6b348f.mjs';
|
|
3
2
|
import '../errors/index.mjs';
|
|
3
|
+
import '../data-d5bcb7c8.mjs';
|
package/build/types/index.cjs
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var identities = require('../identities-
|
|
5
|
+
var identities = require('../identities-31dcced0.cjs');
|
|
6
6
|
require('../errors/index.cjs');
|
|
7
|
-
require('../
|
|
7
|
+
require('../data-9edbb2a0.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
package/build/types/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { A as AccountQuery, j as ApiKeyQuery, B as BalanceEntryQuery, k as BillPaymentQuery, d as CardErrorType, c as CardFundingType, C as CardIssuer, a as CardStatus, m as CardTransactionQuery, e as CardTransactionType, b as CardType, l as CardsQuery, f as CommissionType, D as DepositNetwork, n as DepositQuery, E as EntryType, F as FileFormat, u as PageSize, P as Phase, Q as QueryParams, S as SavingCategory, g as ServiceProviderCategory, p as StatementQuery, i as TOSAgreements, t as TrackDataMethod, T as TransactionStatus, h as TransferNetwork, q as TransferQuery, r as UserQuery, U as UserStatus, o as WalletQuery, s as WalletTransactionQuery, W as WalletTransactionType } from '../identities-
|
|
1
|
+
export { A as AccountQuery, j as ApiKeyQuery, B as BalanceEntryQuery, k as BillPaymentQuery, d as CardErrorType, c as CardFundingType, C as CardIssuer, a as CardStatus, m as CardTransactionQuery, e as CardTransactionType, b as CardType, l as CardsQuery, f as CommissionType, D as DepositNetwork, n as DepositQuery, E as EntryType, F as FileFormat, u as PageSize, P as Phase, Q as QueryParams, S as SavingCategory, g as ServiceProviderCategory, p as StatementQuery, i as TOSAgreements, t as TrackDataMethod, T as TransactionStatus, h as TransferNetwork, q as TransferQuery, r as UserQuery, U as UserStatus, o as WalletQuery, s as WalletTransactionQuery, W as WalletTransactionType } from '../identities-f6558f98.mjs';
|
|
2
2
|
import '../errors/index.mjs';
|
|
3
|
-
import '../
|
|
3
|
+
import '../data-d5bcb7c8.mjs';
|
package/build/umd/cuenca.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","axios","buffer"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer)}(this,(function(t,e,s){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var r=i(e),a=i(s);class n extends Error{constructor(t){super(t),Object.setPrototypeOf(this,n.prototype)}}class c extends n{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,c.prototype)}}class o extends n{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,o.prototype)}}class d extends n{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,d.prototype)}}class u extends n{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,u.prototype)}}class h extends n{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,h.prototype)}}class l extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l.prototype)}}const p="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),w=p,_=m;class v{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(a.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new u}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:i}=await t.post("token",{});s.eject();const r=v.getExpirationDate(i);return new v(r,i)}}class b{static Blocked=new b("blocked");static Comunication=new b("comunication");static ContactlesAmountLimit=new b("contactles_amount_limit");static FraudDetection=new b("fraud_detection");static FraudDetectionUncertain=new b("fraud_detection_uncertain");static InsufficientFounds=new b("insufficient_founds");static InvalidPin=new b("invalid_pin");static Notification=new b("notification");static NotificationDeactivatedCard=new b("notification_deactivated_card");constructor(t){this.value=t}}class y{static Credit=new y("credit");static Debit=new y("debit");constructor(t){this.value=t}}class f{static Accendo=new f("accendo");static Cuenca=new f("cuenca");constructor(t){this.value=t}}class g{static Active=new g("active");static Blocked=new g("blocked");static Created=new g("created");static Deactivated=new g("deactivated");static Printing=new g("printing");constructor(t){this.value=t}}class O{static Auth=new O("auth");static Capture=new O("capture");static Chargeback=new O("chargeback");static Expiration=new O("expiration");static Refund=new O("refund");static Void=new O("void");constructor(t){this.value=t}}class j{static Physical=new j("physical");static Virtual=new j("virtual");constructor(t){this.value=t}}class A{static CardRequest=new A("card_request");static CashDeposit=new A("cash_deposit");static OutgoingSpei=new A("outgoing_spei");constructor(t){this.value=t}}class x{static Cash=new x("cash");static Internal=new x("internal");static Spei=new x("spei");constructor(t){this.value=t}}class I{static Credit=new I("credit");static Debit=new I("debit");constructor(t){this.value=t}}class k{static Pdf=new k("pdf");static Xml=new k("xml");static Json=new k("json");constructor(t){this.value=t}}class T{static Sandbox=new T("sandbox");static Stage=new T("stage");static Api=new T("api");constructor(t){this.value=t}}class U{static Cable=new U("cable");static CreditCard=new U("credit_card");static Electricity=new U("electricity");static Gas=new U("gas");static Internet=new U("internet");static LandlineTelephone=new U("landline_telephone");static MobileTelephonePostpaid=new U("mobile_telephone_postpaid");static MobileTelephonePrepaid=new U("mobile_telephone_prepaid");static SateliteTelevision=new U("satelite_television");static Water=new U("water");constructor(t){this.value=t}}class C{static General=new C("general");static Home=new C("home");static Vehicle=new C("vehicle");static Travel=new C("travel");static Clothing=new C("clothing");static Other=new C("other");static Medical=new C("medical");static Accident=new C("accident");static Education=new C("education");constructor(t){this.value=t}}class S{static NotSet=new S("not_set");static Terminal=new S("terminal");static Manual=new S("manual");static Unknown=new S("unknown");static Contactless=new S("contactless");static FallBack=new S("fall_back");static MagneticStripe=new S("magnetic_stripe");static RecurringCharge=new S("recurring_charge");constructor(t){this.value=t}}class N{static Created=new N("created");static Failed=new N("failed");static InReview=new N("in_review");static Submitted=new N("submitted");static Succeeded=new N("succeeded");constructor(t){this.value=t}}class ${static Internal=new $("internal");static Spei=new $("spei");constructor(t){this.value=t}}class q{static Active=new q("active");static Deactivated=new q("deactivated");static fraud=new q("fraud");static pld_blocked=new q("pld_blocked");constructor(t){this.value=t}}class K{static Deposit=new K("deposit");static Withdrawal=new K("withdrawal");constructor(t){this.value=t}}const E=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},P=(t,e)=>Object.values(t).find((t=>t.value===e));class D{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:i,relatedTransaction:r,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=r,this.userId=a,this.count=n,this.pageSize=i}get limit(){return this._limit}set _lmt(t){let e=null;t&&t>=0&&(e=t),this._limit=e}toObject(){return{created_after:this.createdAfter,created_before:this.createdBefore,limit:this.limit,related_transaction:this.relatedTransaction,user_id:this.userId,page_size:this.pageSize&&this.pageSize.size}}toParams(){const t={...this.toObject()};return this.count&&(t.count=1),Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}toQueryString(){return new URLSearchParams(this.toParams()).toString()}}class M extends D{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class B extends D{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class V extends D{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class R extends V{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class Y extends V{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:i,...r}){super(r),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=i}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class H extends D{constructor({fundingInstrumentUri:t,count:e=!1,walletId:s="default",...i}){super(i),this.fundingInstrumentUri=t,this.count=e,this.walletId=s}toObject(){return Object.assign(super.toObject(),{wallet_id:this.walletId,funding_instrument_uri:this.fundingInstrumentUri,count:this.count})}}class L extends D{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class F extends D{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class X extends D{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class z extends D{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class Q extends D{constructor({emailAddress:t,phoneNumber:e,status:s,...i}){super(i),this.emailAddress=t,this.phoneNumber=e,this.status=s}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,phone_number:this.phoneNumber,status:this.status})}}class J extends D{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class W extends D{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=E(Date.now());s.setUTCDate(1);if(E(`${e}-${t}-01`).getTime()>=s.getTime())throw new l(`${e}-${t} is not a valid year-month pair`);this._date={month:t,year:e}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class G{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Z extends G{constructor({ip:t,location:e,version:s}){super(),this.ip=t,this.location=e,this.version=s}static fromObject=({ip:t,location:e,version:s})=>new Z({ip:t,location:e,version:s})}var tt="0.0.1-dev.29";class et{constructor({apiKey:t,apiSecret:e,phase:s=T.Sandbox}={}){this.phase=s,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=r.default.create()}get session(){return this._session}get origin(){return`https://${this.phase.value}.cuenca.com`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${a.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return Object.keys(t).forEach((e=>i[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}deleteRequestHeader(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return delete i[t],s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}addConfigToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e;return Object.keys(t).forEach((e=>s[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}async configure({apiKey:t,apiSecret:e,loginToken:s,phase:i,sessionId:r,useJwt:a=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},i&&(this.phase=i),a&&(this.jwtToken=await v.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),r&&this.addHeadersToRequest({"X-Cuenca-SessionId":r})}async get({endpoint:t,format:e,params:s}){return this.request({endpoint:t,format:e,params:s})}async post({endpoint:t,data:e}){return this.request({method:"POST",endpoint:t,data:e})}async patch({endpoint:t,data:e}){return console.log("este es el patch"),console.log(t),console.log(e),this.request({method:"PATCH",endpoint:t,data:e})}async delete({endpoint:t,data:e}){return this.request({method:"DELETE",endpoint:t,data:e})}async request({endpoint:t,data:e=null,format:s=k.Json,method:i="GET",params:r=null}){const a={Authorization:this.authHeader,"Content-Type":"application/json",Accept:`application/${s.value}`};_?a["User-Agent"]=`cuenca-js/${tt}`:w&&(a["X-User-Agent"]=`cuenca-js/${tt}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await v.create(this)),a["X-Cuenca-Token"]=this.jwtToken.token);const o=this.addHeadersToRequest(a),d=e;d&&Object.keys(d).forEach((t=>{d[t]instanceof Date&&(d[t]=d[t].toISOString())}));const u=this.addConfigToRequest({method:i,params:r,data:d,url:t});let h;console.log("esto es en el request antes "),console.log(d),console.log(i),console.log({data:d}),console.log({url:t}),console.log("esto es en el request todavia "),console.log({baseURL:this.origin});try{h=await this._session.request({baseURL:this.origin}),console.log("esto esssss response"),console.log(h)}catch(t){throw console.log("esto esssss el errorrrr"),console.log(t),t.response?new c(t.response.data,t.response.status):t.request?new n(`No response received: ${t.errno}: ${t.code}`):new n(t.message)}finally{o.eject(),u.eject()}return h.data}}class st{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=E(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new st({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class it{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=E(t),this.deactivatedAt=E(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=E(a)}static fromObject=({id:t,secret:e,...s})=>new it({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=E(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class rt{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=E(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new rt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class at{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=E(e),this.descriptor=s,this.entryType=P(I,i),this.fundingInstrumentUri=r,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:i,type:r,...a})=>new at({amount:t,descriptor:e,name:i,id:s,createdAt:a.created_at,entryType:r,fundingInstrumentUri:a.funding_instrument_uri,relatedTransactionUri:a.related_transaction_uri,rollingBalance:a.rolling_balance})}class nt{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=E(e),this.descriptor=s,this.status=P(N,i),this.userId=r}}class ct extends nt{constructor({amount:t,accountNumber:e,createdAt:s,descriptor:i,id:r,providerUri:a,status:n,userId:c}){super({amount:t,createdAt:s,descriptor:i,status:n,userId:c}),this.accountNumber=e,this.id=r,this.providerUri=a}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new ct({amount:t,descriptor:e,id:s,status:i,accountNumber:r.account_number,createdAt:r.created_at,providerUri:r.provider_uri,userId:r.user_id})}class ot{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:i,fundingType:r,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:l}){this.createdAt=E(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=P(y,r),this.id=a,this.issuer=P(f,n),this.number=c,this.pin=o,this.status=P(g,d),this.type=P(j,u),this.updatedAt=E(h),this.userId=l}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new ot({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,createdAt:c.created_at,expMonth:c.exp_month,expYear:c.exp_year,fundingType:c.funding_type,updatedAt:c.updated_at,userId:c.user_id})}class dt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=E(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new dt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class ut extends nt{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:i,cardUri:r,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:l}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:l}),this.cardErrorType=P(b,e),this.cardLastFour=s,this.cardType=P(j,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=P(O,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new ut({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,cardErrorType:n.error_type,cardLastFour:n.card_last4,cardType:n.card_type,cardUri:n.card_uri,createdAt:n.created_at,relatedCardTransactionsUris:n.related_card_transaction,userId:n.user_id})}class ht{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:i,isExpired:r,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=P(g,t),this.cardType=P(j,e),this.cardUri=s,this.createdAt=E(i),this.isExpired=r,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new ht({cardStatus:t.card_status,cardType:t.card_type,cardUri:t.card_uri,createdAt:t.created_at,isExpired:t.is_expired,isPinAttemptsExceeded:t.is_pin_attempts_exceeded,isValidCvv:t.is_valid_cvv,isValidCvv2:t.is_valid_cvv2,isValidExpDate:t.is_valid_exp_date,isValidIcvv:t.is_valid_icvv,isValidPinBlock:t.is_valid_pin_block,userId:t.user_id});get isActive(){return this.cardStatus===g.Active}}class lt extends nt{constructor({amount:t,createdAt:e,descriptor:s,relatedTransactionUri:i,status:r,type:a,userId:n}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.relatedTransactionUri=i,this.type=P(A,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new lt({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class pt extends nt{constructor({amount:t,createdAt:e,descriptor:s,id:i,network:r,status:a,sourceUri:n,trackingKey:c,userId:o}){super({amount:t,createdAt:e,descriptor:s,status:a,userId:o}),this.id=i,this.network=P(x,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new pt({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class mt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new mt({id:t})}class wt extends class{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=E(e),this.deactivatedAt=E(s),this.id=i,this.userId=r,this.updatedAt=E(a)}}{constructor({balance:t,category:e,createdAt:s,deactivatedAt:i,goalAmount:r,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:i,id:n,userId:o,updatedAt:d}),this.category=P(C,e),this.goalAmount=r,this.goalDate=E(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new wt({balance:t,category:e,id:s,name:i,createdAt:r.created_at,deactivatedAt:r.deactivated_at,goalAmount:r.goal_amount,goalDate:r.goal_date,userId:r.user_id,updatedAt:r.updated_at})}class _t{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>P(U,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new _t({categories:t,id:e,name:s,providerKey:i.provider_key})}class vt{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=E(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new vt({id:t,month:e,year:s,createdAt:i.created_at})}class bt extends nt{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:i,destinationUri:r,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:l}){super({amount:e,createdAt:s,descriptor:i,status:d,userId:l}),this.accountNumber=t,this.destinationUri=r,this.id=a,this.idempotencyKey=n,this.network=P($,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=E(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new bt({amount:t,descriptor:e,id:s,network:i,status:r,accountNumber:a.account_number,createdAt:a.created_at,destinationUri:a.destination_uri,idempotencyKey:a.idempotency_key,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class yt{constructor({emailAddress:t,phoneNumber:e,status:s,termsOfService:i,verificationId:r}){this.emailAddress=t,this.phoneNumber=e,this.status=P(q,s),this.terms=i,this.verificationId=r}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=Z.fromObject(t))}static fromObject=({...t})=>new yt({emailAddress:t.email_address,phoneNumber:t.phone_number,status:t.status,termsOfService:t.terms_of_service,verificationId:t.verification_id})}class ft{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=E(t),this.id=e,this.isActive=s,this.updatedAt=E(i)}static fromObject=({id:t,...e})=>new ft({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class gt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=E(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new gt({id:t,success:e,lastLoginAt:s.last_login_at})}class Ot extends nt{constructor({amount:t,createdAt:e,descriptor:s,id:i,status:r,transactionType:a,userId:n,walletUri:c}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.id=i,this.transactionType=P(K,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new Ot({amount:t,descriptor:e,id:s,status:i,createdAt:r.created_at,transactionType:r.transaction_type,userId:r.user_id,walletUri:r.wallet_uri})}class jt extends nt{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:i,destinationUri:r,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:l,userId:p}){super({amount:t,createdAt:s,descriptor:i,status:u,userId:p}),this.claimUrl=e,this.destinationUri=r,this.id=n,this.expiresAt=E(a),this.network=P($,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=E(l)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new jt({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,claimUrl:a.claim_url,destinationUri:a.destination_uri,expiresAt:a.expires_at,phoneNumber:a.phone_number,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class At{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const xt=t=>new At(t),It=(t,e)=>({accounts:()=>st.fromObject(e),api_keys:()=>it.fromObject(e),arpc:()=>rt.fromObject(e),balance_entries:()=>at.fromObject(e),bill_payments:()=>ct.fromObject(e),cards:()=>ot.fromObject(e),card_activations:()=>dt.fromObject(e),card_transactions:()=>ut.fromObject(e),card_validations:()=>ht.fromObject(e),commissions:()=>lt.fromObject(e),deposits:()=>pt.fromObject(e),login_tokens:()=>mt.fromObject(e),savings:()=>wt.fromObject(e),service_providers:()=>_t.fromObject(e),statements:()=>vt.fromObject(e),transfers:()=>bt.fromObject(e),users:()=>yt.fromObject(e),user_credentials:()=>ft.fromObject(e),user_logins:()=>gt.fromObject(e),wallet_transactions:()=>Ot.fromObject(e),whatsapp_transfers:()=>jt.fromObject(e)}[t]()),kt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Tt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Ut=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return It(this.path,e)}},Ct=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return It(this.path,e)}},St=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return It(this.path,s)}},Nt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return It(this.path,s)}},$t=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},qt=t=>class extends t{async one(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e.length)throw new o;if(e.length>1)throw new d;const[s]=e;return It(this.path,s)}async first(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e[0])return null;const[s]=e;return It(this.path,s)}async count(t=new this.QueryParams({})){t.count=!0;const{count:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});return e||0}async*all(t=new this.QueryParams({})){let e=`/${this.path}?${t.toQueryString()}`;for(;e;){const t=await this.client.get({endpoint:e});if(t.items)for(const e of t.items){const t=It(this.path,e);yield t}e=t.next_page_uri}}};class Kt extends(xt(Tt).with(qt,Ut)){constructor(t){super("accounts",M,t)}}class Et extends G{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Pt extends G{constructor(t,e,s){super(),this.userId=t,this.issuer=e,this.fundingType=s}toObject(){return{user_id:this.userId,issuer:this.issuer,funding_type:this.fundingType}}}class Dt extends G{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Mt extends G{constructor(t,e,s,i){super(),this.n=t,this.eM=e,this.eY=s,this.c2=i}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new l("Invalid number");this._number=t.trim()}get expMonth(){return this._expMonth}set eM(t){if([!!t,t>=1,t<=12].some((t=>!t)))throw new l("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set eY(t){if([!!t,t>=18,t<=99].some((t=>!t)))throw new l("Invalid expiration year");this._expYear=t}get cvv2(){return this._cvv2}set c2(t){if([!!t,3===t.length,/^\d{3}/.test(t)].some((t=>!t)))throw new l("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class Bt extends G{constructor({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){super(),this.c=t,this.c2=e,this.em=s,this.ey=i,this.ic=r,this.n=a,this.pinBloc=n,this.pinAttemptsExceeded=c}get cvv(){return this._cvv}set c(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new l("Invalid cvv");this._cvv=t}get cvv2(){return this._cvv2}set c2(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new l("Invalid cvv2");this._cvv2=t}get expMonth(){return this._expMonth}set em(t){if(!t)return;if([t>=1,t<=12].some((t=>!t)))throw new l("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set ey(t){if(!t)return;if([t>=18,t<=99].some((t=>!t)))throw new l("Invalid expiration year");this._expYear=t}get icvv(){return this._icvv}set ic(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new l("Invalid icvv");this._icvv=t}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new l("Invalid number");this._number=t}toObject(){return{cvv:this.cvv,cvv2:this.cvv2,exp_month:this.expMonth,exp_year:this.expYear,icvv:this.icvv,number:this.number,pin_block:this.pinBloc,pin_attempts_exceeded:this.pinAttemptsExceeded}}}class Vt extends G{constructor(t,e,s,i){super(),this.category=t,this.name=i,this.goalAmount=e,this.validDate=s}get goalDate(){return this._goalDate}set validDate(t){if(t){if(E(t).getTime()<=E(Date.now()).getTime())throw new l("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}class Rt extends G{constructor({ip:t,location:e,type:s,version:i}){super(),this.ipAddress=t,this.location=e,this.type=s,this.version=i}get ip(){return this._ip}set ipAddress(t){if(!t)throw new l("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new l("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class Yt extends G{constructor(t,e,s,i,r){super(),this.accountNumber=t,this.amount=e,this.descriptor=s,this.idempotencyKey=i,this.recipientName=r}toObject(){return{account_number:this.accountNumber,amount:this.amount,descriptor:this.descriptor,idempotency_key:this.idempotencyKey,recipient_name:this.recipientName}}}class Ht extends G{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new l("Invalid password");this._password=t}toObject(){return{password:this.password}}}class Lt extends G{constructor(t,e){super(),this.pwd=t,this.isActive=e,this.req={password:this.password,isActive:this.isActive}}get password(){return this._password}get request(){return this._request}set pwd(t){if(!t)return void(this._password=t);if([6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new l("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new l("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class Ft extends G{constructor(t,e="me"){super(),this.pwd=t,this.userId=e}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new l("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class Xt extends G{constructor({termsOfService:t,verificationId:e}){super(),this.terms=t,this.verificationId=e}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new Rt(t).toObject())}toObject(){return{terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class zt extends G{constructor(t,e,s){super(),this.amount=t,this.transactionType=e,this.walletUri=s}toObject(){return{amount:this.amount,transaction_type:this.transactionType,wallet_uri:this.walletUri}}}class Qt extends(xt(Tt).with(Ct,Nt,qt,Ut,St)){constructor(t){super("api_keys",B,t)}async create(){return await this._create()}async deactivate(t,e=0){return await this._deactivate(t,{minutes:e})}async update(t,e,s){const i=new Et(s,e);return await this._update(t,i.toCleanObject())}}xt(Tt).with(Ct);class Jt extends(xt(Tt).with(qt,Ut)){constructor(t){super("balance_entries",H,t)}async relatedTransaction(t){const e=kt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return It(`${e}`,s)}async fundingInstrument(t){const e=kt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return It(`${e}`,s)}}class Wt extends(xt(Tt).with(qt,Ut)){constructor(t){super("bill_payments",L,t)}async serviceProvider(t){const e=kt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return It(`${e}`,s)}}class Gt extends(xt(Tt).with(Ct)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new Mt(t,e,s,i);return await this._create(r.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return ot.fromObject(e)}}class Zt extends(xt(Tt).with(Ct,Nt,qt,Ut,St)){constructor(t){super("cards",X,t)}async create(t,e,s){const i=new Pt(t,e,s);return await this._create(i.toCleanObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s){const i=new Dt(e,s);return await this._update(t,i.toCleanObject())}}class te extends(xt(Tt).with(qt,Ut)){constructor(t){super("card_transactions",F,t)}async relatedCard(t){const e=kt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return It(`${e}`,s)}}class ee extends(xt(Tt).with(Ct)){constructor(t){super("card_validations",Object,t)}async create({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){const o=new Bt({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c});return await this._create(o.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return ot.fromObject(e)}}class se extends(xt(Tt).with(qt,Ut)){constructor(t){super("commissions",D,t)}async relatedTransaction(t){const e=kt(t);if(null==e)return null;const s=await this.client.get(t);return It(`${e}`,s)}}class ie extends(xt(Tt).with(qt,Ut)){constructor(t){super("deposits",R,t)}async source(t){const e=await this.client.get({endpoint:t});return st.fromObject(e)}}class re extends(xt(Tt).with(Ct)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class ae extends(xt(Tt).with(Ct,Nt,qt,Ut,St)){constructor(t){super("savings",J,t)}async create(t,e,s,i){const r=new Vt(t,e,s,i);return await this._create(r.toObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s,i,r){const a=new Vt(e,s,i,r);return await this._update(t,a.toObject())}}class ne extends(xt(Tt).with(qt,Ut)){constructor(t){super("service_providers",D,t)}}class ce extends(xt(Tt).with($t,qt)){constructor(t){super("statements",W,t)}async pdf(t){return await this._download(t,k.Pdf)}async xml(t){return await this._download(t,k.Xml)}}class oe extends(xt(Tt).with(Ct,qt,Ut)){constructor(t){super("transfers",Y,t)}async destination(t){const e=await this.client.get({endpoint:t});return st.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new Yt(t,e,s,a,i);return await this._create(n.toCleanObject())}async createMany(t){if(!t||!Array.isArray(t)||!t.length)return{};const e={submitted:[],errors:[]};return await Promise.all(t.map((async({accountNumber:t,amount:s,descriptor:i,idempotencyKey:r,recipientName:a})=>{const n=new Yt(t,s,i,r||this.constructor._genIdempotencyKey(t,s),a);let c;try{c=await this._create(n.toCleanObject())}catch(t){return void e.errors.push({actualRequest:n,error:t})}e.submitted.push(c)}))),e}static _genIdempotencyKey(t,e){const[s]=E(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class de extends(xt(Tt).with(Ct,St)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new Ht(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new Lt(e,t);return await this._update(s,i.toCleanObject())}}class ue extends(xt(Tt).with(Ct,Nt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new Ft(t,e),i=await this._create(s.toObject());if(!i.success)throw new h;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":i.id}),i}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class he extends(xt(Tt).with(qt,St)){constructor(t){super("users",Q,t)}async update({termsOfService:t,userId:e="me",verificationId:s}){const i=new Xt({termsOfService:t,verificationId:s});return await this._update(e,i.toCleanObject())}}class le extends(xt(Tt).with(Ct,qt,Ut)){constructor(t){super("wallet_transactions",z,t)}async create(t,e,s){const i=new zt(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=kt(t);if(null==e)return null;const s=await this.client.get(t);return It(`${e}`,s)}}class pe extends(xt(Tt).with(qt,Ut)){constructor(t){super("whatsapp_transfers",D,t)}async accountDestination(t){const e=kt(t);if(null==e)return null;const s=await this.client.get(t);return It(`${e}`,s)}}t.Cuenca=class{constructor(t,e,s=T.Sandbox){this.client=new et({apiKey:t,apiSecret:e,phase:s}),this.withClient(this.client)}withClient(t){this.accounts=new Kt(t),this.apiKeys=new Qt(t),this.balanceEntries=new Jt(t),this.billPayments=new Wt(t),this.cardActivations=new Gt(t),this.cards=new Zt(t),this.cardTransactions=new te(t),this.cardValidations=new ee(t),this.commissions=new se(t),this.deposits=new ie(t),this.loginTokens=new re(t),this.savings=new ae(t),this.serviceProviders=new ne(t),this.statements=new ce(t),this.transfers=new oe(t),this.users=new he(t),this.userCredentials=new de(t),this.userLogins=new ue(t),this.walletTransactions=new le(t),this.whatsAppTransfers=new pe(t)}}}));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","axios","buffer"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer)}(this,(function(t,e,s){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var r=i(e),a=i(s);class n extends Error{constructor(t){super(t),Object.setPrototypeOf(this,n.prototype)}}class c extends n{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,c.prototype)}}class o extends n{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,o.prototype)}}class d extends n{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,d.prototype)}}class u extends n{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,u.prototype)}}class h extends n{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,h.prototype)}}class p extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p.prototype)}}const l="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),w=l,_=m;class v{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(a.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new u}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:i}=await t.post("token",{});s.eject();const r=v.getExpirationDate(i);return new v(r,i)}}class b{static Blocked=new b("blocked");static Comunication=new b("comunication");static ContactlesAmountLimit=new b("contactles_amount_limit");static FraudDetection=new b("fraud_detection");static FraudDetectionUncertain=new b("fraud_detection_uncertain");static InsufficientFounds=new b("insufficient_founds");static InvalidPin=new b("invalid_pin");static Notification=new b("notification");static NotificationDeactivatedCard=new b("notification_deactivated_card");constructor(t){this.value=t}}class y{static Credit=new y("credit");static Debit=new y("debit");constructor(t){this.value=t}}class f{static Accendo=new f("accendo");static Cuenca=new f("cuenca");constructor(t){this.value=t}}class g{static Active=new g("active");static Blocked=new g("blocked");static Created=new g("created");static Deactivated=new g("deactivated");static Printing=new g("printing");constructor(t){this.value=t}}class O{static Auth=new O("auth");static Capture=new O("capture");static Chargeback=new O("chargeback");static Expiration=new O("expiration");static Refund=new O("refund");static Void=new O("void");constructor(t){this.value=t}}class j{static Physical=new j("physical");static Virtual=new j("virtual");constructor(t){this.value=t}}class A{static CardRequest=new A("card_request");static CashDeposit=new A("cash_deposit");static OutgoingSpei=new A("outgoing_spei");constructor(t){this.value=t}}class x{static Cash=new x("cash");static Internal=new x("internal");static Spei=new x("spei");constructor(t){this.value=t}}class I{static Credit=new I("credit");static Debit=new I("debit");constructor(t){this.value=t}}class k{static Pdf=new k("pdf");static Xml=new k("xml");static Json=new k("json");constructor(t){this.value=t}}class T{static Sandbox=new T("sandbox");static Stage=new T("stage");static Api=new T("api");constructor(t){this.value=t}}class U{static Cable=new U("cable");static CreditCard=new U("credit_card");static Electricity=new U("electricity");static Gas=new U("gas");static Internet=new U("internet");static LandlineTelephone=new U("landline_telephone");static MobileTelephonePostpaid=new U("mobile_telephone_postpaid");static MobileTelephonePrepaid=new U("mobile_telephone_prepaid");static SateliteTelevision=new U("satelite_television");static Water=new U("water");constructor(t){this.value=t}}class C{static General=new C("general");static Home=new C("home");static Vehicle=new C("vehicle");static Travel=new C("travel");static Clothing=new C("clothing");static Other=new C("other");static Medical=new C("medical");static Accident=new C("accident");static Education=new C("education");constructor(t){this.value=t}}class S{static NotSet=new S("not_set");static Terminal=new S("terminal");static Manual=new S("manual");static Unknown=new S("unknown");static Contactless=new S("contactless");static FallBack=new S("fall_back");static MagneticStripe=new S("magnetic_stripe");static RecurringCharge=new S("recurring_charge");constructor(t){this.value=t}}class N{static Created=new N("created");static Failed=new N("failed");static InReview=new N("in_review");static Submitted=new N("submitted");static Succeeded=new N("succeeded");constructor(t){this.value=t}}class ${static Internal=new $("internal");static Spei=new $("spei");constructor(t){this.value=t}}class K{static Active=new K("active");static Deactivated=new K("deactivated");static fraud=new K("fraud");static pld_blocked=new K("pld_blocked");constructor(t){this.value=t}}class q{static Deposit=new q("deposit");static Withdrawal=new q("withdrawal");constructor(t){this.value=t}}const E=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},P=(t,e)=>Object.values(t).find((t=>t.value===e));class D{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:i,relatedTransaction:r,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=r,this.userId=a,this.count=n,this.pageSize=i}get limit(){return this._limit}set _lmt(t){let e=null;t&&t>=0&&(e=t),this._limit=e}toObject(){return{created_after:this.createdAfter,created_before:this.createdBefore,limit:this.limit,related_transaction:this.relatedTransaction,user_id:this.userId,page_size:this.pageSize&&this.pageSize.size}}toParams(){const t={...this.toObject()};return this.count&&(t.count=1),Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}toQueryString(){return new URLSearchParams(this.toParams()).toString()}}class M extends D{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class B extends D{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class V extends D{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class R extends V{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class Y extends V{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:i,...r}){super(r),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=i}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class H extends D{constructor({fundingInstrumentUri:t,count:e=!1,walletId:s="default",...i}){super(i),this.fundingInstrumentUri=t,this.count=e,this.walletId=s}toObject(){return Object.assign(super.toObject(),{wallet_id:this.walletId,funding_instrument_uri:this.fundingInstrumentUri,count:this.count})}}class L extends D{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class F extends D{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class X extends D{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class z extends D{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class Q extends D{constructor({emailAddress:t,phoneNumber:e,status:s,...i}){super(i),this.emailAddress=t,this.phoneNumber=e,this.status=s}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,phone_number:this.phoneNumber,status:this.status})}}class J extends D{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class W extends D{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=E(Date.now());s.setUTCDate(1);if(E(`${e}-${t}-01`).getTime()>=s.getTime())throw new p(`${e}-${t} is not a valid year-month pair`);this._date={month:t,year:e}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class G{constructor({ip:t,location:e,version:s}){this.ip=t,this.location=e,this.version=s}static fromObject=({ip:t,location:e,version:s})=>new G({ip:t,location:e,version:s})}var Z="0.0.1-dev.31";class tt{constructor({apiKey:t,apiSecret:e,phase:s=T.Sandbox}={}){this.phase=s,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=r.default.create()}get session(){return this._session}get origin(){return`https://${this.phase.value}.cuenca.com`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${a.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return Object.keys(t).forEach((e=>i[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}deleteRequestHeader(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return delete i[t],s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}addConfigToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e;return Object.keys(t).forEach((e=>s[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}async configure({apiKey:t,apiSecret:e,loginToken:s,phase:i,sessionId:r,useJwt:a=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},i&&(this.phase=i),a&&(this.jwtToken=await v.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),r&&this.addHeadersToRequest({"X-Cuenca-SessionId":r})}async get({endpoint:t,format:e,params:s}){return this.request({endpoint:t,format:e,params:s})}async post({endpoint:t,data:e}){return this.request({method:"POST",endpoint:t,data:e})}async patch({endpoint:t,data:e}){return this.request({method:"PATCH",endpoint:t,data:e})}async delete({endpoint:t,data:e}){return this.request({method:"DELETE",endpoint:t,data:e})}async request({endpoint:t,data:e=null,format:s=k.Json,method:i="GET",params:r=null}){const a={Authorization:this.authHeader,"Content-Type":"application/json",Accept:`application/${s.value}`};_?a["User-Agent"]=`cuenca-js/${Z}`:w&&(a["X-User-Agent"]=`cuenca-js/${Z}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await v.create(this)),a["X-Cuenca-Token"]=this.jwtToken.token);const o=this.addHeadersToRequest(a),d=e;d&&Object.keys(d).forEach((t=>{d[t]instanceof Date&&(d[t]=d[t].toISOString())}));const u=this.addConfigToRequest({method:i,params:r,data:d,url:t});let h;try{h=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new c(t.response.data,t.response.status):t.request?new n(`No response received: ${t.errno}: ${t.code}`):new n(t.message)}finally{o.eject(),u.eject()}return h.data}}class et{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=E(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new et({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class st{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=E(t),this.deactivatedAt=E(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=E(a)}static fromObject=({id:t,secret:e,...s})=>new st({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=E(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class it{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=E(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new it({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class rt{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=E(e),this.descriptor=s,this.entryType=P(I,i),this.fundingInstrumentUri=r,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:i,type:r,...a})=>new rt({amount:t,descriptor:e,name:i,id:s,createdAt:a.created_at,entryType:r,fundingInstrumentUri:a.funding_instrument_uri,relatedTransactionUri:a.related_transaction_uri,rollingBalance:a.rolling_balance})}class at{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=E(e),this.descriptor=s,this.status=P(N,i),this.userId=r}}class nt extends at{constructor({amount:t,accountNumber:e,createdAt:s,descriptor:i,id:r,providerUri:a,status:n,userId:c}){super({amount:t,createdAt:s,descriptor:i,status:n,userId:c}),this.accountNumber=e,this.id=r,this.providerUri=a}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new nt({amount:t,descriptor:e,id:s,status:i,accountNumber:r.account_number,createdAt:r.created_at,providerUri:r.provider_uri,userId:r.user_id})}class ct{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:i,fundingType:r,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:p}){this.createdAt=E(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=P(y,r),this.id=a,this.issuer=P(f,n),this.number=c,this.pin=o,this.status=P(g,d),this.type=P(j,u),this.updatedAt=E(h),this.userId=p}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new ct({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,createdAt:c.created_at,expMonth:c.exp_month,expYear:c.exp_year,fundingType:c.funding_type,updatedAt:c.updated_at,userId:c.user_id})}class ot{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=E(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new ot({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class dt extends at{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:i,cardUri:r,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:p}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:p}),this.cardErrorType=P(b,e),this.cardLastFour=s,this.cardType=P(j,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=P(O,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new dt({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,cardErrorType:n.error_type,cardLastFour:n.card_last4,cardType:n.card_type,cardUri:n.card_uri,createdAt:n.created_at,relatedCardTransactionsUris:n.related_card_transaction,userId:n.user_id})}class ut{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:i,isExpired:r,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=P(g,t),this.cardType=P(j,e),this.cardUri=s,this.createdAt=E(i),this.isExpired=r,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new ut({cardStatus:t.card_status,cardType:t.card_type,cardUri:t.card_uri,createdAt:t.created_at,isExpired:t.is_expired,isPinAttemptsExceeded:t.is_pin_attempts_exceeded,isValidCvv:t.is_valid_cvv,isValidCvv2:t.is_valid_cvv2,isValidExpDate:t.is_valid_exp_date,isValidIcvv:t.is_valid_icvv,isValidPinBlock:t.is_valid_pin_block,userId:t.user_id});get isActive(){return this.cardStatus===g.Active}}class ht extends at{constructor({amount:t,createdAt:e,descriptor:s,relatedTransactionUri:i,status:r,type:a,userId:n}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.relatedTransactionUri=i,this.type=P(A,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new ht({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class pt extends at{constructor({amount:t,createdAt:e,descriptor:s,id:i,network:r,status:a,sourceUri:n,trackingKey:c,userId:o}){super({amount:t,createdAt:e,descriptor:s,status:a,userId:o}),this.id=i,this.network=P(x,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new pt({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class lt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new lt({id:t})}class mt extends class{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=E(e),this.deactivatedAt=E(s),this.id=i,this.userId=r,this.updatedAt=E(a)}}{constructor({balance:t,category:e,createdAt:s,deactivatedAt:i,goalAmount:r,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:i,id:n,userId:o,updatedAt:d}),this.category=P(C,e),this.goalAmount=r,this.goalDate=E(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new mt({balance:t,category:e,id:s,name:i,createdAt:r.created_at,deactivatedAt:r.deactivated_at,goalAmount:r.goal_amount,goalDate:r.goal_date,userId:r.user_id,updatedAt:r.updated_at})}class wt{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>P(U,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new wt({categories:t,id:e,name:s,providerKey:i.provider_key})}class _t{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=E(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new _t({id:t,month:e,year:s,createdAt:i.created_at})}class vt extends at{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:i,destinationUri:r,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:p}){super({amount:e,createdAt:s,descriptor:i,status:d,userId:p}),this.accountNumber=t,this.destinationUri=r,this.id=a,this.idempotencyKey=n,this.network=P($,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=E(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new vt({amount:t,descriptor:e,id:s,network:i,status:r,accountNumber:a.account_number,createdAt:a.created_at,destinationUri:a.destination_uri,idempotencyKey:a.idempotency_key,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class bt{constructor({emailAddress:t,level:e,phoneNumber:s,status:i,termsOfService:r,verificationId:a}){this.emailAddress=t,this.level=e,this.phoneNumber=s,this.status=P(K,i),this.terms=r,this.verificationId=a}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=G.fromObject(t))}static fromObject=({level:t,status:e,...s})=>new bt({level:t,status:e,emailAddress:s.email_address,phoneNumber:s.phone_number,termsOfService:s.terms_of_service,verificationId:s.verification_id})}class yt{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=E(t),this.id=e,this.isActive=s,this.updatedAt=E(i)}static fromObject=({id:t,...e})=>new yt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class ft{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=E(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new ft({id:t,success:e,lastLoginAt:s.last_login_at})}class gt extends at{constructor({amount:t,createdAt:e,descriptor:s,id:i,status:r,transactionType:a,userId:n,walletUri:c}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.id=i,this.transactionType=P(q,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new gt({amount:t,descriptor:e,id:s,status:i,createdAt:r.created_at,transactionType:r.transaction_type,userId:r.user_id,walletUri:r.wallet_uri})}class Ot extends at{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:i,destinationUri:r,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:p,userId:l}){super({amount:t,createdAt:s,descriptor:i,status:u,userId:l}),this.claimUrl=e,this.destinationUri=r,this.id=n,this.expiresAt=E(a),this.network=P($,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=E(p)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Ot({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,claimUrl:a.claim_url,destinationUri:a.destination_uri,expiresAt:a.expires_at,phoneNumber:a.phone_number,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class jt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const At=t=>new jt(t),xt=(t,e)=>({accounts:()=>et.fromObject(e),api_keys:()=>st.fromObject(e),arpc:()=>it.fromObject(e),balance_entries:()=>rt.fromObject(e),bill_payments:()=>nt.fromObject(e),cards:()=>ct.fromObject(e),card_activations:()=>ot.fromObject(e),card_transactions:()=>dt.fromObject(e),card_validations:()=>ut.fromObject(e),commissions:()=>ht.fromObject(e),deposits:()=>pt.fromObject(e),login_tokens:()=>lt.fromObject(e),savings:()=>mt.fromObject(e),service_providers:()=>wt.fromObject(e),statements:()=>_t.fromObject(e),transfers:()=>vt.fromObject(e),users:()=>bt.fromObject(e),user_credentials:()=>yt.fromObject(e),user_logins:()=>ft.fromObject(e),wallet_transactions:()=>gt.fromObject(e),whatsapp_transfers:()=>Ot.fromObject(e)}[t]()),It=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class kt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Tt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return xt(this.path,e)}},Ut=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return xt(this.path,e)}},Ct=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return xt(this.path,s)}},St=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return xt(this.path,s)}},Nt=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},$t=t=>class extends t{async one(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e.length)throw new o;if(e.length>1)throw new d;const[s]=e;return xt(this.path,s)}async first(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e[0])return null;const[s]=e;return xt(this.path,s)}async count(t=new this.QueryParams({})){t.count=!0;const{count:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});return e||0}async*all(t=new this.QueryParams({})){let e=`/${this.path}?${t.toQueryString()}`;for(;e;){const t=await this.client.get({endpoint:e});if(t.items)for(const e of t.items){const t=xt(this.path,e);yield t}e=t.next_page_uri}}};class Kt extends(At(kt).with($t,Tt)){constructor(t){super("accounts",M,t)}}class qt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Et extends qt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Pt extends qt{constructor(t,e,s){super(),this.userId=t,this.issuer=e,this.fundingType=s}toObject(){return{user_id:this.userId,issuer:this.issuer,funding_type:this.fundingType}}}class Dt extends qt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Mt extends qt{constructor(t,e,s,i){super(),this.n=t,this.eM=e,this.eY=s,this.c2=i}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new p("Invalid number");this._number=t.trim()}get expMonth(){return this._expMonth}set eM(t){if([!!t,t>=1,t<=12].some((t=>!t)))throw new p("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set eY(t){if([!!t,t>=18,t<=99].some((t=>!t)))throw new p("Invalid expiration year");this._expYear=t}get cvv2(){return this._cvv2}set c2(t){if([!!t,3===t.length,/^\d{3}/.test(t)].some((t=>!t)))throw new p("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class Bt extends qt{constructor({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){super(),this.c=t,this.c2=e,this.em=s,this.ey=i,this.ic=r,this.n=a,this.pinBloc=n,this.pinAttemptsExceeded=c}get cvv(){return this._cvv}set c(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid cvv");this._cvv=t}get cvv2(){return this._cvv2}set c2(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid cvv2");this._cvv2=t}get expMonth(){return this._expMonth}set em(t){if(!t)return;if([t>=1,t<=12].some((t=>!t)))throw new p("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set ey(t){if(!t)return;if([t>=18,t<=99].some((t=>!t)))throw new p("Invalid expiration year");this._expYear=t}get icvv(){return this._icvv}set ic(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid icvv");this._icvv=t}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new p("Invalid number");this._number=t}toObject(){return{cvv:this.cvv,cvv2:this.cvv2,exp_month:this.expMonth,exp_year:this.expYear,icvv:this.icvv,number:this.number,pin_block:this.pinBloc,pin_attempts_exceeded:this.pinAttemptsExceeded}}}class Vt extends qt{constructor(t,e,s,i){super(),this.category=t,this.name=i,this.goalAmount=e,this.validDate=s}get goalDate(){return this._goalDate}set validDate(t){if(t){if(E(t).getTime()<=E(Date.now()).getTime())throw new p("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}class Rt extends qt{constructor(t,e,s,i,r){super(),this.accountNumber=t,this.amount=e,this.descriptor=s,this.idempotencyKey=i,this.recipientName=r}toObject(){return{account_number:this.accountNumber,amount:this.amount,descriptor:this.descriptor,idempotency_key:this.idempotencyKey,recipient_name:this.recipientName}}}class Yt extends qt{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password}}}class Ht extends qt{constructor(t,e){super(),this.pwd=t,this.isActive=e,this.req={password:this.password,isActive:this.isActive}}get password(){return this._password}get request(){return this._request}set pwd(t){if(!t)return void(this._password=t);if([6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new p("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new p("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class Lt extends qt{constructor(t,e="me"){super(),this.pwd=t,this.userId=e}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class Ft extends qt{constructor({ip:t,location:e,type:s,version:i}){super(),this.ipAddress=t,this.location=e,this.type=s,this.version=i}get ip(){return this._ip}set ipAddress(t){if(!t)throw new p("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new p("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class Xt extends qt{constructor({termsOfService:t,verificationId:e}){super(),this.terms=t,this.verificationId=e}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new Ft(t).toObject())}toObject(){return{terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class zt extends qt{constructor(t,e,s){super(),this.amount=t,this.transactionType=e,this.walletUri=s}toObject(){return{amount:this.amount,transaction_type:this.transactionType,wallet_uri:this.walletUri}}}class Qt extends(At(kt).with(Ut,St,$t,Tt,Ct)){constructor(t){super("api_keys",B,t)}async create(){return await this._create()}async deactivate(t,e=0){return await this._deactivate(t,{minutes:e})}async update(t,e,s){const i=new Et(s,e);return await this._update(t,i.toCleanObject())}}At(kt).with(Ut);class Jt extends(At(kt).with($t,Tt)){constructor(t){super("balance_entries",H,t)}async relatedTransaction(t){const e=It(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return xt(`${e}`,s)}async fundingInstrument(t){const e=It(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return xt(`${e}`,s)}}class Wt extends(At(kt).with($t,Tt)){constructor(t){super("bill_payments",L,t)}async serviceProvider(t){const e=It(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return xt(`${e}`,s)}}class Gt extends(At(kt).with(Ut)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new Mt(t,e,s,i);return await this._create(r.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return ct.fromObject(e)}}class Zt extends(At(kt).with(Ut,St,$t,Tt,Ct)){constructor(t){super("cards",X,t)}async create(t,e,s){const i=new Pt(t,e,s);return await this._create(i.toCleanObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s){const i=new Dt(e,s);return await this._update(t,i.toCleanObject())}}class te extends(At(kt).with($t,Tt)){constructor(t){super("card_transactions",F,t)}async relatedCard(t){const e=It(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return xt(`${e}`,s)}}class ee extends(At(kt).with(Ut)){constructor(t){super("card_validations",Object,t)}async create({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){const o=new Bt({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c});return await this._create(o.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return ct.fromObject(e)}}class se extends(At(kt).with($t,Tt)){constructor(t){super("commissions",D,t)}async relatedTransaction(t){const e=It(t);if(null==e)return null;const s=await this.client.get(t);return xt(`${e}`,s)}}class ie extends(At(kt).with($t,Tt)){constructor(t){super("deposits",R,t)}async source(t){const e=await this.client.get({endpoint:t});return et.fromObject(e)}}class re extends(At(kt).with(Ut)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class ae extends(At(kt).with(Ut,St,$t,Tt,Ct)){constructor(t){super("savings",J,t)}async create(t,e,s,i){const r=new Vt(t,e,s,i);return await this._create(r.toObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s,i,r){const a=new Vt(e,s,i,r);return await this._update(t,a.toObject())}}class ne extends(At(kt).with($t,Tt)){constructor(t){super("service_providers",D,t)}}class ce extends(At(kt).with(Nt,$t)){constructor(t){super("statements",W,t)}async pdf(t){return await this._download(t,k.Pdf)}async xml(t){return await this._download(t,k.Xml)}}class oe extends(At(kt).with(Ut,$t,Tt)){constructor(t){super("transfers",Y,t)}async destination(t){const e=await this.client.get({endpoint:t});return et.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new Rt(t,e,s,a,i);return await this._create(n.toCleanObject())}async createMany(t){if(!t||!Array.isArray(t)||!t.length)return{};const e={submitted:[],errors:[]};return await Promise.all(t.map((async({accountNumber:t,amount:s,descriptor:i,idempotencyKey:r,recipientName:a})=>{const n=new Rt(t,s,i,r||this.constructor._genIdempotencyKey(t,s),a);let c;try{c=await this._create(n.toCleanObject())}catch(t){return void e.errors.push({actualRequest:n,error:t})}e.submitted.push(c)}))),e}static _genIdempotencyKey(t,e){const[s]=E(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class de extends(At(kt).with(Ut,Ct)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new Yt(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new Ht(e,t);return await this._update(s,i.toCleanObject())}}class ue extends(At(kt).with(Ut,St)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new Lt(t,e),i=await this._create(s.toObject());if(!i.success)throw new h;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":i.id}),i}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class he extends(At(kt).with($t,Ct)){constructor(t){super("users",Q,t)}async update({termsOfService:t,verificationId:e,userId:s="me"}){const i=new Xt({termsOfService:t,verificationId:e});return await this._update(s,i.toCleanObject())}}class pe extends(At(kt).with(Ut,$t,Tt)){constructor(t){super("wallet_transactions",z,t)}async create(t,e,s){const i=new zt(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=It(t);if(null==e)return null;const s=await this.client.get(t);return xt(`${e}`,s)}}class le extends(At(kt).with($t,Tt)){constructor(t){super("whatsapp_transfers",D,t)}async accountDestination(t){const e=It(t);if(null==e)return null;const s=await this.client.get(t);return xt(`${e}`,s)}}t.Cuenca=class{constructor(t,e,s=T.Sandbox){this.client=new tt({apiKey:t,apiSecret:e,phase:s}),this.withClient(this.client)}withClient(t){this.accounts=new Kt(t),this.apiKeys=new Qt(t),this.balanceEntries=new Jt(t),this.billPayments=new Wt(t),this.cardActivations=new Gt(t),this.cards=new Zt(t),this.cardTransactions=new te(t),this.cardValidations=new ee(t),this.commissions=new se(t),this.deposits=new ie(t),this.loginTokens=new re(t),this.savings=new ae(t),this.serviceProviders=new ne(t),this.statements=new ce(t),this.transfers=new oe(t),this.userCredentials=new de(t),this.userLogins=new ue(t),this.users=new he(t),this.walletTransactions=new pe(t),this.whatsAppTransfers=new le(t)}}}));
|
package/build/{walletTransactionRequest-8b125547.mjs → walletTransactionRequest-4e6b348f.mjs}
RENAMED
|
@@ -1,5 +1,19 @@
|
|
|
1
|
-
import { B as BaseRequest, d as dateToUTC } from './base-c1f04b51.mjs';
|
|
2
1
|
import { ValidationError } from './errors/index.mjs';
|
|
2
|
+
import { d as dateToUTC } from './data-d5bcb7c8.mjs';
|
|
3
|
+
|
|
4
|
+
class BaseRequest {
|
|
5
|
+
toObject() {
|
|
6
|
+
return {};
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
toCleanObject() {
|
|
10
|
+
const obj = this.toObject();
|
|
11
|
+
Object.keys(obj).forEach((k) => {
|
|
12
|
+
if (obj[k] == null) delete obj[k];
|
|
13
|
+
});
|
|
14
|
+
return obj;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
3
17
|
|
|
4
18
|
class ApiKeyUpdateRequest extends BaseRequest {
|
|
5
19
|
constructor(userId, metadata) {
|
|
@@ -326,43 +340,6 @@ class SavingRequest extends BaseRequest {
|
|
|
326
340
|
}
|
|
327
341
|
}
|
|
328
342
|
|
|
329
|
-
class TosUpdateRequest extends BaseRequest {
|
|
330
|
-
constructor({ ip, location, type, version }) {
|
|
331
|
-
super();
|
|
332
|
-
this.ipAddress = ip;
|
|
333
|
-
this.location = location;
|
|
334
|
-
this.type = type;
|
|
335
|
-
this.version = version;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
get ip() {
|
|
339
|
-
return this._ip;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
set ipAddress(value) {
|
|
343
|
-
if (!value) throw new ValidationError('missing ip address');
|
|
344
|
-
const ipBlocks = value.split('.');
|
|
345
|
-
if (
|
|
346
|
-
ipBlocks.every((block) => {
|
|
347
|
-
return block >= 0 && block <= 255;
|
|
348
|
-
})
|
|
349
|
-
) {
|
|
350
|
-
this._ip = value;
|
|
351
|
-
} else {
|
|
352
|
-
throw new ValidationError('Invalid ip address');
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
toObject() {
|
|
357
|
-
return {
|
|
358
|
-
ip: this.ip,
|
|
359
|
-
location: this.location,
|
|
360
|
-
type: this.type,
|
|
361
|
-
version: this.version,
|
|
362
|
-
};
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
|
|
366
343
|
class TransferRequest extends BaseRequest {
|
|
367
344
|
constructor(
|
|
368
345
|
accountNumber,
|
|
@@ -488,6 +465,42 @@ class UserLoginRequest extends BaseRequest {
|
|
|
488
465
|
}
|
|
489
466
|
}
|
|
490
467
|
|
|
468
|
+
class TosUpdateRequest extends BaseRequest {
|
|
469
|
+
constructor({ ip, location, type, version }) {
|
|
470
|
+
super();
|
|
471
|
+
this.ipAddress = ip;
|
|
472
|
+
this.location = location;
|
|
473
|
+
this.type = type;
|
|
474
|
+
this.version = version;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
get ip() {
|
|
478
|
+
return this._ip;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
set ipAddress(value) {
|
|
482
|
+
if (!value) throw new ValidationError('missing ip address');
|
|
483
|
+
const ipBlocks = value.split('.');
|
|
484
|
+
const blocks = ipBlocks.every((block) => {
|
|
485
|
+
return block >= 0 && block <= 255;
|
|
486
|
+
});
|
|
487
|
+
if (blocks) {
|
|
488
|
+
this._ip = value;
|
|
489
|
+
} else {
|
|
490
|
+
throw new ValidationError('Invalid ip address');
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
toObject() {
|
|
495
|
+
return {
|
|
496
|
+
ip: this.ip,
|
|
497
|
+
location: this.location,
|
|
498
|
+
type: this.type,
|
|
499
|
+
version: this.version,
|
|
500
|
+
};
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
|
|
491
504
|
class UserUpdateRequest extends BaseRequest {
|
|
492
505
|
constructor({ termsOfService, verificationId }) {
|
|
493
506
|
super();
|
|
@@ -529,4 +542,4 @@ class WalletTransactionRequest extends BaseRequest {
|
|
|
529
542
|
}
|
|
530
543
|
}
|
|
531
544
|
|
|
532
|
-
export { ApiKeyUpdateRequest as A, CardActivationRequest as C, SavingRequest as S, TransferRequest as T, UserCredentialRequest as U, WalletTransactionRequest as W, ArpcRequest as a, CardRequest as b, CardUpdateRequest as c, CardValidationRequest as d, UserCredentialUpdateRequest as e, UserLoginRequest as f, UserUpdateRequest as g
|
|
545
|
+
export { ApiKeyUpdateRequest as A, CardActivationRequest as C, SavingRequest as S, TransferRequest as T, UserCredentialRequest as U, WalletTransactionRequest as W, ArpcRequest as a, CardRequest as b, CardUpdateRequest as c, CardValidationRequest as d, UserCredentialUpdateRequest as e, UserLoginRequest as f, UserUpdateRequest as g };
|
package/build/{walletTransactionRequest-bda66da3.cjs → walletTransactionRequest-572c455b.cjs}
RENAMED
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var base = require('./base-80b9a673.cjs');
|
|
4
3
|
var errors_index = require('./errors/index.cjs');
|
|
4
|
+
var data = require('./data-9edbb2a0.cjs');
|
|
5
5
|
|
|
6
|
-
class
|
|
6
|
+
class BaseRequest {
|
|
7
|
+
toObject() {
|
|
8
|
+
return {};
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
toCleanObject() {
|
|
12
|
+
const obj = this.toObject();
|
|
13
|
+
Object.keys(obj).forEach((k) => {
|
|
14
|
+
if (obj[k] == null) delete obj[k];
|
|
15
|
+
});
|
|
16
|
+
return obj;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
class ApiKeyUpdateRequest extends BaseRequest {
|
|
7
21
|
constructor(userId, metadata) {
|
|
8
22
|
super();
|
|
9
23
|
this.userId = userId;
|
|
@@ -18,7 +32,7 @@ class ApiKeyUpdateRequest extends base.BaseRequest {
|
|
|
18
32
|
}
|
|
19
33
|
}
|
|
20
34
|
|
|
21
|
-
class ArpcRequest extends
|
|
35
|
+
class ArpcRequest extends BaseRequest {
|
|
22
36
|
constructor({
|
|
23
37
|
arpcMethod,
|
|
24
38
|
arqc,
|
|
@@ -83,7 +97,7 @@ class ArpcRequest extends base.BaseRequest {
|
|
|
83
97
|
}
|
|
84
98
|
}
|
|
85
99
|
|
|
86
|
-
class CardRequest extends
|
|
100
|
+
class CardRequest extends BaseRequest {
|
|
87
101
|
constructor(userId, issuer, fundingType) {
|
|
88
102
|
super();
|
|
89
103
|
this.userId = userId;
|
|
@@ -100,7 +114,7 @@ class CardRequest extends base.BaseRequest {
|
|
|
100
114
|
}
|
|
101
115
|
}
|
|
102
116
|
|
|
103
|
-
class CardUpdateRequest extends
|
|
117
|
+
class CardUpdateRequest extends BaseRequest {
|
|
104
118
|
constructor(status, pinBlock) {
|
|
105
119
|
super();
|
|
106
120
|
this.status = status;
|
|
@@ -115,7 +129,7 @@ class CardUpdateRequest extends base.BaseRequest {
|
|
|
115
129
|
}
|
|
116
130
|
}
|
|
117
131
|
|
|
118
|
-
class CardActivationRequest extends
|
|
132
|
+
class CardActivationRequest extends BaseRequest {
|
|
119
133
|
constructor(number, expMonth, expYear, cvv2) {
|
|
120
134
|
super();
|
|
121
135
|
this.n = number;
|
|
@@ -182,7 +196,7 @@ class CardActivationRequest extends base.BaseRequest {
|
|
|
182
196
|
}
|
|
183
197
|
}
|
|
184
198
|
|
|
185
|
-
class CardValidationRequest extends
|
|
199
|
+
class CardValidationRequest extends BaseRequest {
|
|
186
200
|
constructor({
|
|
187
201
|
cvv,
|
|
188
202
|
cvv2,
|
|
@@ -295,7 +309,7 @@ class CardValidationRequest extends base.BaseRequest {
|
|
|
295
309
|
}
|
|
296
310
|
}
|
|
297
311
|
|
|
298
|
-
class SavingRequest extends
|
|
312
|
+
class SavingRequest extends BaseRequest {
|
|
299
313
|
constructor(category, goalAmount, goalDate, name) {
|
|
300
314
|
super();
|
|
301
315
|
this.category = category;
|
|
@@ -310,7 +324,7 @@ class SavingRequest extends base.BaseRequest {
|
|
|
310
324
|
|
|
311
325
|
set validDate(value) {
|
|
312
326
|
if (!value) return;
|
|
313
|
-
if (
|
|
327
|
+
if (data.dateToUTC(value).getTime() <= data.dateToUTC(Date.now()).getTime()) {
|
|
314
328
|
throw new errors_index.ValidationError(
|
|
315
329
|
'The goal_date always need to be higher than now',
|
|
316
330
|
);
|
|
@@ -328,44 +342,7 @@ class SavingRequest extends base.BaseRequest {
|
|
|
328
342
|
}
|
|
329
343
|
}
|
|
330
344
|
|
|
331
|
-
class
|
|
332
|
-
constructor({ ip, location, type, version }) {
|
|
333
|
-
super();
|
|
334
|
-
this.ipAddress = ip;
|
|
335
|
-
this.location = location;
|
|
336
|
-
this.type = type;
|
|
337
|
-
this.version = version;
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
get ip() {
|
|
341
|
-
return this._ip;
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
set ipAddress(value) {
|
|
345
|
-
if (!value) throw new errors_index.ValidationError('missing ip address');
|
|
346
|
-
const ipBlocks = value.split('.');
|
|
347
|
-
if (
|
|
348
|
-
ipBlocks.every((block) => {
|
|
349
|
-
return block >= 0 && block <= 255;
|
|
350
|
-
})
|
|
351
|
-
) {
|
|
352
|
-
this._ip = value;
|
|
353
|
-
} else {
|
|
354
|
-
throw new errors_index.ValidationError('Invalid ip address');
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
toObject() {
|
|
359
|
-
return {
|
|
360
|
-
ip: this.ip,
|
|
361
|
-
location: this.location,
|
|
362
|
-
type: this.type,
|
|
363
|
-
version: this.version,
|
|
364
|
-
};
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
class TransferRequest extends base.BaseRequest {
|
|
345
|
+
class TransferRequest extends BaseRequest {
|
|
369
346
|
constructor(
|
|
370
347
|
accountNumber,
|
|
371
348
|
amount,
|
|
@@ -392,7 +369,7 @@ class TransferRequest extends base.BaseRequest {
|
|
|
392
369
|
}
|
|
393
370
|
}
|
|
394
371
|
|
|
395
|
-
class UserCredentialRequest extends
|
|
372
|
+
class UserCredentialRequest extends BaseRequest {
|
|
396
373
|
constructor(password) {
|
|
397
374
|
super();
|
|
398
375
|
this.pwd = password;
|
|
@@ -417,7 +394,7 @@ class UserCredentialRequest extends base.BaseRequest {
|
|
|
417
394
|
}
|
|
418
395
|
}
|
|
419
396
|
|
|
420
|
-
class UserCredentialUpdateRequest extends
|
|
397
|
+
class UserCredentialUpdateRequest extends BaseRequest {
|
|
421
398
|
constructor(password, isActive) {
|
|
422
399
|
super();
|
|
423
400
|
this.pwd = password;
|
|
@@ -463,7 +440,7 @@ class UserCredentialUpdateRequest extends base.BaseRequest {
|
|
|
463
440
|
}
|
|
464
441
|
}
|
|
465
442
|
|
|
466
|
-
class UserLoginRequest extends
|
|
443
|
+
class UserLoginRequest extends BaseRequest {
|
|
467
444
|
constructor(password, userId = 'me') {
|
|
468
445
|
super();
|
|
469
446
|
this.pwd = password;
|
|
@@ -490,7 +467,43 @@ class UserLoginRequest extends base.BaseRequest {
|
|
|
490
467
|
}
|
|
491
468
|
}
|
|
492
469
|
|
|
493
|
-
class
|
|
470
|
+
class TosUpdateRequest extends BaseRequest {
|
|
471
|
+
constructor({ ip, location, type, version }) {
|
|
472
|
+
super();
|
|
473
|
+
this.ipAddress = ip;
|
|
474
|
+
this.location = location;
|
|
475
|
+
this.type = type;
|
|
476
|
+
this.version = version;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
get ip() {
|
|
480
|
+
return this._ip;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
set ipAddress(value) {
|
|
484
|
+
if (!value) throw new errors_index.ValidationError('missing ip address');
|
|
485
|
+
const ipBlocks = value.split('.');
|
|
486
|
+
const blocks = ipBlocks.every((block) => {
|
|
487
|
+
return block >= 0 && block <= 255;
|
|
488
|
+
});
|
|
489
|
+
if (blocks) {
|
|
490
|
+
this._ip = value;
|
|
491
|
+
} else {
|
|
492
|
+
throw new errors_index.ValidationError('Invalid ip address');
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
toObject() {
|
|
497
|
+
return {
|
|
498
|
+
ip: this.ip,
|
|
499
|
+
location: this.location,
|
|
500
|
+
type: this.type,
|
|
501
|
+
version: this.version,
|
|
502
|
+
};
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
class UserUpdateRequest extends BaseRequest {
|
|
494
507
|
constructor({ termsOfService, verificationId }) {
|
|
495
508
|
super();
|
|
496
509
|
this.terms = termsOfService;
|
|
@@ -514,7 +527,7 @@ class UserUpdateRequest extends base.BaseRequest {
|
|
|
514
527
|
}
|
|
515
528
|
}
|
|
516
529
|
|
|
517
|
-
class WalletTransactionRequest extends
|
|
530
|
+
class WalletTransactionRequest extends BaseRequest {
|
|
518
531
|
constructor(amount, transactionType, walletUri) {
|
|
519
532
|
super();
|
|
520
533
|
this.amount = amount;
|
|
@@ -538,7 +551,6 @@ exports.CardRequest = CardRequest;
|
|
|
538
551
|
exports.CardUpdateRequest = CardUpdateRequest;
|
|
539
552
|
exports.CardValidationRequest = CardValidationRequest;
|
|
540
553
|
exports.SavingRequest = SavingRequest;
|
|
541
|
-
exports.TosUpdateRequest = TosUpdateRequest;
|
|
542
554
|
exports.TransferRequest = TransferRequest;
|
|
543
555
|
exports.UserCredentialRequest = UserCredentialRequest;
|
|
544
556
|
exports.UserCredentialUpdateRequest = UserCredentialUpdateRequest;
|
package/package.json
CHANGED
package/build/base-c1f04b51.mjs
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const dateToUTC = (date) => {
|
|
2
|
-
if (!date) return null;
|
|
3
|
-
const dateObj = new Date(date);
|
|
4
|
-
return new Date(dateObj.getTime());
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
const enumValueFromString = (enumValue, value) =>
|
|
8
|
-
Object.values(enumValue).find((enumV) => enumV.value === value);
|
|
9
|
-
|
|
10
|
-
class BaseRequest {
|
|
11
|
-
toObject() {
|
|
12
|
-
return {};
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
toCleanObject() {
|
|
16
|
-
const obj = this.toObject();
|
|
17
|
-
Object.keys(obj).forEach((k) => {
|
|
18
|
-
if (obj[k] == null) delete obj[k];
|
|
19
|
-
});
|
|
20
|
-
return obj;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { BaseRequest as B, dateToUTC as d, enumValueFromString as e };
|