@cuenca-mx/cuenca-js 0.0.3-dev.0 → 0.0.3-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.cjs +135 -9
- package/build/index.mjs +135 -9
- package/build/requests/index.cjs +3 -1
- package/build/requests/index.mjs +2 -1
- package/build/umd/cuenca.umd.js +1 -1
- package/build/{walletTransactionRequest-63cd40ad.mjs → walletTransactionRequest-3ab2bc85.mjs} +95 -2
- package/build/{walletTransactionRequest-bb31f865.cjs → walletTransactionRequest-d055d934.cjs} +95 -1
- package/package.json +3 -2
package/build/index.cjs
CHANGED
|
@@ -8,7 +8,8 @@ var errors_index = require('./errors/index.cjs');
|
|
|
8
8
|
var jwt_index = require('./jwt/index.cjs');
|
|
9
9
|
var data = require('./data-efb53250.cjs');
|
|
10
10
|
var identities = require('./identities-93faf1ed.cjs');
|
|
11
|
-
var walletTransactionRequest = require('./walletTransactionRequest-
|
|
11
|
+
var walletTransactionRequest = require('./walletTransactionRequest-d055d934.cjs');
|
|
12
|
+
require('node:module');
|
|
12
13
|
|
|
13
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
15
|
|
|
@@ -26,7 +27,7 @@ const isNode =
|
|
|
26
27
|
|
|
27
28
|
const runtimeEnv = { isBrowser, isNode };
|
|
28
29
|
|
|
29
|
-
const name="@cuenca-mx/cuenca-js";const version="0.0.3-dev.
|
|
30
|
+
const name="@cuenca-mx/cuenca-js";const version="0.0.3-dev.3";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","form-data":"^4.0.0"};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
31
|
|
|
31
32
|
class Client {
|
|
32
33
|
constructor({
|
|
@@ -133,8 +134,8 @@ class Client {
|
|
|
133
134
|
return this.request({ endpoint, format, params });
|
|
134
135
|
}
|
|
135
136
|
|
|
136
|
-
async post({ endpoint, data }) {
|
|
137
|
-
return this.request({ method: 'POST', endpoint, data });
|
|
137
|
+
async post({ endpoint, data, multipart }) {
|
|
138
|
+
return this.request({ method: 'POST', endpoint, data, multipart });
|
|
138
139
|
}
|
|
139
140
|
|
|
140
141
|
async patch({ endpoint, data }) {
|
|
@@ -150,12 +151,18 @@ class Client {
|
|
|
150
151
|
data: data$1 = null,
|
|
151
152
|
format = data.FileFormat.Json,
|
|
152
153
|
method = 'GET',
|
|
154
|
+
multipart = false,
|
|
153
155
|
params = null,
|
|
154
156
|
}) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
157
|
+
let headers;
|
|
158
|
+
if (multipart) {
|
|
159
|
+
headers = data$1.getHeaders();
|
|
160
|
+
} else {
|
|
161
|
+
headers = {
|
|
162
|
+
'Content-Type': 'application/json',
|
|
163
|
+
Accept: `application/${format.value}`,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
159
166
|
|
|
160
167
|
if (this.authHeader) {
|
|
161
168
|
headers.Authorization = this.authHeader;
|
|
@@ -175,7 +182,6 @@ class Client {
|
|
|
175
182
|
}
|
|
176
183
|
headers['X-Cuenca-Token'] = this.jwtToken.token;
|
|
177
184
|
}
|
|
178
|
-
|
|
179
185
|
const headersInterceptor = this.addHeadersToRequest(headers);
|
|
180
186
|
|
|
181
187
|
const modifiedData = data$1;
|
|
@@ -628,6 +634,96 @@ class Deposit extends Transaction {
|
|
|
628
634
|
});
|
|
629
635
|
}
|
|
630
636
|
|
|
637
|
+
class Identities {
|
|
638
|
+
constructor({
|
|
639
|
+
address,
|
|
640
|
+
blacklistValidationStatus,
|
|
641
|
+
countryOfBirth,
|
|
642
|
+
createdAt,
|
|
643
|
+
curp,
|
|
644
|
+
dateOfBirth,
|
|
645
|
+
extension,
|
|
646
|
+
firstSurname,
|
|
647
|
+
gender,
|
|
648
|
+
govId,
|
|
649
|
+
id,
|
|
650
|
+
names,
|
|
651
|
+
nationality,
|
|
652
|
+
proofOfAddress,
|
|
653
|
+
proofOfLife,
|
|
654
|
+
rfc,
|
|
655
|
+
rfcDocument,
|
|
656
|
+
rfcFile,
|
|
657
|
+
secondSurname,
|
|
658
|
+
stateOfBirth,
|
|
659
|
+
status,
|
|
660
|
+
tosAgreement,
|
|
661
|
+
userId,
|
|
662
|
+
}) {
|
|
663
|
+
this.address = address;
|
|
664
|
+
this.blacklistValidationStatus = blacklistValidationStatus;
|
|
665
|
+
this.countryOfBirth = countryOfBirth;
|
|
666
|
+
this.createdAt = createdAt;
|
|
667
|
+
this.curp = curp;
|
|
668
|
+
this.dateOfBirth = dateOfBirth;
|
|
669
|
+
this.extension = extension;
|
|
670
|
+
this.firstSurname = firstSurname;
|
|
671
|
+
this.gender = gender;
|
|
672
|
+
this.govId = govId;
|
|
673
|
+
this.id = id;
|
|
674
|
+
this.names = names;
|
|
675
|
+
this.nationality = nationality;
|
|
676
|
+
this.proofOfAddress = proofOfAddress;
|
|
677
|
+
this.proofOfLife = proofOfLife;
|
|
678
|
+
this.rfc = rfc;
|
|
679
|
+
this.rfcDocument = rfcDocument;
|
|
680
|
+
this.rfcFile = rfcFile;
|
|
681
|
+
this.secondSurname = secondSurname;
|
|
682
|
+
this.stateOfBirth = stateOfBirth;
|
|
683
|
+
this.status = status;
|
|
684
|
+
this.tosAgreement = tosAgreement;
|
|
685
|
+
this.userId = userId;
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
static fromObject = ({
|
|
689
|
+
address,
|
|
690
|
+
curp,
|
|
691
|
+
extension,
|
|
692
|
+
gender,
|
|
693
|
+
id,
|
|
694
|
+
names,
|
|
695
|
+
nationality,
|
|
696
|
+
rfc,
|
|
697
|
+
status,
|
|
698
|
+
...obj
|
|
699
|
+
}) =>
|
|
700
|
+
new Identities({
|
|
701
|
+
address,
|
|
702
|
+
curp,
|
|
703
|
+
extension,
|
|
704
|
+
gender,
|
|
705
|
+
id,
|
|
706
|
+
names,
|
|
707
|
+
nationality,
|
|
708
|
+
rfc,
|
|
709
|
+
status,
|
|
710
|
+
blacklistValidationStatus: obj.blacklist_validation_status,
|
|
711
|
+
countryOfBirth: obj.country_of_birth,
|
|
712
|
+
createdAt: obj.created_at,
|
|
713
|
+
dateOfBirth: obj.date_of_birth,
|
|
714
|
+
firstSurname: obj.first_surname,
|
|
715
|
+
govId: obj.gov_id,
|
|
716
|
+
proofOfAddress: obj.proof_of_address,
|
|
717
|
+
proofOfLife: obj.proof_of_life,
|
|
718
|
+
rfcDocument: obj.rfc_document,
|
|
719
|
+
rfcFile: obj.rfc_file,
|
|
720
|
+
secondSurname: obj.second_surname,
|
|
721
|
+
stateOfBirth: obj.state_of_birth,
|
|
722
|
+
tosAgreement: obj.tos_agreement,
|
|
723
|
+
userId: obj.user_id,
|
|
724
|
+
});
|
|
725
|
+
}
|
|
726
|
+
|
|
631
727
|
class LoginToken {
|
|
632
728
|
constructor({ id }) {
|
|
633
729
|
this.id = id;
|
|
@@ -785,6 +881,7 @@ class User {
|
|
|
785
881
|
constructor({
|
|
786
882
|
emailAddress,
|
|
787
883
|
govtId,
|
|
884
|
+
identityUri,
|
|
788
885
|
level,
|
|
789
886
|
phoneNumber,
|
|
790
887
|
proofOfAddress,
|
|
@@ -795,6 +892,7 @@ class User {
|
|
|
795
892
|
}) {
|
|
796
893
|
this.emailAddress = emailAddress;
|
|
797
894
|
this.govstIds = govtId;
|
|
895
|
+
this.identityUri = identityUri;
|
|
798
896
|
this.level = level;
|
|
799
897
|
this.phoneNumber = phoneNumber;
|
|
800
898
|
this.addressProofs = proofOfAddress;
|
|
@@ -845,6 +943,7 @@ class User {
|
|
|
845
943
|
level,
|
|
846
944
|
status,
|
|
847
945
|
govtId: obj.govt_id,
|
|
946
|
+
identityUri: obj.identity_uri,
|
|
848
947
|
emailAddress: obj.email_address,
|
|
849
948
|
phoneNumber: obj.phone_number,
|
|
850
949
|
proofOfAddress: obj.proof_of_address,
|
|
@@ -1025,6 +1124,7 @@ const getModelFromPath = (path, obj) => {
|
|
|
1025
1124
|
card_validations: () => CardValidation.fromObject(obj),
|
|
1026
1125
|
commissions: () => Commission.fromObject(obj),
|
|
1027
1126
|
deposits: () => Deposit.fromObject(obj),
|
|
1127
|
+
identities: () => Identities.fromObject(obj),
|
|
1028
1128
|
login_tokens: () => LoginToken.fromObject(obj),
|
|
1029
1129
|
savings: () => Saving.fromObject(obj),
|
|
1030
1130
|
service_providers: () => ServiceProvider.fromObject(obj),
|
|
@@ -1090,6 +1190,19 @@ const Updateable = (SuperClass) =>
|
|
|
1090
1190
|
}
|
|
1091
1191
|
};
|
|
1092
1192
|
|
|
1193
|
+
const Uploadable = (SuperClass) =>
|
|
1194
|
+
class Uploadable extends SuperClass {
|
|
1195
|
+
async _upload(data) {
|
|
1196
|
+
const response = await this.client.post({
|
|
1197
|
+
endpoint: `/${this.path}`,
|
|
1198
|
+
data,
|
|
1199
|
+
multipart: true,
|
|
1200
|
+
});
|
|
1201
|
+
const model = getModelFromPath(this.path, response);
|
|
1202
|
+
return model;
|
|
1203
|
+
}
|
|
1204
|
+
};
|
|
1205
|
+
|
|
1093
1206
|
const Deactivable = (SuperClass) =>
|
|
1094
1207
|
class Deactivable extends SuperClass {
|
|
1095
1208
|
async _deactivate(id, data) {
|
|
@@ -1402,6 +1515,18 @@ class DepositResource extends mix(Resource).with(Queryable, Retrievable) {
|
|
|
1402
1515
|
}
|
|
1403
1516
|
}
|
|
1404
1517
|
|
|
1518
|
+
class IdentitiesResource extends mix(Resource).with(Uploadable) {
|
|
1519
|
+
constructor(client) {
|
|
1520
|
+
super('identities', Object, client);
|
|
1521
|
+
}
|
|
1522
|
+
|
|
1523
|
+
async upload({ extension, rfcFile, userId = 'me' }) {
|
|
1524
|
+
const request = new walletTransactionRequest.IdentitiesUploadRequest({ extension, rfcFile, userId });
|
|
1525
|
+
const identities = await this._upload(request.toFormData());
|
|
1526
|
+
return identities;
|
|
1527
|
+
}
|
|
1528
|
+
}
|
|
1529
|
+
|
|
1405
1530
|
class LoginTokenResource extends mix(Resource).with(Creatable) {
|
|
1406
1531
|
constructor(client) {
|
|
1407
1532
|
super('login_tokens', Object, client);
|
|
@@ -1694,6 +1819,7 @@ class Cuenca {
|
|
|
1694
1819
|
this.cardValidations = new CardValidationResource(client);
|
|
1695
1820
|
this.commissions = new CommissionResource(client);
|
|
1696
1821
|
this.deposits = new DepositResource(client);
|
|
1822
|
+
this.identities = new IdentitiesResource(client);
|
|
1697
1823
|
this.loginTokens = new LoginTokenResource(client);
|
|
1698
1824
|
this.savings = new SavingResource(client);
|
|
1699
1825
|
this.serviceProviders = new ServiceProviderResource(client);
|
package/build/index.mjs
CHANGED
|
@@ -4,7 +4,8 @@ import { CuencaResponseException, CuencaException, NoResultFound, MultipleResult
|
|
|
4
4
|
import { Jwt } from './jwt/index.mjs';
|
|
5
5
|
import { P as Phase, F as FileFormat, d as dateToUTC, e as enumValueFromString, E as EntryType, T as TransactionStatus, C as CardFundingType, a as CardIssuer, b as CardStatus, c as CardType, f as CardErrorType, g as CardTransactionType, h as CommissionType, D as DepositNetwork, S as SavingCategory, i as ServiceProviderCategory, j as TransferNetwork, U as UserStatus, V as VerificationType, W as WalletTransactionType } from './data-69952249.mjs';
|
|
6
6
|
import { K as KYCFile, T as TOSAgreements, A as AccountQuery, a as ApiKeyQuery, B as BalanceEntryQuery, b as BillPaymentQuery, C as CardsQuery, c as CardTransactionQuery, Q as QueryParams, D as DepositQuery, W as WalletQuery, S as StatementQuery, d as TransferQuery, U as UserQuery, e as WalletTransactionQuery } from './identities-5e48f342.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, V as VerificationRequest, h as VerificationAttemptRequest, W as WalletTransactionRequest } from './walletTransactionRequest-
|
|
7
|
+
import { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, I as IdentitiesUploadRequest, S as SavingRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, V as VerificationRequest, h as VerificationAttemptRequest, W as WalletTransactionRequest } from './walletTransactionRequest-3ab2bc85.mjs';
|
|
8
|
+
import 'node:module';
|
|
8
9
|
|
|
9
10
|
/* global window */
|
|
10
11
|
|
|
@@ -17,7 +18,7 @@ const isNode =
|
|
|
17
18
|
|
|
18
19
|
const runtimeEnv = { isBrowser, isNode };
|
|
19
20
|
|
|
20
|
-
const name="@cuenca-mx/cuenca-js";const version="0.0.3-dev.
|
|
21
|
+
const name="@cuenca-mx/cuenca-js";const version="0.0.3-dev.3";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","form-data":"^4.0.0"};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
22
|
|
|
22
23
|
class Client {
|
|
23
24
|
constructor({
|
|
@@ -124,8 +125,8 @@ class Client {
|
|
|
124
125
|
return this.request({ endpoint, format, params });
|
|
125
126
|
}
|
|
126
127
|
|
|
127
|
-
async post({ endpoint, data }) {
|
|
128
|
-
return this.request({ method: 'POST', endpoint, data });
|
|
128
|
+
async post({ endpoint, data, multipart }) {
|
|
129
|
+
return this.request({ method: 'POST', endpoint, data, multipart });
|
|
129
130
|
}
|
|
130
131
|
|
|
131
132
|
async patch({ endpoint, data }) {
|
|
@@ -141,12 +142,18 @@ class Client {
|
|
|
141
142
|
data = null,
|
|
142
143
|
format = FileFormat.Json,
|
|
143
144
|
method = 'GET',
|
|
145
|
+
multipart = false,
|
|
144
146
|
params = null,
|
|
145
147
|
}) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
148
|
+
let headers;
|
|
149
|
+
if (multipart) {
|
|
150
|
+
headers = data.getHeaders();
|
|
151
|
+
} else {
|
|
152
|
+
headers = {
|
|
153
|
+
'Content-Type': 'application/json',
|
|
154
|
+
Accept: `application/${format.value}`,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
150
157
|
|
|
151
158
|
if (this.authHeader) {
|
|
152
159
|
headers.Authorization = this.authHeader;
|
|
@@ -166,7 +173,6 @@ class Client {
|
|
|
166
173
|
}
|
|
167
174
|
headers['X-Cuenca-Token'] = this.jwtToken.token;
|
|
168
175
|
}
|
|
169
|
-
|
|
170
176
|
const headersInterceptor = this.addHeadersToRequest(headers);
|
|
171
177
|
|
|
172
178
|
const modifiedData = data;
|
|
@@ -619,6 +625,96 @@ class Deposit extends Transaction {
|
|
|
619
625
|
});
|
|
620
626
|
}
|
|
621
627
|
|
|
628
|
+
class Identities {
|
|
629
|
+
constructor({
|
|
630
|
+
address,
|
|
631
|
+
blacklistValidationStatus,
|
|
632
|
+
countryOfBirth,
|
|
633
|
+
createdAt,
|
|
634
|
+
curp,
|
|
635
|
+
dateOfBirth,
|
|
636
|
+
extension,
|
|
637
|
+
firstSurname,
|
|
638
|
+
gender,
|
|
639
|
+
govId,
|
|
640
|
+
id,
|
|
641
|
+
names,
|
|
642
|
+
nationality,
|
|
643
|
+
proofOfAddress,
|
|
644
|
+
proofOfLife,
|
|
645
|
+
rfc,
|
|
646
|
+
rfcDocument,
|
|
647
|
+
rfcFile,
|
|
648
|
+
secondSurname,
|
|
649
|
+
stateOfBirth,
|
|
650
|
+
status,
|
|
651
|
+
tosAgreement,
|
|
652
|
+
userId,
|
|
653
|
+
}) {
|
|
654
|
+
this.address = address;
|
|
655
|
+
this.blacklistValidationStatus = blacklistValidationStatus;
|
|
656
|
+
this.countryOfBirth = countryOfBirth;
|
|
657
|
+
this.createdAt = createdAt;
|
|
658
|
+
this.curp = curp;
|
|
659
|
+
this.dateOfBirth = dateOfBirth;
|
|
660
|
+
this.extension = extension;
|
|
661
|
+
this.firstSurname = firstSurname;
|
|
662
|
+
this.gender = gender;
|
|
663
|
+
this.govId = govId;
|
|
664
|
+
this.id = id;
|
|
665
|
+
this.names = names;
|
|
666
|
+
this.nationality = nationality;
|
|
667
|
+
this.proofOfAddress = proofOfAddress;
|
|
668
|
+
this.proofOfLife = proofOfLife;
|
|
669
|
+
this.rfc = rfc;
|
|
670
|
+
this.rfcDocument = rfcDocument;
|
|
671
|
+
this.rfcFile = rfcFile;
|
|
672
|
+
this.secondSurname = secondSurname;
|
|
673
|
+
this.stateOfBirth = stateOfBirth;
|
|
674
|
+
this.status = status;
|
|
675
|
+
this.tosAgreement = tosAgreement;
|
|
676
|
+
this.userId = userId;
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
static fromObject = ({
|
|
680
|
+
address,
|
|
681
|
+
curp,
|
|
682
|
+
extension,
|
|
683
|
+
gender,
|
|
684
|
+
id,
|
|
685
|
+
names,
|
|
686
|
+
nationality,
|
|
687
|
+
rfc,
|
|
688
|
+
status,
|
|
689
|
+
...obj
|
|
690
|
+
}) =>
|
|
691
|
+
new Identities({
|
|
692
|
+
address,
|
|
693
|
+
curp,
|
|
694
|
+
extension,
|
|
695
|
+
gender,
|
|
696
|
+
id,
|
|
697
|
+
names,
|
|
698
|
+
nationality,
|
|
699
|
+
rfc,
|
|
700
|
+
status,
|
|
701
|
+
blacklistValidationStatus: obj.blacklist_validation_status,
|
|
702
|
+
countryOfBirth: obj.country_of_birth,
|
|
703
|
+
createdAt: obj.created_at,
|
|
704
|
+
dateOfBirth: obj.date_of_birth,
|
|
705
|
+
firstSurname: obj.first_surname,
|
|
706
|
+
govId: obj.gov_id,
|
|
707
|
+
proofOfAddress: obj.proof_of_address,
|
|
708
|
+
proofOfLife: obj.proof_of_life,
|
|
709
|
+
rfcDocument: obj.rfc_document,
|
|
710
|
+
rfcFile: obj.rfc_file,
|
|
711
|
+
secondSurname: obj.second_surname,
|
|
712
|
+
stateOfBirth: obj.state_of_birth,
|
|
713
|
+
tosAgreement: obj.tos_agreement,
|
|
714
|
+
userId: obj.user_id,
|
|
715
|
+
});
|
|
716
|
+
}
|
|
717
|
+
|
|
622
718
|
class LoginToken {
|
|
623
719
|
constructor({ id }) {
|
|
624
720
|
this.id = id;
|
|
@@ -776,6 +872,7 @@ class User {
|
|
|
776
872
|
constructor({
|
|
777
873
|
emailAddress,
|
|
778
874
|
govtId,
|
|
875
|
+
identityUri,
|
|
779
876
|
level,
|
|
780
877
|
phoneNumber,
|
|
781
878
|
proofOfAddress,
|
|
@@ -786,6 +883,7 @@ class User {
|
|
|
786
883
|
}) {
|
|
787
884
|
this.emailAddress = emailAddress;
|
|
788
885
|
this.govstIds = govtId;
|
|
886
|
+
this.identityUri = identityUri;
|
|
789
887
|
this.level = level;
|
|
790
888
|
this.phoneNumber = phoneNumber;
|
|
791
889
|
this.addressProofs = proofOfAddress;
|
|
@@ -836,6 +934,7 @@ class User {
|
|
|
836
934
|
level,
|
|
837
935
|
status,
|
|
838
936
|
govtId: obj.govt_id,
|
|
937
|
+
identityUri: obj.identity_uri,
|
|
839
938
|
emailAddress: obj.email_address,
|
|
840
939
|
phoneNumber: obj.phone_number,
|
|
841
940
|
proofOfAddress: obj.proof_of_address,
|
|
@@ -1016,6 +1115,7 @@ const getModelFromPath = (path, obj) => {
|
|
|
1016
1115
|
card_validations: () => CardValidation.fromObject(obj),
|
|
1017
1116
|
commissions: () => Commission.fromObject(obj),
|
|
1018
1117
|
deposits: () => Deposit.fromObject(obj),
|
|
1118
|
+
identities: () => Identities.fromObject(obj),
|
|
1019
1119
|
login_tokens: () => LoginToken.fromObject(obj),
|
|
1020
1120
|
savings: () => Saving.fromObject(obj),
|
|
1021
1121
|
service_providers: () => ServiceProvider.fromObject(obj),
|
|
@@ -1081,6 +1181,19 @@ const Updateable = (SuperClass) =>
|
|
|
1081
1181
|
}
|
|
1082
1182
|
};
|
|
1083
1183
|
|
|
1184
|
+
const Uploadable = (SuperClass) =>
|
|
1185
|
+
class Uploadable extends SuperClass {
|
|
1186
|
+
async _upload(data) {
|
|
1187
|
+
const response = await this.client.post({
|
|
1188
|
+
endpoint: `/${this.path}`,
|
|
1189
|
+
data,
|
|
1190
|
+
multipart: true,
|
|
1191
|
+
});
|
|
1192
|
+
const model = getModelFromPath(this.path, response);
|
|
1193
|
+
return model;
|
|
1194
|
+
}
|
|
1195
|
+
};
|
|
1196
|
+
|
|
1084
1197
|
const Deactivable = (SuperClass) =>
|
|
1085
1198
|
class Deactivable extends SuperClass {
|
|
1086
1199
|
async _deactivate(id, data) {
|
|
@@ -1393,6 +1506,18 @@ class DepositResource extends mix(Resource).with(Queryable, Retrievable) {
|
|
|
1393
1506
|
}
|
|
1394
1507
|
}
|
|
1395
1508
|
|
|
1509
|
+
class IdentitiesResource extends mix(Resource).with(Uploadable) {
|
|
1510
|
+
constructor(client) {
|
|
1511
|
+
super('identities', Object, client);
|
|
1512
|
+
}
|
|
1513
|
+
|
|
1514
|
+
async upload({ extension, rfcFile, userId = 'me' }) {
|
|
1515
|
+
const request = new IdentitiesUploadRequest({ extension, rfcFile, userId });
|
|
1516
|
+
const identities = await this._upload(request.toFormData());
|
|
1517
|
+
return identities;
|
|
1518
|
+
}
|
|
1519
|
+
}
|
|
1520
|
+
|
|
1396
1521
|
class LoginTokenResource extends mix(Resource).with(Creatable) {
|
|
1397
1522
|
constructor(client) {
|
|
1398
1523
|
super('login_tokens', Object, client);
|
|
@@ -1685,6 +1810,7 @@ class Cuenca {
|
|
|
1685
1810
|
this.cardValidations = new CardValidationResource(client);
|
|
1686
1811
|
this.commissions = new CommissionResource(client);
|
|
1687
1812
|
this.deposits = new DepositResource(client);
|
|
1813
|
+
this.identities = new IdentitiesResource(client);
|
|
1688
1814
|
this.loginTokens = new LoginTokenResource(client);
|
|
1689
1815
|
this.savings = new SavingResource(client);
|
|
1690
1816
|
this.serviceProviders = new ServiceProviderResource(client);
|
package/build/requests/index.cjs
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var walletTransactionRequest = require('../walletTransactionRequest-
|
|
5
|
+
var walletTransactionRequest = require('../walletTransactionRequest-d055d934.cjs');
|
|
6
6
|
require('../errors/index.cjs');
|
|
7
|
+
require('node:module');
|
|
7
8
|
require('../data-efb53250.cjs');
|
|
8
9
|
|
|
9
10
|
|
|
@@ -14,6 +15,7 @@ exports.CardActivationRequest = walletTransactionRequest.CardActivationRequest;
|
|
|
14
15
|
exports.CardRequest = walletTransactionRequest.CardRequest;
|
|
15
16
|
exports.CardUpdateRequest = walletTransactionRequest.CardUpdateRequest;
|
|
16
17
|
exports.CardValidationRequest = walletTransactionRequest.CardValidationRequest;
|
|
18
|
+
exports.IdentitiesUploadRequest = walletTransactionRequest.IdentitiesUploadRequest;
|
|
17
19
|
exports.SavingRequest = walletTransactionRequest.SavingRequest;
|
|
18
20
|
exports.TransferRequest = walletTransactionRequest.TransferRequest;
|
|
19
21
|
exports.UserCredentialRequest = walletTransactionRequest.UserCredentialRequest;
|
package/build/requests/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, S as SavingRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, h as VerificationAttemptRequest, V as VerificationRequest, 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, I as IdentitiesUploadRequest, S as SavingRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, h as VerificationAttemptRequest, V as VerificationRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-3ab2bc85.mjs';
|
|
2
2
|
import '../errors/index.mjs';
|
|
3
|
+
import 'node:module';
|
|
3
4
|
import '../data-69952249.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 f{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=f.getExpirationDate(i);return new f(r,i)}}class v{static Blocked=new v("blocked");static Comunication=new v("comunication");static ContactlesAmountLimit=new v("contactles_amount_limit");static FraudDetection=new v("fraud_detection");static FraudDetectionUncertain=new v("fraud_detection_uncertain");static InsufficientFounds=new v("insufficient_founds");static InvalidPin=new v("invalid_pin");static Notification=new v("notification");static NotificationDeactivatedCard=new v("notification_deactivated_card");constructor(t){this.value=t}}class b{static Credit=new b("credit");static Debit=new b("debit");constructor(t){this.value=t}}class y{static Accendo=new y("accendo");static Cuenca=new y("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 Ine=new T("ine");static Passport=new T("passport");static Residency=new T("residency");static MatriculaConsular=new T("matricula_consular");static ProofOfLiveness=new T("proof_of_liveness");static ProofOfAddress=new T("proof_of_address");constructor(t){this.value=t}}class U{static UploadAgain=new U("upload_again");static ReviewNeeded=new U("review_needed");static Submitted=new U("submitted");static Succeeded=new U("succeeded");constructor(t){this.value=t}}class C{static Sandbox=new C("sandbox");static Stage=new C("stage");static Api=new C("api");constructor(t){this.value=t}}class N{static Cable=new N("cable");static CreditCard=new N("credit_card");static Electricity=new N("electricity");static Gas=new N("gas");static Internet=new N("internet");static LandlineTelephone=new N("landline_telephone");static MobileTelephonePostpaid=new N("mobile_telephone_postpaid");static MobileTelephonePrepaid=new N("mobile_telephone_prepaid");static SateliteTelevision=new N("satelite_television");static Water=new N("water");constructor(t){this.value=t}}class S{static General=new S("general");static Home=new S("home");static Vehicle=new S("vehicle");static Travel=new S("travel");static Clothing=new S("clothing");static Other=new S("other");static Medical=new S("medical");static Accident=new S("accident");static Education=new S("education");constructor(t){this.value=t}}class P{static NotSet=new P("not_set");static Terminal=new P("terminal");static Manual=new P("manual");static Unknown=new P("unknown");static Contactless=new P("contactless");static FallBack=new P("fall_back");static MagneticStripe=new P("magnetic_stripe");static RecurringCharge=new P("recurring_charge");constructor(t){this.value=t}}class ${static Created=new $("created");static Failed=new $("failed");static InReview=new $("in_review");static Submitted=new $("submitted");static Succeeded=new $("succeeded");constructor(t){this.value=t}}class E{static Internal=new E("internal");static Spei=new E("spei");constructor(t){this.value=t}}class K{static Active=new K("active");static Deactivated=new K("deactivated");static Fraud=new K("fraud");static PldBlocked=new K("pld_blocked");constructor(t){this.value=t}}class q{static Phone=new q("phone");static Email=new q("email");constructor(t){this.value=t}}class D{static Deposit=new D("deposit");static Withdrawal=new D("withdrawal");constructor(t){this.value=t}}const M=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},B=(t,e)=>Object.values(t).find((t=>t.value===e));class R{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 V extends R{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class L extends R{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class Y extends R{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class H extends Y{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 F extends Y{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 z extends R{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 X extends R{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class Q extends R{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class J extends R{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 W extends R{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class G extends R{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 Z extends R{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class tt extends R{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=M(Date.now());s.setUTCDate(1);if(M(`${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 et{constructor({ip:t,location:e,type:s,version:i}){this.ip=t,this.location=e,this.type=s,this.version=i}static fromObject=({ip:t,location:e,type:s,version:i})=>new et({ip:t,location:e,type:s,version:i})}class st{constructor({data:t,isMx:e,status:s,type:i,uriBack:r,uriFront:a}){this.data=t,this.isMx=e,this.status=B(U,s),this.type=B(T,i),this.uriBack=r,this.uriFront=a}static fromObject=({data:t,status:e,type:s,...i})=>new st({data:t,status:e,type:s,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}var it="0.0.3-dev.0";class rt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=C.Sandbox}={}){this.phase=i,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=r.default.create({headers:{"Accept-Language":s},timeout:45e3})}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 f.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),r&&this.addHeadersToRequest({"X-Cuenca-SessionId":r})}async get({endpoint:t,format:e,params:s}){return this.request({endpoint:t,format:e,params:s})}async post({endpoint:t,data:e}){return this.request({method:"POST",endpoint:t,data:e})}async patch({endpoint:t,data:e}){return this.request({method:"PATCH",endpoint:t,data:e})}async delete({endpoint:t,data:e}){return this.request({method:"DELETE",endpoint:t,data:e})}async request({endpoint:t,data:e=null,format:s=k.Json,method:i="GET",params:r=null}){const a={"Content-Type":"application/json",Accept:`application/${s.value}`};this.authHeader&&(a.Authorization=this.authHeader),_?a["User-Agent"]=`cuenca-js/${it}`:w&&(a["X-User-Agent"]=`cuenca-js/${it}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await f.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 at{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=M(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new at({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class nt{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=M(t),this.deactivatedAt=M(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=M(a)}static fromObject=({id:t,secret:e,...s})=>new nt({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=M(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class ct{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=M(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new ct({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class ot{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=M(e),this.descriptor=s,this.entryType=B(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 ot({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 dt{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=M(e),this.descriptor=s,this.status=B($,i),this.userId=r}}class ut extends dt{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 ut({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 ht{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=M(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=B(b,r),this.id=a,this.issuer=B(y,n),this.number=c,this.pin=o,this.status=B(g,d),this.type=B(j,u),this.updatedAt=M(h),this.userId=p}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new ht({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 pt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=M(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new pt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class lt extends dt{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=B(v,e),this.cardLastFour=s,this.cardType=B(j,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=B(O,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new lt({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 mt{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=B(g,t),this.cardType=B(j,e),this.cardUri=s,this.createdAt=M(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 mt({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 wt extends dt{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=B(A,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new wt({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class _t extends dt{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=B(x,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new _t({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 ft{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new ft({id:t})}class vt extends class{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=M(e),this.deactivatedAt=M(s),this.id=i,this.userId=r,this.updatedAt=M(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=B(S,e),this.goalAmount=r,this.goalDate=M(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new vt({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 bt{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>B(N,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new bt({categories:t,id:e,name:s,providerKey:i.provider_key})}class yt{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=M(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new yt({id:t,month:e,year:s,createdAt:i.created_at})}class gt extends dt{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=B(E,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=M(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new gt({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 Ot{constructor({emailAddress:t,govtId:e,level:s,phoneNumber:i,proofOfAddress:r,proofOfLife:a,status:n,termsOfService:c,verificationId:o}){this.emailAddress=t,this.govstIds=e,this.level=s,this.phoneNumber=i,this.addressProofs=r,this.lifeProofs=a,this.status=B(K,n),this.terms=c,this.verificationId=o}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=st.fromObject(t))}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=st.fromObject(t))}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=st.fromObject(t))}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=et.fromObject(t))}static fromObject=({level:t,status:e,...s})=>new Ot({level:t,status:e,govtId:s.govt_id,emailAddress:s.email_address,phoneNumber:s.phone_number,proofOfAddress:s.proof_of_address,proofOfLife:s.proof_of_life,termsOfService:s.terms_of_service,verificationId:s.verification_id})}class jt{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=M(t),this.id=e,this.isActive=s,this.updatedAt=M(i)}static fromObject=({id:t,...e})=>new jt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class At{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=M(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new At({id:t,success:e,lastLoginAt:s.last_login_at})}class xt{constructor({createdAt:t,id:e,platformId:s,recipient:i,type:r,updatedAt:a}){this.createdAt=M(t),this.id=e,this.platformId=s,this.recipient=i,this.type=B(q,r),this.updatedAt=M(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new xt({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class It extends dt{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=B(D,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new It({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 kt extends dt{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=M(a),this.network=B(E,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=M(p)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new kt({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 Tt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Ut=t=>new Tt(t),Ct=(t,e)=>({accounts:()=>at.fromObject(e),api_keys:()=>nt.fromObject(e),arpc:()=>ct.fromObject(e),balance_entries:()=>ot.fromObject(e),bill_payments:()=>ut.fromObject(e),cards:()=>ht.fromObject(e),card_activations:()=>pt.fromObject(e),card_transactions:()=>lt.fromObject(e),card_validations:()=>mt.fromObject(e),commissions:()=>wt.fromObject(e),deposits:()=>_t.fromObject(e),login_tokens:()=>ft.fromObject(e),savings:()=>vt.fromObject(e),service_providers:()=>bt.fromObject(e),statements:()=>yt.fromObject(e),transfers:()=>gt.fromObject(e),users:()=>Ot.fromObject(e),user_credentials:()=>jt.fromObject(e),user_logins:()=>At.fromObject(e),verifications:()=>xt.fromObject(e),wallet_transactions:()=>It.fromObject(e),whatsapp_transfers:()=>kt.fromObject(e)}[t]()),Nt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class St{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Pt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Ct(this.path,e)}},$t=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Ct(this.path,e)}},Et=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Ct(this.path,s)}},Kt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Ct(this.path,s)}},qt=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},Dt=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 Ct(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 Ct(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=Ct(this.path,e);yield t}e=t.next_page_uri}}};class Mt extends(Ut(St).with(Dt,Pt)){constructor(t){super("accounts",V,t)}}class Bt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Rt extends Bt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Vt extends Bt{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 Lt extends Bt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Yt extends Bt{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 Ht extends Bt{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 Ft extends Bt{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(M(t).getTime()<=M(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 zt extends Bt{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 Xt extends Bt{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password}}}class Qt extends Bt{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([t.length>=6].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 Jt extends Bt{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 Wt extends Bt{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 Gt extends Bt{constructor({city:t,country:e,extNumber:s,intNumber:i,postalCode:r,state:a,street:n}={}){super(),this.city=t,this.country=e,this.extNumber=s,this.intNumber=i,this.postalCode=r,this.state=a,this.street=n}toObject(){return{city:this.city,country:this.country,ext_number:this.extNumber,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class Zt extends Bt{constructor({address:t,profession:e,termsOfService:s,verificationId:i}){super(),this.adrs=new Gt(t),this.profession=e,this.terms=s,this.verificationId=i}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new Wt(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new Gt(t).toCleanObject())}toObject(){return{address:this.address,profession:this.profession,terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class te extends Bt{constructor({platformId:t,recipient:e,type:s}){super(),this.platformId=t,this.type=s,this.recipients=e}get recipient(){return this._recipient}set recipients(t){switch(B(q,this.type)){case q.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new p("Invalid email address");this._recipient=t;break;case q.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new p("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class ee extends Bt{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class se extends Bt{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 ie extends(Ut(St).with($t,Kt,Dt,Pt,Et)){constructor(t){super("api_keys",L,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 Rt(s,e);return await this._update(t,i.toCleanObject())}}Ut(St).with($t);class re extends(Ut(St).with(Dt,Pt)){constructor(t){super("balance_entries",z,t)}async relatedTransaction(t){const e=Nt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}async fundingInstrument(t){const e=Nt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class ae extends(Ut(St).with(Dt,Pt)){constructor(t){super("bill_payments",X,t)}async serviceProvider(t){const e=Nt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class ne extends(Ut(St).with($t)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new Yt(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 ht.fromObject(e)}}class ce extends(Ut(St).with($t,Kt,Dt,Pt,Et)){constructor(t){super("cards",J,t)}async create(t,e,s){const i=new Vt(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 Lt(e,s);return await this._update(t,i.toCleanObject())}}class oe extends(Ut(St).with(Dt,Pt)){constructor(t){super("card_transactions",Q,t)}async relatedCard(t){const e=Nt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class de extends(Ut(St).with($t)){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 Ht({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 ht.fromObject(e)}}class ue extends(Ut(St).with(Dt,Pt)){constructor(t){super("commissions",R,t)}async relatedTransaction(t){const e=Nt(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}class he extends(Ut(St).with(Dt,Pt)){constructor(t){super("deposits",H,t)}async source(t){const e=await this.client.get({endpoint:t});return at.fromObject(e)}}class pe extends(Ut(St).with($t)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class le extends(Ut(St).with($t,Kt,Dt,Pt,Et)){constructor(t){super("savings",Z,t)}async create(t,e,s,i){const r=new Ft(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 Ft(e,s,i,r);return await this._update(t,a.toObject())}}class me extends(Ut(St).with(Dt,Pt)){constructor(t){super("service_providers",R,t)}}class we extends(Ut(St).with(qt,Dt)){constructor(t){super("statements",tt,t)}async pdf(t){return await this._download(t,k.Pdf)}async xml(t){return await this._download(t,k.Xml)}}class _e extends(Ut(St).with($t,Dt,Pt)){constructor(t){super("transfers",F,t)}async destination(t){const e=await this.client.get({endpoint:t});return at.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new zt(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 zt(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]=M(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class fe extends(Ut(St).with($t,Et)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new Xt(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new Qt(e,t);return await this._update(s,i.toCleanObject())}}class ve extends(Ut(St).with($t,Kt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new Jt(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 be extends(Ut(St).with(Dt,Et,Pt)){constructor(t){super("users",G,t)}async update({userId:t="me",...e}){const s=new Zt(e);return await this._update(t,s.toCleanObject())}}class ye extends(Ut(St).with($t,Et)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new te({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new ee({code:t});return await this._update(e,s.toObject())}}class ge extends(Ut(St).with($t,Dt,Pt)){constructor(t){super("wallet_transactions",W,t)}async create(t,e,s){const i=new se(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=Nt(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}class Oe extends(Ut(St).with(Dt,Pt)){constructor(t){super("whatsapp_transfers",R,t)}async accountDestination(t){const e=Nt(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=C.Sandbox}={}){this.client=new rt({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new Mt(t),this.apiKeys=new ie(t),this.balanceEntries=new re(t),this.billPayments=new ae(t),this.cardActivations=new ne(t),this.cards=new ce(t),this.cardTransactions=new oe(t),this.cardValidations=new de(t),this.commissions=new ue(t),this.deposits=new he(t),this.loginTokens=new pe(t),this.savings=new le(t),this.serviceProviders=new me(t),this.statements=new we(t),this.transfers=new _e(t),this.userCredentials=new fe(t),this.userLogins=new ve(t),this.users=new be(t),this.verifications=new ye(t),this.walletTransactions=new ge(t),this.whatsAppTransfers=new Oe(t)}}}));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer"),require("node:module")):"function"==typeof define&&define.amd?define(["exports","axios","buffer","node:module"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer,t.node_module)}(this,(function(t,e,s,i){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var a=r(e),n=r(s);class c extends Error{constructor(t){super(t),Object.setPrototypeOf(this,c.prototype)}}class o extends c{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,o.prototype)}}class d extends c{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,d.prototype)}}class u extends c{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,u.prototype)}}class h extends c{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,h.prototype)}}class p extends c{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,p.prototype)}}class l extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l.prototype)}}const m="undefined"!=typeof window&&void 0!==window.document,f="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),w=m,_=f;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(n.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new h}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 g{static Accendo=new g("accendo");static Cuenca=new g("cuenca");constructor(t){this.value=t}}class O{static Active=new O("active");static Blocked=new O("blocked");static Created=new O("created");static Deactivated=new O("deactivated");static Printing=new O("printing");constructor(t){this.value=t}}class A{static Auth=new A("auth");static Capture=new A("capture");static Chargeback=new A("chargeback");static Expiration=new A("expiration");static Refund=new A("refund");static Void=new A("void");constructor(t){this.value=t}}class j{static Physical=new j("physical");static Virtual=new j("virtual");constructor(t){this.value=t}}class x{static CardRequest=new x("card_request");static CashDeposit=new x("cash_deposit");static OutgoingSpei=new x("outgoing_spei");constructor(t){this.value=t}}class I{static Cash=new I("cash");static Internal=new I("internal");static Spei=new I("spei");constructor(t){this.value=t}}class k{static Credit=new k("credit");static Debit=new k("debit");constructor(t){this.value=t}}class T{static Pdf=new T("pdf");static Xml=new T("xml");static Json=new T("json");constructor(t){this.value=t}}class S{static Ine=new S("ine");static Passport=new S("passport");static Residency=new S("residency");static MatriculaConsular=new S("matricula_consular");static ProofOfLiveness=new S("proof_of_liveness");static ProofOfAddress=new S("proof_of_address");constructor(t){this.value=t}}class U{static UploadAgain=new U("upload_again");static ReviewNeeded=new U("review_needed");static Submitted=new U("submitted");static Succeeded=new U("succeeded");constructor(t){this.value=t}}class C{static Sandbox=new C("sandbox");static Stage=new C("stage");static Api=new C("api");constructor(t){this.value=t}}class N{static Cable=new N("cable");static CreditCard=new N("credit_card");static Electricity=new N("electricity");static Gas=new N("gas");static Internet=new N("internet");static LandlineTelephone=new N("landline_telephone");static MobileTelephonePostpaid=new N("mobile_telephone_postpaid");static MobileTelephonePrepaid=new N("mobile_telephone_prepaid");static SateliteTelevision=new N("satelite_television");static Water=new N("water");constructor(t){this.value=t}}class P{static General=new P("general");static Home=new P("home");static Vehicle=new P("vehicle");static Travel=new P("travel");static Clothing=new P("clothing");static Other=new P("other");static Medical=new P("medical");static Accident=new P("accident");static Education=new P("education");constructor(t){this.value=t}}class B{static NotSet=new B("not_set");static Terminal=new B("terminal");static Manual=new B("manual");static Unknown=new B("unknown");static Contactless=new B("contactless");static FallBack=new B("fall_back");static MagneticStripe=new B("magnetic_stripe");static RecurringCharge=new B("recurring_charge");constructor(t){this.value=t}}class D{static Created=new D("created");static Failed=new D("failed");static InReview=new D("in_review");static Submitted=new D("submitted");static Succeeded=new D("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 PldBlocked=new q("pld_blocked");constructor(t){this.value=t}}class E{static Phone=new E("phone");static Email=new E("email");constructor(t){this.value=t}}class K{static Deposit=new K("deposit");static Withdrawal=new K("withdrawal");constructor(t){this.value=t}}const L=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},M=(t,e)=>Object.values(t).find((t=>t.value===e));class V{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 R extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class F extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class H extends V{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class Y extends H{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 z extends H{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 X extends V{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 Q extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class J extends V{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class W extends V{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 G extends V{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class Z extends V{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 tt extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class et extends V{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=L(Date.now());s.setUTCDate(1);if(L(`${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 st{constructor({ip:t,location:e,type:s,version:i}){this.ip=t,this.location=e,this.type=s,this.version=i}static fromObject=({ip:t,location:e,type:s,version:i})=>new st({ip:t,location:e,type:s,version:i})}class it{constructor({data:t,isMx:e,status:s,type:i,uriBack:r,uriFront:a}){this.data=t,this.isMx=e,this.status=M(U,s),this.type=M(S,i),this.uriBack=r,this.uriFront=a}static fromObject=({data:t,status:e,type:s,...i})=>new it({data:t,status:e,type:s,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}var rt="0.0.3-dev.3";class at{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=C.Sandbox}={}){this.phase=i,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=a.default.create({headers:{"Accept-Language":s},timeout:45e3})}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 ${n.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,multipart:s}){return this.request({method:"POST",endpoint:t,data:e,multipart:s})}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=T.Json,method:i="GET",multipart:r=!1,params:a=null}){let n;n=r?e.getHeaders():{"Content-Type":"application/json",Accept:`application/${s.value}`},this.authHeader&&(n.Authorization=this.authHeader),_?n["User-Agent"]=`cuenca-js/${rt}`:w&&(n["X-User-Agent"]=`cuenca-js/${rt}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await v.create(this)),n["X-Cuenca-Token"]=this.jwtToken.token);const d=this.addHeadersToRequest(n),u=e;u&&Object.keys(u).forEach((t=>{u[t]instanceof Date&&(u[t]=u[t].toISOString())}));const h=this.addConfigToRequest({method:i,params:a,data:u,url:t});let p;try{p=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new o(t.response.data,t.response.status):t.request?new c(`No response received: ${t.errno}: ${t.code}`):new c(t.message)}finally{d.eject(),h.eject()}return p.data}}class nt{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=L(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new nt({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class ct{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=L(t),this.deactivatedAt=L(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=L(a)}static fromObject=({id:t,secret:e,...s})=>new ct({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=L(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class ot{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=L(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new ot({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class dt{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=L(e),this.descriptor=s,this.entryType=M(k,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 dt({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 ut{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=L(e),this.descriptor=s,this.status=M(D,i),this.userId=r}}class ht extends ut{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 ht({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 pt{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=L(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=M(y,r),this.id=a,this.issuer=M(g,n),this.number=c,this.pin=o,this.status=M(O,d),this.type=M(j,u),this.updatedAt=L(h),this.userId=p}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new pt({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 lt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=L(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new lt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class mt extends ut{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=M(b,e),this.cardLastFour=s,this.cardType=M(j,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=M(A,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new mt({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 ft{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=M(O,t),this.cardType=M(j,e),this.cardUri=s,this.createdAt=L(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 ft({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===O.Active}}class wt extends ut{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=M(x,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new wt({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class _t extends ut{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=M(I,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new _t({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 vt{constructor({address:t,blacklistValidationStatus:e,countryOfBirth:s,createdAt:i,curp:r,dateOfBirth:a,extension:n,firstSurname:c,gender:o,govId:d,id:u,names:h,nationality:p,proofOfAddress:l,proofOfLife:m,rfc:f,rfcDocument:w,rfcFile:_,secondSurname:v,stateOfBirth:b,status:y,tosAgreement:g,userId:O}){this.address=t,this.blacklistValidationStatus=e,this.countryOfBirth=s,this.createdAt=i,this.curp=r,this.dateOfBirth=a,this.extension=n,this.firstSurname=c,this.gender=o,this.govId=d,this.id=u,this.names=h,this.nationality=p,this.proofOfAddress=l,this.proofOfLife=m,this.rfc=f,this.rfcDocument=w,this.rfcFile=_,this.secondSurname=v,this.stateOfBirth=b,this.status=y,this.tosAgreement=g,this.userId=O}static fromObject=({address:t,curp:e,extension:s,gender:i,id:r,names:a,nationality:n,rfc:c,status:o,...d})=>new vt({address:t,curp:e,extension:s,gender:i,id:r,names:a,nationality:n,rfc:c,status:o,blacklistValidationStatus:d.blacklist_validation_status,countryOfBirth:d.country_of_birth,createdAt:d.created_at,dateOfBirth:d.date_of_birth,firstSurname:d.first_surname,govId:d.gov_id,proofOfAddress:d.proof_of_address,proofOfLife:d.proof_of_life,rfcDocument:d.rfc_document,rfcFile:d.rfc_file,secondSurname:d.second_surname,stateOfBirth:d.state_of_birth,tosAgreement:d.tos_agreement,userId:d.user_id})}class bt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new bt({id:t})}class yt extends class{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=L(e),this.deactivatedAt=L(s),this.id=i,this.userId=r,this.updatedAt=L(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=M(P,e),this.goalAmount=r,this.goalDate=L(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new yt({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 gt{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>M(N,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new gt({categories:t,id:e,name:s,providerKey:i.provider_key})}class Ot{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=L(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new Ot({id:t,month:e,year:s,createdAt:i.created_at})}class At extends ut{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=M($,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=L(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new At({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 jt{constructor({emailAddress:t,govtId:e,identityUri:s,level:i,phoneNumber:r,proofOfAddress:a,proofOfLife:n,status:c,termsOfService:o,verificationId:d}){this.emailAddress=t,this.govstIds=e,this.identityUri=s,this.level=i,this.phoneNumber=r,this.addressProofs=a,this.lifeProofs=n,this.status=M(q,c),this.terms=o,this.verificationId=d}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=it.fromObject(t))}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=it.fromObject(t))}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=it.fromObject(t))}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=st.fromObject(t))}static fromObject=({level:t,status:e,...s})=>new jt({level:t,status:e,govtId:s.govt_id,identityUri:s.identity_uri,emailAddress:s.email_address,phoneNumber:s.phone_number,proofOfAddress:s.proof_of_address,proofOfLife:s.proof_of_life,termsOfService:s.terms_of_service,verificationId:s.verification_id})}class xt{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=L(t),this.id=e,this.isActive=s,this.updatedAt=L(i)}static fromObject=({id:t,...e})=>new xt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class It{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=L(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new It({id:t,success:e,lastLoginAt:s.last_login_at})}class kt{constructor({createdAt:t,id:e,platformId:s,recipient:i,type:r,updatedAt:a}){this.createdAt=L(t),this.id=e,this.platformId=s,this.recipient=i,this.type=M(E,r),this.updatedAt=L(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new kt({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class Tt extends ut{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=M(K,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new Tt({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 St extends ut{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=L(a),this.network=M($,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=L(p)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new St({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 Ut{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Ct=t=>new Ut(t),Nt=(t,e)=>({accounts:()=>nt.fromObject(e),api_keys:()=>ct.fromObject(e),arpc:()=>ot.fromObject(e),balance_entries:()=>dt.fromObject(e),bill_payments:()=>ht.fromObject(e),cards:()=>pt.fromObject(e),card_activations:()=>lt.fromObject(e),card_transactions:()=>mt.fromObject(e),card_validations:()=>ft.fromObject(e),commissions:()=>wt.fromObject(e),deposits:()=>_t.fromObject(e),identities:()=>vt.fromObject(e),login_tokens:()=>bt.fromObject(e),savings:()=>yt.fromObject(e),service_providers:()=>gt.fromObject(e),statements:()=>Ot.fromObject(e),transfers:()=>At.fromObject(e),users:()=>jt.fromObject(e),user_credentials:()=>xt.fromObject(e),user_logins:()=>It.fromObject(e),verifications:()=>kt.fromObject(e),wallet_transactions:()=>Tt.fromObject(e),whatsapp_transfers:()=>St.fromObject(e)}[t]()),Pt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Bt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Dt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Nt(this.path,e)}},$t=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Nt(this.path,e)}},qt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Nt(this.path,s)}},Et=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Nt(this.path,e)}},Kt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Nt(this.path,s)}},Lt=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},Mt=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 d;if(e.length>1)throw new u;const[s]=e;return Nt(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 Nt(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=Nt(this.path,e);yield t}e=t.next_page_uri}}};class Vt extends(Ct(Bt).with(Mt,Dt)){constructor(t){super("accounts",R,t)}}class Rt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Ft extends Rt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Ht extends Rt{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 Yt extends Rt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class zt extends Rt{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 Xt extends Rt{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}}}const Qt=i.createRequire("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("cuenca.umd.js",document.baseURI).href)("form-data");class Jt extends Rt{constructor({address:t,blacklistValidationStatus:e,countryOfBirth:s,createdAt:i,curp:r,dateOfBirth:a,extension:n,firstSurname:c,gender:o,govId:d,id:u,names:h,nationality:p,proofOfAddress:l,proofOfLife:m,rfc:f,rfcDocument:w,rfcFile:_,secondSurname:v,stateOfBirth:b,status:y,tosAgreement:g,userId:O}){super(),this.address=t,this.blacklistValidationStatus=e,this.countryOfBirth=s,this.createdAt=i,this.curp=r,this.dateOfBirth=a,this.extension=n,this.firstSurname=c,this.gender=o,this.govId=d,this.id=u,this.names=h,this.nationality=p,this.proofOfAddress=l,this.proofOfLife=m,this.rfc=f,this.rfcDocument=w,this.rfcFile=_,this.secondSurname=v,this.stateOfBirth=b,this.status=y,this.tosAgreement=g,this.userId=O}toObject(){return{address:this.address,blacklist_validation_status:this.blacklistValidationStatus,country_of_birth:this.countryOfBirth,created_at:this.createdAt,curp:this.curp,date_of_birth:this.dateOfBirth,extension:this.extension,first_surname:this.first_surname,gender:this.gender,gov_id:this.govId,id:this.id,names:this.names,nationality:this.nationality,proof_of_address:this.proofOfAddress,proof_of_life:this.proofOfLife,rfc:this.rfc,rfc_document:this.rfcDocument,rfc_file:this.rfcFile,second_surname:this.secondSurname,state_of_birth:this.stateOfBirth,status:this.status,tos_agreement:this.tosAgreement,user_id:this.userId}}toFormData(){const t=new Qt;return t.append("user_id",this.userId),t.append("extension",this.extension),t.append("rfc_file",this.rfcFile),t}}class Wt extends Rt{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(L(t).getTime()<=L(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 Gt extends Rt{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 Zt extends Rt{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new l("Invalid password");this._password=t}toObject(){return{password:this.password}}}class te extends Rt{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([t.length>=6].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 ee extends Rt{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 se extends Rt{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 ie extends Rt{constructor({city:t,country:e,extNumber:s,intNumber:i,postalCode:r,state:a,street:n}={}){super(),this.city=t,this.country=e,this.extNumber=s,this.intNumber=i,this.postalCode=r,this.state=a,this.street=n}toObject(){return{city:this.city,country:this.country,ext_number:this.extNumber,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class re extends Rt{constructor({address:t,profession:e,termsOfService:s,verificationId:i}){super(),this.adrs=t,this.profession=e,this.terms=s,this.verificationId=i}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new se(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new ie(t).toCleanObject())}toObject(){return{address:this.address,profession:this.profession,terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class ae extends Rt{constructor({platformId:t,recipient:e,type:s}){super(),this.platformId=t,this.type=s,this.recipients=e}get recipient(){return this._recipient}set recipients(t){switch(M(E,this.type)){case E.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new l("Invalid email address");this._recipient=t;break;case E.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new l("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class ne extends Rt{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class ce extends Rt{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 oe extends(Ct(Bt).with($t,Kt,Mt,Dt,qt)){constructor(t){super("api_keys",F,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 Ft(s,e);return await this._update(t,i.toCleanObject())}}Ct(Bt).with($t);class de extends(Ct(Bt).with(Mt,Dt)){constructor(t){super("balance_entries",X,t)}async relatedTransaction(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Nt(`${e}`,s)}async fundingInstrument(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Nt(`${e}`,s)}}class ue extends(Ct(Bt).with(Mt,Dt)){constructor(t){super("bill_payments",Q,t)}async serviceProvider(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Nt(`${e}`,s)}}class he extends(Ct(Bt).with($t)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new zt(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 pt.fromObject(e)}}class pe extends(Ct(Bt).with($t,Kt,Mt,Dt,qt)){constructor(t){super("cards",W,t)}async create(t,e,s){const i=new Ht(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 Yt(e,s);return await this._update(t,i.toCleanObject())}}class le extends(Ct(Bt).with(Mt,Dt)){constructor(t){super("card_transactions",J,t)}async relatedCard(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Nt(`${e}`,s)}}class me extends(Ct(Bt).with($t)){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 Xt({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 pt.fromObject(e)}}class fe extends(Ct(Bt).with(Mt,Dt)){constructor(t){super("commissions",V,t)}async relatedTransaction(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get(t);return Nt(`${e}`,s)}}class we extends(Ct(Bt).with(Mt,Dt)){constructor(t){super("deposits",Y,t)}async source(t){const e=await this.client.get({endpoint:t});return nt.fromObject(e)}}class _e extends(Ct(Bt).with(Et)){constructor(t){super("identities",Object,t)}async upload({extension:t,rfcFile:e,userId:s="me"}){const i=new Jt({extension:t,rfcFile:e,userId:s});return await this._upload(i.toFormData())}}class ve extends(Ct(Bt).with($t)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class be extends(Ct(Bt).with($t,Kt,Mt,Dt,qt)){constructor(t){super("savings",tt,t)}async create(t,e,s,i){const r=new Wt(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 Wt(e,s,i,r);return await this._update(t,a.toObject())}}class ye extends(Ct(Bt).with(Mt,Dt)){constructor(t){super("service_providers",V,t)}}class ge extends(Ct(Bt).with(Lt,Mt)){constructor(t){super("statements",et,t)}async pdf(t){return await this._download(t,T.Pdf)}async xml(t){return await this._download(t,T.Xml)}}class Oe extends(Ct(Bt).with($t,Mt,Dt)){constructor(t){super("transfers",z,t)}async destination(t){const e=await this.client.get({endpoint:t});return nt.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new Gt(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 Gt(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]=L(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Ae extends(Ct(Bt).with($t,qt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new Zt(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new te(e,t);return await this._update(s,i.toCleanObject())}}class je extends(Ct(Bt).with($t,Kt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new ee(t,e),i=await this._create(s.toObject());if(!i.success)throw new p;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 xe extends(Ct(Bt).with(Mt,qt,Dt)){constructor(t){super("users",Z,t)}async update({userId:t="me",...e}){const s=new re(e);return await this._update(t,s.toCleanObject())}}class Ie extends(Ct(Bt).with($t,qt)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new ae({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new ne({code:t});return await this._update(e,s.toObject())}}class ke extends(Ct(Bt).with($t,Mt,Dt)){constructor(t){super("wallet_transactions",G,t)}async create(t,e,s){const i=new ce(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get(t);return Nt(`${e}`,s)}}class Te extends(Ct(Bt).with(Mt,Dt)){constructor(t){super("whatsapp_transfers",V,t)}async accountDestination(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get(t);return Nt(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=C.Sandbox}={}){this.client=new at({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new Vt(t),this.apiKeys=new oe(t),this.balanceEntries=new de(t),this.billPayments=new ue(t),this.cardActivations=new he(t),this.cards=new pe(t),this.cardTransactions=new le(t),this.cardValidations=new me(t),this.commissions=new fe(t),this.deposits=new we(t),this.identities=new _e(t),this.loginTokens=new ve(t),this.savings=new be(t),this.serviceProviders=new ye(t),this.statements=new ge(t),this.transfers=new Oe(t),this.userCredentials=new Ae(t),this.userLogins=new je(t),this.users=new xe(t),this.verifications=new Ie(t),this.walletTransactions=new ke(t),this.whatsAppTransfers=new Te(t)}}}));
|
package/build/{walletTransactionRequest-63cd40ad.mjs → walletTransactionRequest-3ab2bc85.mjs}
RENAMED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ValidationError } from './errors/index.mjs';
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
2
3
|
import { d as dateToUTC, e as enumValueFromString, V as VerificationType } from './data-69952249.mjs';
|
|
3
4
|
|
|
4
5
|
class BaseRequest {
|
|
@@ -307,6 +308,98 @@ class CardValidationRequest extends BaseRequest {
|
|
|
307
308
|
}
|
|
308
309
|
}
|
|
309
310
|
|
|
311
|
+
const requires = createRequire(import.meta.url);
|
|
312
|
+
const FormData = requires('form-data');
|
|
313
|
+
|
|
314
|
+
class IdentitiesUploadRequest extends BaseRequest {
|
|
315
|
+
constructor({
|
|
316
|
+
address,
|
|
317
|
+
blacklistValidationStatus,
|
|
318
|
+
countryOfBirth,
|
|
319
|
+
createdAt,
|
|
320
|
+
curp,
|
|
321
|
+
dateOfBirth,
|
|
322
|
+
extension,
|
|
323
|
+
firstSurname,
|
|
324
|
+
gender,
|
|
325
|
+
govId,
|
|
326
|
+
id,
|
|
327
|
+
names,
|
|
328
|
+
nationality,
|
|
329
|
+
proofOfAddress,
|
|
330
|
+
proofOfLife,
|
|
331
|
+
rfc,
|
|
332
|
+
rfcDocument,
|
|
333
|
+
rfcFile,
|
|
334
|
+
secondSurname,
|
|
335
|
+
stateOfBirth,
|
|
336
|
+
status,
|
|
337
|
+
tosAgreement,
|
|
338
|
+
userId,
|
|
339
|
+
}) {
|
|
340
|
+
super();
|
|
341
|
+
this.address = address;
|
|
342
|
+
this.blacklistValidationStatus = blacklistValidationStatus;
|
|
343
|
+
this.countryOfBirth = countryOfBirth;
|
|
344
|
+
this.createdAt = createdAt;
|
|
345
|
+
this.curp = curp;
|
|
346
|
+
this.dateOfBirth = dateOfBirth;
|
|
347
|
+
this.extension = extension;
|
|
348
|
+
this.firstSurname = firstSurname;
|
|
349
|
+
this.gender = gender;
|
|
350
|
+
this.govId = govId;
|
|
351
|
+
this.id = id;
|
|
352
|
+
this.names = names;
|
|
353
|
+
this.nationality = nationality;
|
|
354
|
+
this.proofOfAddress = proofOfAddress;
|
|
355
|
+
this.proofOfLife = proofOfLife;
|
|
356
|
+
this.rfc = rfc;
|
|
357
|
+
this.rfcDocument = rfcDocument;
|
|
358
|
+
this.rfcFile = rfcFile;
|
|
359
|
+
this.secondSurname = secondSurname;
|
|
360
|
+
this.stateOfBirth = stateOfBirth;
|
|
361
|
+
this.status = status;
|
|
362
|
+
this.tosAgreement = tosAgreement;
|
|
363
|
+
this.userId = userId;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
toObject() {
|
|
367
|
+
return {
|
|
368
|
+
address: this.address,
|
|
369
|
+
blacklist_validation_status: this.blacklistValidationStatus,
|
|
370
|
+
country_of_birth: this.countryOfBirth,
|
|
371
|
+
created_at: this.createdAt,
|
|
372
|
+
curp: this.curp,
|
|
373
|
+
date_of_birth: this.dateOfBirth,
|
|
374
|
+
extension: this.extension,
|
|
375
|
+
first_surname: this.first_surname,
|
|
376
|
+
gender: this.gender,
|
|
377
|
+
gov_id: this.govId,
|
|
378
|
+
id: this.id,
|
|
379
|
+
names: this.names,
|
|
380
|
+
nationality: this.nationality,
|
|
381
|
+
proof_of_address: this.proofOfAddress,
|
|
382
|
+
proof_of_life: this.proofOfLife,
|
|
383
|
+
rfc: this.rfc,
|
|
384
|
+
rfc_document: this.rfcDocument,
|
|
385
|
+
rfc_file: this.rfcFile,
|
|
386
|
+
second_surname: this.secondSurname,
|
|
387
|
+
state_of_birth: this.stateOfBirth,
|
|
388
|
+
status: this.status,
|
|
389
|
+
tos_agreement: this.tosAgreement,
|
|
390
|
+
user_id: this.userId,
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
toFormData() {
|
|
395
|
+
const form = new FormData();
|
|
396
|
+
form.append('user_id', this.userId);
|
|
397
|
+
form.append('extension', this.extension);
|
|
398
|
+
form.append('rfc_file', this.rfcFile);
|
|
399
|
+
return form;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
|
|
310
403
|
class SavingRequest extends BaseRequest {
|
|
311
404
|
constructor(category, goalAmount, goalDate, name) {
|
|
312
405
|
super();
|
|
@@ -537,7 +630,7 @@ class AddressUpdateRequest extends BaseRequest {
|
|
|
537
630
|
class UserUpdateRequest extends BaseRequest {
|
|
538
631
|
constructor({ address, profession, termsOfService, verificationId }) {
|
|
539
632
|
super();
|
|
540
|
-
this.adrs =
|
|
633
|
+
this.adrs = address;
|
|
541
634
|
this.profession = profession;
|
|
542
635
|
this.terms = termsOfService;
|
|
543
636
|
this.verificationId = verificationId;
|
|
@@ -651,4 +744,4 @@ class WalletTransactionRequest extends BaseRequest {
|
|
|
651
744
|
}
|
|
652
745
|
}
|
|
653
746
|
|
|
654
|
-
export { ApiKeyUpdateRequest as A, CardActivationRequest as C, SavingRequest as S, TransferRequest as T, UserCredentialRequest as U, VerificationRequest as V, WalletTransactionRequest as W, ArpcRequest as a, CardRequest as b, CardUpdateRequest as c, CardValidationRequest as d, UserCredentialUpdateRequest as e, UserLoginRequest as f, UserUpdateRequest as g, VerificationAttemptRequest as h };
|
|
747
|
+
export { ApiKeyUpdateRequest as A, CardActivationRequest as C, IdentitiesUploadRequest as I, SavingRequest as S, TransferRequest as T, UserCredentialRequest as U, VerificationRequest as V, WalletTransactionRequest as W, ArpcRequest as a, CardRequest as b, CardUpdateRequest as c, CardValidationRequest as d, UserCredentialUpdateRequest as e, UserLoginRequest as f, UserUpdateRequest as g, VerificationAttemptRequest as h };
|
package/build/{walletTransactionRequest-bb31f865.cjs → walletTransactionRequest-d055d934.cjs}
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var errors_index = require('./errors/index.cjs');
|
|
4
|
+
var node_module = require('node:module');
|
|
4
5
|
var data = require('./data-efb53250.cjs');
|
|
5
6
|
|
|
6
7
|
class BaseRequest {
|
|
@@ -309,6 +310,98 @@ class CardValidationRequest extends BaseRequest {
|
|
|
309
310
|
}
|
|
310
311
|
}
|
|
311
312
|
|
|
313
|
+
const requires = node_module.createRequire((typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('walletTransactionRequest-d055d934.cjs', document.baseURI).href)));
|
|
314
|
+
const FormData = requires('form-data');
|
|
315
|
+
|
|
316
|
+
class IdentitiesUploadRequest extends BaseRequest {
|
|
317
|
+
constructor({
|
|
318
|
+
address,
|
|
319
|
+
blacklistValidationStatus,
|
|
320
|
+
countryOfBirth,
|
|
321
|
+
createdAt,
|
|
322
|
+
curp,
|
|
323
|
+
dateOfBirth,
|
|
324
|
+
extension,
|
|
325
|
+
firstSurname,
|
|
326
|
+
gender,
|
|
327
|
+
govId,
|
|
328
|
+
id,
|
|
329
|
+
names,
|
|
330
|
+
nationality,
|
|
331
|
+
proofOfAddress,
|
|
332
|
+
proofOfLife,
|
|
333
|
+
rfc,
|
|
334
|
+
rfcDocument,
|
|
335
|
+
rfcFile,
|
|
336
|
+
secondSurname,
|
|
337
|
+
stateOfBirth,
|
|
338
|
+
status,
|
|
339
|
+
tosAgreement,
|
|
340
|
+
userId,
|
|
341
|
+
}) {
|
|
342
|
+
super();
|
|
343
|
+
this.address = address;
|
|
344
|
+
this.blacklistValidationStatus = blacklistValidationStatus;
|
|
345
|
+
this.countryOfBirth = countryOfBirth;
|
|
346
|
+
this.createdAt = createdAt;
|
|
347
|
+
this.curp = curp;
|
|
348
|
+
this.dateOfBirth = dateOfBirth;
|
|
349
|
+
this.extension = extension;
|
|
350
|
+
this.firstSurname = firstSurname;
|
|
351
|
+
this.gender = gender;
|
|
352
|
+
this.govId = govId;
|
|
353
|
+
this.id = id;
|
|
354
|
+
this.names = names;
|
|
355
|
+
this.nationality = nationality;
|
|
356
|
+
this.proofOfAddress = proofOfAddress;
|
|
357
|
+
this.proofOfLife = proofOfLife;
|
|
358
|
+
this.rfc = rfc;
|
|
359
|
+
this.rfcDocument = rfcDocument;
|
|
360
|
+
this.rfcFile = rfcFile;
|
|
361
|
+
this.secondSurname = secondSurname;
|
|
362
|
+
this.stateOfBirth = stateOfBirth;
|
|
363
|
+
this.status = status;
|
|
364
|
+
this.tosAgreement = tosAgreement;
|
|
365
|
+
this.userId = userId;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
toObject() {
|
|
369
|
+
return {
|
|
370
|
+
address: this.address,
|
|
371
|
+
blacklist_validation_status: this.blacklistValidationStatus,
|
|
372
|
+
country_of_birth: this.countryOfBirth,
|
|
373
|
+
created_at: this.createdAt,
|
|
374
|
+
curp: this.curp,
|
|
375
|
+
date_of_birth: this.dateOfBirth,
|
|
376
|
+
extension: this.extension,
|
|
377
|
+
first_surname: this.first_surname,
|
|
378
|
+
gender: this.gender,
|
|
379
|
+
gov_id: this.govId,
|
|
380
|
+
id: this.id,
|
|
381
|
+
names: this.names,
|
|
382
|
+
nationality: this.nationality,
|
|
383
|
+
proof_of_address: this.proofOfAddress,
|
|
384
|
+
proof_of_life: this.proofOfLife,
|
|
385
|
+
rfc: this.rfc,
|
|
386
|
+
rfc_document: this.rfcDocument,
|
|
387
|
+
rfc_file: this.rfcFile,
|
|
388
|
+
second_surname: this.secondSurname,
|
|
389
|
+
state_of_birth: this.stateOfBirth,
|
|
390
|
+
status: this.status,
|
|
391
|
+
tos_agreement: this.tosAgreement,
|
|
392
|
+
user_id: this.userId,
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
toFormData() {
|
|
397
|
+
const form = new FormData();
|
|
398
|
+
form.append('user_id', this.userId);
|
|
399
|
+
form.append('extension', this.extension);
|
|
400
|
+
form.append('rfc_file', this.rfcFile);
|
|
401
|
+
return form;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
|
|
312
405
|
class SavingRequest extends BaseRequest {
|
|
313
406
|
constructor(category, goalAmount, goalDate, name) {
|
|
314
407
|
super();
|
|
@@ -539,7 +632,7 @@ class AddressUpdateRequest extends BaseRequest {
|
|
|
539
632
|
class UserUpdateRequest extends BaseRequest {
|
|
540
633
|
constructor({ address, profession, termsOfService, verificationId }) {
|
|
541
634
|
super();
|
|
542
|
-
this.adrs =
|
|
635
|
+
this.adrs = address;
|
|
543
636
|
this.profession = profession;
|
|
544
637
|
this.terms = termsOfService;
|
|
545
638
|
this.verificationId = verificationId;
|
|
@@ -659,6 +752,7 @@ exports.CardActivationRequest = CardActivationRequest;
|
|
|
659
752
|
exports.CardRequest = CardRequest;
|
|
660
753
|
exports.CardUpdateRequest = CardUpdateRequest;
|
|
661
754
|
exports.CardValidationRequest = CardValidationRequest;
|
|
755
|
+
exports.IdentitiesUploadRequest = IdentitiesUploadRequest;
|
|
662
756
|
exports.SavingRequest = SavingRequest;
|
|
663
757
|
exports.TransferRequest = TransferRequest;
|
|
664
758
|
exports.UserCredentialRequest = UserCredentialRequest;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cuenca-mx/cuenca-js",
|
|
3
|
-
"version": "0.0.3-dev.
|
|
3
|
+
"version": "0.0.3-dev.3",
|
|
4
4
|
"description": "Cuenca client for JS",
|
|
5
5
|
"main": "./build/index.cjs",
|
|
6
6
|
"module": "./build/index.mjs",
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"axios": "^0.24.0",
|
|
62
|
-
"buffer": "^6.0.3"
|
|
62
|
+
"buffer": "^6.0.3",
|
|
63
|
+
"form-data": "^4.0.0"
|
|
63
64
|
}
|
|
64
65
|
}
|