@cuenca-mx/cuenca-js 0.0.1-dev.24 → 0.0.1-dev.27
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/README.md +2 -0
- package/build/{data-9edbb2a0.cjs → base-80b9a673.cjs} +15 -0
- package/build/base-c1f04b51.mjs +24 -0
- package/build/{identities-5808ada9.mjs → identities-122c79fd.mjs} +6 -5
- package/build/{identities-89a79d34.cjs → identities-d9bd3846.cjs} +8 -7
- package/build/index.cjs +78 -49
- package/build/index.mjs +35 -6
- package/build/requests/index.cjs +2 -2
- 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-ede62457.mjs → walletTransactionRequest-8b125547.mjs} +11 -16
- package/build/{walletTransactionRequest-507c5996.cjs → walletTransactionRequest-bda66da3.cjs} +26 -31
- package/package.json +1 -1
- package/build/data-d5bcb7c8.mjs +0 -10
package/README.md
CHANGED
|
@@ -48,6 +48,7 @@ To start using the library, the client must be configured with your credentials.
|
|
|
48
48
|
apiKey: 'SOME_API_KEY',
|
|
49
49
|
apiSecret: 'SOME_API_SECRET',
|
|
50
50
|
loginToken: 'LOGIN_TOKEN',
|
|
51
|
+
sessionId: 'SESSION_ID',
|
|
51
52
|
phase: Phase.Api, // Production environment
|
|
52
53
|
useJwt: true,
|
|
53
54
|
});
|
|
@@ -61,6 +62,7 @@ To start using the library, the client must be configured with your credentials.
|
|
|
61
62
|
| apiSecret | Secret for the API Key | `undefined` |
|
|
62
63
|
| phase | Used to change the environment for the client (production, stage or sandbox) | `Phase.Sandbox` |
|
|
63
64
|
| loginToken | Login Token, sets `X-Cuenca-LoginToken` on each request | `undefined` |
|
|
65
|
+
| sessionId | Session Id, sets `X-Cuenca-SessionId` on each request | `undefined` |
|
|
64
66
|
| useJwt | If `true`, it will create a JWT for authentification | `false` |
|
|
65
67
|
|
|
66
68
|
### Login
|
|
@@ -9,5 +9,20 @@ 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;
|
|
12
27
|
exports.dateToUTC = dateToUTC;
|
|
13
28
|
exports.enumValueFromString = enumValueFromString;
|
|
@@ -0,0 +1,24 @@
|
|
|
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 };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ValidationError } from './errors/index.mjs';
|
|
2
|
-
import { d as dateToUTC } from './
|
|
2
|
+
import { d as dateToUTC, B as BaseRequest } from './base-c1f04b51.mjs';
|
|
3
3
|
|
|
4
4
|
class CardErrorType {
|
|
5
5
|
static Blocked = new CardErrorType('blocked');
|
|
@@ -511,17 +511,17 @@ class WalletTransactionQuery extends QueryParams {
|
|
|
511
511
|
}
|
|
512
512
|
|
|
513
513
|
class UserQuery extends QueryParams {
|
|
514
|
-
constructor({
|
|
514
|
+
constructor({ emailAddress, phoneNumber, status, ...args }) {
|
|
515
515
|
super(args);
|
|
516
|
-
this.phoneNumber = phoneNumber;
|
|
517
516
|
this.emailAddress = emailAddress;
|
|
517
|
+
this.phoneNumber = phoneNumber;
|
|
518
518
|
this.status = status;
|
|
519
519
|
}
|
|
520
520
|
|
|
521
521
|
toObject() {
|
|
522
522
|
return Object.assign(super.toObject(), {
|
|
523
|
-
phone_number: this.phoneNumber,
|
|
524
523
|
email_address: this.emailAddress,
|
|
524
|
+
phone_number: this.phoneNumber,
|
|
525
525
|
status: this.status,
|
|
526
526
|
});
|
|
527
527
|
}
|
|
@@ -574,8 +574,9 @@ class StatementQuery extends QueryParams {
|
|
|
574
574
|
}
|
|
575
575
|
}
|
|
576
576
|
|
|
577
|
-
class TOSAgreements {
|
|
577
|
+
class TOSAgreements extends BaseRequest {
|
|
578
578
|
constructor({ ip, location, version }) {
|
|
579
|
+
super();
|
|
579
580
|
this.ip = ip;
|
|
580
581
|
this.location = location;
|
|
581
582
|
this.version = version;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var errors_index = require('./errors/index.cjs');
|
|
4
|
-
var
|
|
4
|
+
var base = require('./base-80b9a673.cjs');
|
|
5
5
|
|
|
6
6
|
class CardErrorType {
|
|
7
7
|
static Blocked = new CardErrorType('blocked');
|
|
@@ -513,17 +513,17 @@ class WalletTransactionQuery extends QueryParams {
|
|
|
513
513
|
}
|
|
514
514
|
|
|
515
515
|
class UserQuery extends QueryParams {
|
|
516
|
-
constructor({
|
|
516
|
+
constructor({ emailAddress, phoneNumber, status, ...args }) {
|
|
517
517
|
super(args);
|
|
518
|
-
this.phoneNumber = phoneNumber;
|
|
519
518
|
this.emailAddress = emailAddress;
|
|
519
|
+
this.phoneNumber = phoneNumber;
|
|
520
520
|
this.status = status;
|
|
521
521
|
}
|
|
522
522
|
|
|
523
523
|
toObject() {
|
|
524
524
|
return Object.assign(super.toObject(), {
|
|
525
|
-
phone_number: this.phoneNumber,
|
|
526
525
|
email_address: this.emailAddress,
|
|
526
|
+
phone_number: this.phoneNumber,
|
|
527
527
|
status: this.status,
|
|
528
528
|
});
|
|
529
529
|
}
|
|
@@ -557,9 +557,9 @@ class StatementQuery extends QueryParams {
|
|
|
557
557
|
}
|
|
558
558
|
|
|
559
559
|
set d({ month, year }) {
|
|
560
|
-
const now =
|
|
560
|
+
const now = base.dateToUTC(Date.now());
|
|
561
561
|
now.setUTCDate(1);
|
|
562
|
-
const date =
|
|
562
|
+
const date = base.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,8 +576,9 @@ class StatementQuery extends QueryParams {
|
|
|
576
576
|
}
|
|
577
577
|
}
|
|
578
578
|
|
|
579
|
-
class TOSAgreements {
|
|
579
|
+
class TOSAgreements extends base.BaseRequest {
|
|
580
580
|
constructor({ ip, location, version }) {
|
|
581
|
+
super();
|
|
581
582
|
this.ip = ip;
|
|
582
583
|
this.location = location;
|
|
583
584
|
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-d9bd3846.cjs');
|
|
10
|
+
var base = require('./base-80b9a673.cjs');
|
|
11
|
+
var walletTransactionRequest = require('./walletTransactionRequest-bda66da3.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.27";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 } = {}) {
|
|
@@ -95,7 +95,14 @@ class Client {
|
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
async configure({
|
|
98
|
+
async configure({
|
|
99
|
+
apiKey,
|
|
100
|
+
apiSecret,
|
|
101
|
+
loginToken,
|
|
102
|
+
phase,
|
|
103
|
+
sessionId,
|
|
104
|
+
useJwt = false,
|
|
105
|
+
}) {
|
|
99
106
|
this.basicAuth = {
|
|
100
107
|
apiKey: apiKey || this.basicAuth.apiKey,
|
|
101
108
|
apiSecret: apiSecret || this.basicAuth.apiSecret,
|
|
@@ -108,6 +115,10 @@ class Client {
|
|
|
108
115
|
if (loginToken) {
|
|
109
116
|
this.addHeadersToRequest({ 'X-Cuenca-LoginToken': loginToken });
|
|
110
117
|
}
|
|
118
|
+
|
|
119
|
+
if (sessionId) {
|
|
120
|
+
this.addHeadersToRequest({ 'X-Cuenca-SessionId': sessionId });
|
|
121
|
+
}
|
|
111
122
|
}
|
|
112
123
|
|
|
113
124
|
async get({ endpoint, format, params }) {
|
|
@@ -119,6 +130,9 @@ class Client {
|
|
|
119
130
|
}
|
|
120
131
|
|
|
121
132
|
async patch({ endpoint, data }) {
|
|
133
|
+
console.log('este es el patch');
|
|
134
|
+
console.log(endpoint);
|
|
135
|
+
console.log(data);
|
|
122
136
|
return this.request({ method: 'PATCH', endpoint, data });
|
|
123
137
|
}
|
|
124
138
|
|
|
@@ -172,10 +186,16 @@ class Client {
|
|
|
172
186
|
url: endpoint,
|
|
173
187
|
});
|
|
174
188
|
|
|
189
|
+
console.log('esto es en el request ');
|
|
190
|
+
console.log({baseURL: this.origin});
|
|
175
191
|
let response;
|
|
176
192
|
try {
|
|
177
193
|
response = await this._session.request({ baseURL: this.origin });
|
|
194
|
+
console.log('esto esssss response');
|
|
195
|
+
console.log(response);
|
|
178
196
|
} catch (error) {
|
|
197
|
+
console.log('esto esssss el errorrrr');
|
|
198
|
+
console.log(error);
|
|
179
199
|
if (error.response) {
|
|
180
200
|
throw new errors_index.CuencaResponseException(
|
|
181
201
|
error.response.data,
|
|
@@ -200,7 +220,7 @@ class Client {
|
|
|
200
220
|
class Account {
|
|
201
221
|
constructor({ accountNumber, createdAt, id, institutionName, name, userId }) {
|
|
202
222
|
this.accountNumber = accountNumber;
|
|
203
|
-
this.createdAt =
|
|
223
|
+
this.createdAt = base.dateToUTC(createdAt);
|
|
204
224
|
this.id = id;
|
|
205
225
|
this.institutionName = institutionName;
|
|
206
226
|
this.name = name;
|
|
@@ -220,12 +240,12 @@ class Account {
|
|
|
220
240
|
|
|
221
241
|
class ApiKey {
|
|
222
242
|
constructor({ createdAt, deactivatedAt, id, secret, userId, updatedAt }) {
|
|
223
|
-
this.createdAt =
|
|
224
|
-
this.deactivatedAt =
|
|
243
|
+
this.createdAt = base.dateToUTC(createdAt);
|
|
244
|
+
this.deactivatedAt = base.dateToUTC(deactivatedAt);
|
|
225
245
|
this.id = id;
|
|
226
246
|
this.secret = secret;
|
|
227
247
|
this.userId = userId;
|
|
228
|
-
this.updatedAt =
|
|
248
|
+
this.updatedAt = base.dateToUTC(updatedAt);
|
|
229
249
|
}
|
|
230
250
|
|
|
231
251
|
static fromObject = ({ id, secret, ...obj }) =>
|
|
@@ -239,7 +259,7 @@ class ApiKey {
|
|
|
239
259
|
});
|
|
240
260
|
|
|
241
261
|
get isActive() {
|
|
242
|
-
const todayUTC =
|
|
262
|
+
const todayUTC = base.dateToUTC(Date.now());
|
|
243
263
|
return (
|
|
244
264
|
!this.deactivatedAt || this.deactivatedAt.getTime() > todayUTC.getTime()
|
|
245
265
|
);
|
|
@@ -249,7 +269,7 @@ class ApiKey {
|
|
|
249
269
|
class Arpc {
|
|
250
270
|
constructor({ arpc, createdAt, cardUri, isValidArqc }) {
|
|
251
271
|
this.arpc = arpc;
|
|
252
|
-
this.createdAt =
|
|
272
|
+
this.createdAt = base.dateToUTC(createdAt);
|
|
253
273
|
this.cardUri = cardUri;
|
|
254
274
|
this.isValidArqc = isValidArqc;
|
|
255
275
|
}
|
|
@@ -276,9 +296,9 @@ class BalanceEntry {
|
|
|
276
296
|
rollingBalance,
|
|
277
297
|
}) {
|
|
278
298
|
this.amount = amount;
|
|
279
|
-
this.createdAt =
|
|
299
|
+
this.createdAt = base.dateToUTC(createdAt);
|
|
280
300
|
this.descriptor = descriptor;
|
|
281
|
-
this.entryType =
|
|
301
|
+
this.entryType = base.enumValueFromString(identities.EntryType, entryType);
|
|
282
302
|
this.fundingInstrumentUri = fundingInstrumentUri;
|
|
283
303
|
this.id = id;
|
|
284
304
|
this.name = name;
|
|
@@ -303,9 +323,9 @@ class BalanceEntry {
|
|
|
303
323
|
class Transaction {
|
|
304
324
|
constructor({ amount, createdAt, descriptor, status, userId }) {
|
|
305
325
|
this.amount = amount;
|
|
306
|
-
this.createdAt =
|
|
326
|
+
this.createdAt = base.dateToUTC(createdAt);
|
|
307
327
|
this.descriptor = descriptor;
|
|
308
|
-
this.status =
|
|
328
|
+
this.status = base.enumValueFromString(identities.TransactionStatus, status);
|
|
309
329
|
this.userId = userId;
|
|
310
330
|
}
|
|
311
331
|
}
|
|
@@ -362,18 +382,18 @@ class Card {
|
|
|
362
382
|
updatedAt,
|
|
363
383
|
userId,
|
|
364
384
|
}) {
|
|
365
|
-
this.createdAt =
|
|
385
|
+
this.createdAt = base.dateToUTC(createdAt);
|
|
366
386
|
this.cvv2 = cvv2;
|
|
367
387
|
this.expMonth = expMonth;
|
|
368
388
|
this.expYear = expYear;
|
|
369
|
-
this.fundingType =
|
|
389
|
+
this.fundingType = base.enumValueFromString(identities.CardFundingType, fundingType);
|
|
370
390
|
this.id = id;
|
|
371
|
-
this.issuer =
|
|
391
|
+
this.issuer = base.enumValueFromString(identities.CardIssuer, issuer);
|
|
372
392
|
this.number = number;
|
|
373
393
|
this.pin = pin;
|
|
374
|
-
this.status =
|
|
375
|
-
this.type =
|
|
376
|
-
this.updatedAt =
|
|
394
|
+
this.status = base.enumValueFromString(identities.CardStatus, status);
|
|
395
|
+
this.type = base.enumValueFromString(identities.CardType, type);
|
|
396
|
+
this.updatedAt = base.dateToUTC(updatedAt);
|
|
377
397
|
this.userId = userId;
|
|
378
398
|
}
|
|
379
399
|
|
|
@@ -407,7 +427,7 @@ class Card {
|
|
|
407
427
|
class CardActivation {
|
|
408
428
|
constructor({ cardUri, createdAt, id, ipAddress, success, userId }) {
|
|
409
429
|
this.cardUri = cardUri;
|
|
410
|
-
this.createdAt =
|
|
430
|
+
this.createdAt = base.dateToUTC(createdAt);
|
|
411
431
|
this.id = id;
|
|
412
432
|
this.ipAddress = ipAddress;
|
|
413
433
|
this.success = success;
|
|
@@ -448,14 +468,14 @@ class CardTransaction extends Transaction {
|
|
|
448
468
|
status,
|
|
449
469
|
userId,
|
|
450
470
|
});
|
|
451
|
-
this.cardErrorType =
|
|
471
|
+
this.cardErrorType = base.enumValueFromString(identities.CardErrorType, cardErrorType);
|
|
452
472
|
this.cardLastFour = cardLastFour;
|
|
453
|
-
this.cardType =
|
|
473
|
+
this.cardType = base.enumValueFromString(identities.CardType, cardType);
|
|
454
474
|
this.cardUri = cardUri;
|
|
455
475
|
this.metadata = metadata;
|
|
456
476
|
this.network = network;
|
|
457
477
|
this.relatedCardTransactionsUris = relatedCardTransactionsUris;
|
|
458
|
-
this.type =
|
|
478
|
+
this.type = base.enumValueFromString(identities.CardTransactionType, type);
|
|
459
479
|
}
|
|
460
480
|
|
|
461
481
|
static fromObject = ({
|
|
@@ -499,10 +519,10 @@ class CardValidation {
|
|
|
499
519
|
isValidPinBlock,
|
|
500
520
|
userId,
|
|
501
521
|
}) {
|
|
502
|
-
this.cardStatus =
|
|
503
|
-
this.cardType =
|
|
522
|
+
this.cardStatus = base.enumValueFromString(identities.CardStatus, cardStatus);
|
|
523
|
+
this.cardType = base.enumValueFromString(identities.CardType, cardType);
|
|
504
524
|
this.cardUri = cardUri;
|
|
505
|
-
this.createdAt =
|
|
525
|
+
this.createdAt = base.dateToUTC(createdAt);
|
|
506
526
|
this.isExpired = isExpired;
|
|
507
527
|
this.isPinAttemptsExceeded = isPinAttemptsExceeded;
|
|
508
528
|
this.isValidCvv = isValidCvv;
|
|
@@ -552,7 +572,7 @@ class Commission extends Transaction {
|
|
|
552
572
|
userId,
|
|
553
573
|
});
|
|
554
574
|
this.relatedTransactionUri = relatedTransactionUri;
|
|
555
|
-
this.type =
|
|
575
|
+
this.type = base.enumValueFromString(identities.CommissionType, type);
|
|
556
576
|
}
|
|
557
577
|
|
|
558
578
|
static fromObject = ({ amount, descriptor, status, type, ...obj }) =>
|
|
@@ -587,7 +607,7 @@ class Deposit extends Transaction {
|
|
|
587
607
|
userId,
|
|
588
608
|
});
|
|
589
609
|
this.id = id;
|
|
590
|
-
this.network =
|
|
610
|
+
this.network = base.enumValueFromString(identities.DepositNetwork, network);
|
|
591
611
|
this.sourceUri = sourceUri;
|
|
592
612
|
this.trackingKey = trackingKey;
|
|
593
613
|
}
|
|
@@ -617,11 +637,11 @@ class LoginToken {
|
|
|
617
637
|
class Wallet {
|
|
618
638
|
constructor({ balance, createdAt, deactivatedAt, id, userId, updatedAt }) {
|
|
619
639
|
this.balance = balance;
|
|
620
|
-
this.createdAt =
|
|
621
|
-
this.deactivatedAt =
|
|
640
|
+
this.createdAt = base.dateToUTC(createdAt);
|
|
641
|
+
this.deactivatedAt = base.dateToUTC(deactivatedAt);
|
|
622
642
|
this.id = id;
|
|
623
643
|
this.userId = userId;
|
|
624
|
-
this.updatedAt =
|
|
644
|
+
this.updatedAt = base.dateToUTC(updatedAt);
|
|
625
645
|
}
|
|
626
646
|
}
|
|
627
647
|
|
|
@@ -646,9 +666,9 @@ class Saving extends Wallet {
|
|
|
646
666
|
userId,
|
|
647
667
|
updatedAt,
|
|
648
668
|
});
|
|
649
|
-
this.category =
|
|
669
|
+
this.category = base.enumValueFromString(identities.SavingCategory, category);
|
|
650
670
|
this.goalAmount = goalAmount;
|
|
651
|
-
this.goalDate =
|
|
671
|
+
this.goalDate = base.dateToUTC(goalDate);
|
|
652
672
|
this.name = name;
|
|
653
673
|
}
|
|
654
674
|
|
|
@@ -670,7 +690,7 @@ class Saving extends Wallet {
|
|
|
670
690
|
const categoriesFromString = (categoriesList) => {
|
|
671
691
|
if (categoriesList == null) return [];
|
|
672
692
|
return categoriesList.map((category) =>
|
|
673
|
-
|
|
693
|
+
base.enumValueFromString(identities.ServiceProviderCategory, category),
|
|
674
694
|
);
|
|
675
695
|
};
|
|
676
696
|
|
|
@@ -693,7 +713,7 @@ class ServiceProvider {
|
|
|
693
713
|
|
|
694
714
|
class Statement {
|
|
695
715
|
constructor({ createdAt, id, month, year }) {
|
|
696
|
-
this.createdAt =
|
|
716
|
+
this.createdAt = base.dateToUTC(createdAt);
|
|
697
717
|
this.id = id;
|
|
698
718
|
this.month = month;
|
|
699
719
|
this.year = year;
|
|
@@ -735,10 +755,10 @@ class Transfer extends Transaction {
|
|
|
735
755
|
this.destinationUri = destinationUri;
|
|
736
756
|
this.id = id;
|
|
737
757
|
this.idempotencyKey = idempotencyKey;
|
|
738
|
-
this.network =
|
|
758
|
+
this.network = base.enumValueFromString(identities.TransferNetwork, network);
|
|
739
759
|
this.recipientName = recipientName;
|
|
740
760
|
this.trackingKey = trackingKey;
|
|
741
|
-
this.updatedAt =
|
|
761
|
+
this.updatedAt = base.dateToUTC(updatedAt);
|
|
742
762
|
}
|
|
743
763
|
|
|
744
764
|
static fromObject = ({ amount, descriptor, id, network, status, ...obj }) =>
|
|
@@ -769,11 +789,20 @@ class User {
|
|
|
769
789
|
}) {
|
|
770
790
|
this.emailAddress = emailAddress;
|
|
771
791
|
this.phoneNumber = phoneNumber;
|
|
772
|
-
this.status =
|
|
773
|
-
this.
|
|
792
|
+
this.status = base.enumValueFromString(identities.UserStatus, status);
|
|
793
|
+
this.terms = termsOfService;
|
|
774
794
|
this.verificationId = verificationId;
|
|
775
795
|
}
|
|
776
796
|
|
|
797
|
+
get termsOfService() {
|
|
798
|
+
return this._termsOfService;
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
set terms(value) {
|
|
802
|
+
if (!value) return;
|
|
803
|
+
this._termsOfService = identities.TOSAgreements.fromObject(value);
|
|
804
|
+
}
|
|
805
|
+
|
|
777
806
|
static fromObject = ({ ...obj }) =>
|
|
778
807
|
new User({
|
|
779
808
|
emailAddress: obj.email_address,
|
|
@@ -786,10 +815,10 @@ class User {
|
|
|
786
815
|
|
|
787
816
|
class UserCredential {
|
|
788
817
|
constructor({ createdAt, id, isActive, updatedAt }) {
|
|
789
|
-
this.createdAt =
|
|
818
|
+
this.createdAt = base.dateToUTC(createdAt);
|
|
790
819
|
this.id = id;
|
|
791
820
|
this.isActive = isActive;
|
|
792
|
-
this.updatedAt =
|
|
821
|
+
this.updatedAt = base.dateToUTC(updatedAt);
|
|
793
822
|
}
|
|
794
823
|
|
|
795
824
|
static fromObject = ({ id, ...obj }) =>
|
|
@@ -804,7 +833,7 @@ class UserCredential {
|
|
|
804
833
|
class UserLogin {
|
|
805
834
|
constructor({ id, lastLoginAt, success }) {
|
|
806
835
|
this.id = id;
|
|
807
|
-
this.lastLoginAt =
|
|
836
|
+
this.lastLoginAt = base.dateToUTC(lastLoginAt);
|
|
808
837
|
this.success = success;
|
|
809
838
|
}
|
|
810
839
|
|
|
@@ -835,7 +864,7 @@ class WalletTransaction extends Transaction {
|
|
|
835
864
|
userId,
|
|
836
865
|
});
|
|
837
866
|
this.id = id;
|
|
838
|
-
this.transactionType =
|
|
867
|
+
this.transactionType = base.enumValueFromString(
|
|
839
868
|
identities.WalletTransactionType,
|
|
840
869
|
transactionType,
|
|
841
870
|
);
|
|
@@ -882,12 +911,12 @@ class WhatsAppTransfer extends Transaction {
|
|
|
882
911
|
this.claimUrl = claimUrl;
|
|
883
912
|
this.destinationUri = destinationUri;
|
|
884
913
|
this.id = id;
|
|
885
|
-
this.expiresAt =
|
|
886
|
-
this.network =
|
|
914
|
+
this.expiresAt = base.dateToUTC(expiresAt);
|
|
915
|
+
this.network = base.enumValueFromString(identities.TransferNetwork, network);
|
|
887
916
|
this.phoneNumber = phoneNumber;
|
|
888
917
|
this.recipientName = recipientName;
|
|
889
918
|
this.trackingKey = trackingKey;
|
|
890
|
-
this.updatedAt =
|
|
919
|
+
this.updatedAt = base.dateToUTC(updatedAt);
|
|
891
920
|
}
|
|
892
921
|
|
|
893
922
|
static fromObject = ({ amount, descriptor, id, network, status, ...obj }) =>
|
|
@@ -1449,7 +1478,7 @@ class TransferResource extends mix(Resource).with(
|
|
|
1449
1478
|
}
|
|
1450
1479
|
|
|
1451
1480
|
static _genIdempotencyKey(accountNumber, amount) {
|
|
1452
|
-
const [date] =
|
|
1481
|
+
const [date] = base.dateToUTC(Date.now()).toISOString().split('T');
|
|
1453
1482
|
return `${date}:${accountNumber}:${amount}`;
|
|
1454
1483
|
}
|
|
1455
1484
|
}
|
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-122c79fd.mjs';
|
|
6
|
+
import { d as dateToUTC, e as enumValueFromString } from './base-c1f04b51.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-8b125547.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.27";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 } = {}) {
|
|
@@ -86,7 +86,14 @@ class Client {
|
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
async configure({
|
|
89
|
+
async configure({
|
|
90
|
+
apiKey,
|
|
91
|
+
apiSecret,
|
|
92
|
+
loginToken,
|
|
93
|
+
phase,
|
|
94
|
+
sessionId,
|
|
95
|
+
useJwt = false,
|
|
96
|
+
}) {
|
|
90
97
|
this.basicAuth = {
|
|
91
98
|
apiKey: apiKey || this.basicAuth.apiKey,
|
|
92
99
|
apiSecret: apiSecret || this.basicAuth.apiSecret,
|
|
@@ -99,6 +106,10 @@ class Client {
|
|
|
99
106
|
if (loginToken) {
|
|
100
107
|
this.addHeadersToRequest({ 'X-Cuenca-LoginToken': loginToken });
|
|
101
108
|
}
|
|
109
|
+
|
|
110
|
+
if (sessionId) {
|
|
111
|
+
this.addHeadersToRequest({ 'X-Cuenca-SessionId': sessionId });
|
|
112
|
+
}
|
|
102
113
|
}
|
|
103
114
|
|
|
104
115
|
async get({ endpoint, format, params }) {
|
|
@@ -110,6 +121,9 @@ class Client {
|
|
|
110
121
|
}
|
|
111
122
|
|
|
112
123
|
async patch({ endpoint, data }) {
|
|
124
|
+
console.log('este es el patch');
|
|
125
|
+
console.log(endpoint);
|
|
126
|
+
console.log(data);
|
|
113
127
|
return this.request({ method: 'PATCH', endpoint, data });
|
|
114
128
|
}
|
|
115
129
|
|
|
@@ -163,10 +177,16 @@ class Client {
|
|
|
163
177
|
url: endpoint,
|
|
164
178
|
});
|
|
165
179
|
|
|
180
|
+
console.log('esto es en el request ');
|
|
181
|
+
console.log({baseURL: this.origin});
|
|
166
182
|
let response;
|
|
167
183
|
try {
|
|
168
184
|
response = await this._session.request({ baseURL: this.origin });
|
|
185
|
+
console.log('esto esssss response');
|
|
186
|
+
console.log(response);
|
|
169
187
|
} catch (error) {
|
|
188
|
+
console.log('esto esssss el errorrrr');
|
|
189
|
+
console.log(error);
|
|
170
190
|
if (error.response) {
|
|
171
191
|
throw new CuencaResponseException(
|
|
172
192
|
error.response.data,
|
|
@@ -761,10 +781,19 @@ class User {
|
|
|
761
781
|
this.emailAddress = emailAddress;
|
|
762
782
|
this.phoneNumber = phoneNumber;
|
|
763
783
|
this.status = enumValueFromString(UserStatus, status);
|
|
764
|
-
this.
|
|
784
|
+
this.terms = termsOfService;
|
|
765
785
|
this.verificationId = verificationId;
|
|
766
786
|
}
|
|
767
787
|
|
|
788
|
+
get termsOfService() {
|
|
789
|
+
return this._termsOfService;
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
set terms(value) {
|
|
793
|
+
if (!value) return;
|
|
794
|
+
this._termsOfService = TOSAgreements.fromObject(value);
|
|
795
|
+
}
|
|
796
|
+
|
|
768
797
|
static fromObject = ({ ...obj }) =>
|
|
769
798
|
new User({
|
|
770
799
|
emailAddress: obj.email_address,
|
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-
|
|
5
|
+
var walletTransactionRequest = require('../walletTransactionRequest-bda66da3.cjs');
|
|
6
|
+
require('../base-80b9a673.cjs');
|
|
6
7
|
require('../errors/index.cjs');
|
|
7
|
-
require('../data-9edbb2a0.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
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, h as TosUpdateRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-
|
|
1
|
+
export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, S as SavingRequest, h as TosUpdateRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-8b125547.mjs';
|
|
2
|
+
import '../base-c1f04b51.mjs';
|
|
2
3
|
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-d9bd3846.cjs');
|
|
6
6
|
require('../errors/index.cjs');
|
|
7
|
-
require('../
|
|
7
|
+
require('../base-80b9a673.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-122c79fd.mjs';
|
|
2
2
|
import '../errors/index.mjs';
|
|
3
|
-
import '../
|
|
3
|
+
import '../base-c1f04b51.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 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 N{static NotSet=new N("not_set");static Terminal=new N("terminal");static Manual=new N("manual");static Unknown=new N("unknown");static Contactless=new N("contactless");static FallBack=new N("fall_back");static MagneticStripe=new N("magnetic_stripe");static RecurringCharge=new N("recurring_charge");constructor(t){this.value=t}}class S{static Created=new S("created");static Failed=new S("failed");static InReview=new S("in_review");static Submitted=new S("submitted");static Succeeded=new S("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 E{static Deposit=new E("deposit");static Withdrawal=new E("withdrawal");constructor(t){this.value=t}}const P=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},q=(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 z 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 Q extends D{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class X extends D{constructor({phoneNumber:t,emailAddress:e,status:s,...i}){super(i),this.phoneNumber=t,this.emailAddress=e,this.status=s}toObject(){return Object.assign(super.toObject(),{phone_number:this.phoneNumber,email_address:this.emailAddress,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=P(Date.now());s.setUTCDate(1);if(P(`${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.24";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,useJwt:r=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},i&&(this.phase=i),r&&(this.jwtToken=await v.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s})}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=P(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=P(t),this.deactivatedAt=P(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=P(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=P(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=P(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=P(e),this.descriptor=s,this.entryType=q(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=P(e),this.descriptor=s,this.status=q(S,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=P(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=q(y,r),this.id=a,this.issuer=q(f,n),this.number=c,this.pin=o,this.status=q(g,d),this.type=q(j,u),this.updatedAt=P(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=P(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=q(b,e),this.cardLastFour=s,this.cardType=q(j,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=q(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=q(g,t),this.cardType=q(j,e),this.cardUri=s,this.createdAt=P(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=q(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=q(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=P(e),this.deactivatedAt=P(s),this.id=i,this.userId=r,this.updatedAt=P(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=q(C,e),this.goalAmount=r,this.goalDate=P(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=>q(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=P(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=q($,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=P(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,phoneNumber:e,status:s,termsOfService:i,verificationId:r}){this.emailAddress=t,this.phoneNumber=e,this.status=q(K,s),this.termsOfService=G.fromObject(i),this.verificationId=r}static fromObject=({...t})=>new bt({emailAddress:t.email_address,phoneNumber:t.phone_number,status:t.status,termsOfService:t.terms_of_service,verificationId:t.verification_id})}class yt{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=P(t),this.id=e,this.isActive=s,this.updatedAt=P(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=P(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=q(E,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=P(a),this.network=q($,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=P(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)}},Nt=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)}},St=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 Et{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Pt extends Et{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class qt extends Et{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 Et{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Mt extends Et{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 Et{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 Et{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(P(t).getTime()<=P(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 Et{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 Yt extends Et{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 Et{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 Lt extends Et{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 Ft extends Et{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 zt extends Et{constructor({termsOfService:t,verificationId:e}){super(),this.termsOfService=new Rt(t).toObject(),this.verificationId=e}toObject(){return{terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class Qt extends Et{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 Xt extends(At(kt).with(Ut,Nt,$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 Pt(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,Nt,$t,Tt,Ct)){constructor(t){super("cards",z,t)}async create(t,e,s){const i=new qt(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,Nt,$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(St,$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 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]=P(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 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(At(kt).with(Ut,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(At(kt).with($t,Ct)){constructor(t){super("users",X,t)}async update({termsOfService:t,userId:e="me",verificationId:s}){const i=new zt({termsOfService:t,verificationId:s});return await this._update(e,i.toCleanObject())}}class pe extends(At(kt).with(Ut,$t,Tt)){constructor(t){super("wallet_transactions",Q,t)}async create(t,e,s){const i=new Qt(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 Xt(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 pe(t),this.whatsAppTransfers=new le(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 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.27";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 "),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)}}}));
|
package/build/{walletTransactionRequest-ede62457.mjs → walletTransactionRequest-8b125547.mjs}
RENAMED
|
@@ -1,19 +1,5 @@
|
|
|
1
|
+
import { B as BaseRequest, d as dateToUTC } from './base-c1f04b51.mjs';
|
|
1
2
|
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
|
-
}
|
|
17
3
|
|
|
18
4
|
class ApiKeyUpdateRequest extends BaseRequest {
|
|
19
5
|
constructor(userId, metadata) {
|
|
@@ -505,10 +491,19 @@ class UserLoginRequest extends BaseRequest {
|
|
|
505
491
|
class UserUpdateRequest extends BaseRequest {
|
|
506
492
|
constructor({ termsOfService, verificationId }) {
|
|
507
493
|
super();
|
|
508
|
-
this.
|
|
494
|
+
this.terms = termsOfService;
|
|
509
495
|
this.verificationId = verificationId;
|
|
510
496
|
}
|
|
511
497
|
|
|
498
|
+
get termsOfService() {
|
|
499
|
+
return this._termsOfService;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
set terms(value) {
|
|
503
|
+
if (!value) return;
|
|
504
|
+
this._termsOfService = new TosUpdateRequest(value).toObject();
|
|
505
|
+
}
|
|
506
|
+
|
|
512
507
|
toObject() {
|
|
513
508
|
return {
|
|
514
509
|
terms_of_service: this.termsOfService,
|
package/build/{walletTransactionRequest-507c5996.cjs → walletTransactionRequest-bda66da3.cjs}
RENAMED
|
@@ -1,23 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var base = require('./base-80b9a673.cjs');
|
|
3
4
|
var errors_index = require('./errors/index.cjs');
|
|
4
|
-
var data = require('./data-9edbb2a0.cjs');
|
|
5
5
|
|
|
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 {
|
|
6
|
+
class ApiKeyUpdateRequest extends base.BaseRequest {
|
|
21
7
|
constructor(userId, metadata) {
|
|
22
8
|
super();
|
|
23
9
|
this.userId = userId;
|
|
@@ -32,7 +18,7 @@ class ApiKeyUpdateRequest extends BaseRequest {
|
|
|
32
18
|
}
|
|
33
19
|
}
|
|
34
20
|
|
|
35
|
-
class ArpcRequest extends BaseRequest {
|
|
21
|
+
class ArpcRequest extends base.BaseRequest {
|
|
36
22
|
constructor({
|
|
37
23
|
arpcMethod,
|
|
38
24
|
arqc,
|
|
@@ -97,7 +83,7 @@ class ArpcRequest extends BaseRequest {
|
|
|
97
83
|
}
|
|
98
84
|
}
|
|
99
85
|
|
|
100
|
-
class CardRequest extends BaseRequest {
|
|
86
|
+
class CardRequest extends base.BaseRequest {
|
|
101
87
|
constructor(userId, issuer, fundingType) {
|
|
102
88
|
super();
|
|
103
89
|
this.userId = userId;
|
|
@@ -114,7 +100,7 @@ class CardRequest extends BaseRequest {
|
|
|
114
100
|
}
|
|
115
101
|
}
|
|
116
102
|
|
|
117
|
-
class CardUpdateRequest extends BaseRequest {
|
|
103
|
+
class CardUpdateRequest extends base.BaseRequest {
|
|
118
104
|
constructor(status, pinBlock) {
|
|
119
105
|
super();
|
|
120
106
|
this.status = status;
|
|
@@ -129,7 +115,7 @@ class CardUpdateRequest extends BaseRequest {
|
|
|
129
115
|
}
|
|
130
116
|
}
|
|
131
117
|
|
|
132
|
-
class CardActivationRequest extends BaseRequest {
|
|
118
|
+
class CardActivationRequest extends base.BaseRequest {
|
|
133
119
|
constructor(number, expMonth, expYear, cvv2) {
|
|
134
120
|
super();
|
|
135
121
|
this.n = number;
|
|
@@ -196,7 +182,7 @@ class CardActivationRequest extends BaseRequest {
|
|
|
196
182
|
}
|
|
197
183
|
}
|
|
198
184
|
|
|
199
|
-
class CardValidationRequest extends BaseRequest {
|
|
185
|
+
class CardValidationRequest extends base.BaseRequest {
|
|
200
186
|
constructor({
|
|
201
187
|
cvv,
|
|
202
188
|
cvv2,
|
|
@@ -309,7 +295,7 @@ class CardValidationRequest extends BaseRequest {
|
|
|
309
295
|
}
|
|
310
296
|
}
|
|
311
297
|
|
|
312
|
-
class SavingRequest extends BaseRequest {
|
|
298
|
+
class SavingRequest extends base.BaseRequest {
|
|
313
299
|
constructor(category, goalAmount, goalDate, name) {
|
|
314
300
|
super();
|
|
315
301
|
this.category = category;
|
|
@@ -324,7 +310,7 @@ class SavingRequest extends BaseRequest {
|
|
|
324
310
|
|
|
325
311
|
set validDate(value) {
|
|
326
312
|
if (!value) return;
|
|
327
|
-
if (
|
|
313
|
+
if (base.dateToUTC(value).getTime() <= base.dateToUTC(Date.now()).getTime()) {
|
|
328
314
|
throw new errors_index.ValidationError(
|
|
329
315
|
'The goal_date always need to be higher than now',
|
|
330
316
|
);
|
|
@@ -342,7 +328,7 @@ class SavingRequest extends BaseRequest {
|
|
|
342
328
|
}
|
|
343
329
|
}
|
|
344
330
|
|
|
345
|
-
class TosUpdateRequest extends BaseRequest {
|
|
331
|
+
class TosUpdateRequest extends base.BaseRequest {
|
|
346
332
|
constructor({ ip, location, type, version }) {
|
|
347
333
|
super();
|
|
348
334
|
this.ipAddress = ip;
|
|
@@ -379,7 +365,7 @@ class TosUpdateRequest extends BaseRequest {
|
|
|
379
365
|
}
|
|
380
366
|
}
|
|
381
367
|
|
|
382
|
-
class TransferRequest extends BaseRequest {
|
|
368
|
+
class TransferRequest extends base.BaseRequest {
|
|
383
369
|
constructor(
|
|
384
370
|
accountNumber,
|
|
385
371
|
amount,
|
|
@@ -406,7 +392,7 @@ class TransferRequest extends BaseRequest {
|
|
|
406
392
|
}
|
|
407
393
|
}
|
|
408
394
|
|
|
409
|
-
class UserCredentialRequest extends BaseRequest {
|
|
395
|
+
class UserCredentialRequest extends base.BaseRequest {
|
|
410
396
|
constructor(password) {
|
|
411
397
|
super();
|
|
412
398
|
this.pwd = password;
|
|
@@ -431,7 +417,7 @@ class UserCredentialRequest extends BaseRequest {
|
|
|
431
417
|
}
|
|
432
418
|
}
|
|
433
419
|
|
|
434
|
-
class UserCredentialUpdateRequest extends BaseRequest {
|
|
420
|
+
class UserCredentialUpdateRequest extends base.BaseRequest {
|
|
435
421
|
constructor(password, isActive) {
|
|
436
422
|
super();
|
|
437
423
|
this.pwd = password;
|
|
@@ -477,7 +463,7 @@ class UserCredentialUpdateRequest extends BaseRequest {
|
|
|
477
463
|
}
|
|
478
464
|
}
|
|
479
465
|
|
|
480
|
-
class UserLoginRequest extends BaseRequest {
|
|
466
|
+
class UserLoginRequest extends base.BaseRequest {
|
|
481
467
|
constructor(password, userId = 'me') {
|
|
482
468
|
super();
|
|
483
469
|
this.pwd = password;
|
|
@@ -504,13 +490,22 @@ class UserLoginRequest extends BaseRequest {
|
|
|
504
490
|
}
|
|
505
491
|
}
|
|
506
492
|
|
|
507
|
-
class UserUpdateRequest extends BaseRequest {
|
|
493
|
+
class UserUpdateRequest extends base.BaseRequest {
|
|
508
494
|
constructor({ termsOfService, verificationId }) {
|
|
509
495
|
super();
|
|
510
|
-
this.
|
|
496
|
+
this.terms = termsOfService;
|
|
511
497
|
this.verificationId = verificationId;
|
|
512
498
|
}
|
|
513
499
|
|
|
500
|
+
get termsOfService() {
|
|
501
|
+
return this._termsOfService;
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
set terms(value) {
|
|
505
|
+
if (!value) return;
|
|
506
|
+
this._termsOfService = new TosUpdateRequest(value).toObject();
|
|
507
|
+
}
|
|
508
|
+
|
|
514
509
|
toObject() {
|
|
515
510
|
return {
|
|
516
511
|
terms_of_service: this.termsOfService,
|
|
@@ -519,7 +514,7 @@ class UserUpdateRequest extends BaseRequest {
|
|
|
519
514
|
}
|
|
520
515
|
}
|
|
521
516
|
|
|
522
|
-
class WalletTransactionRequest extends BaseRequest {
|
|
517
|
+
class WalletTransactionRequest extends base.BaseRequest {
|
|
523
518
|
constructor(amount, transactionType, walletUri) {
|
|
524
519
|
super();
|
|
525
520
|
this.amount = amount;
|
package/package.json
CHANGED
package/build/data-d5bcb7c8.mjs
DELETED
|
@@ -1,10 +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
|
-
export { dateToUTC as d, enumValueFromString as e };
|