@cuenca-mx/cuenca-js 0.0.3-dev.9 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -42,7 +42,7 @@ To start using the library, the client must be configured with your credentials.
42
42
  import { Phase } from '@cuenca-mx/cuenca-js/types';
43
43
 
44
44
  const cuenca = new Client();
45
- // The method will require await if `useJwt` is setted to `true`
45
+ // The method will require await if `useJwt` is set to `true`
46
46
  // because a request is made to Cuenca to create the JWT.
47
47
  await cuenca.client.configure({
48
48
  apiKey: 'SOME_API_KEY',
package/build/index.cjs CHANGED
@@ -8,7 +8,7 @@ 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-d7202df1.cjs');
11
+ var walletTransactionRequest = require('./walletTransactionRequest-029d9769.cjs');
12
12
 
13
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
14
 
@@ -26,7 +26,7 @@ const isNode =
26
26
 
27
27
  const runtimeEnv = { isBrowser, isNode };
28
28
 
29
- const name="@cuenca-mx/cuenca-js";const version="0.0.3-dev.9";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.27.2",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};
29
+ const name="@cuenca-mx/cuenca-js";const version="0.0.4";const description="Cuenca client for JS";const main="./build/index.cjs";const module$1="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports$1={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module$1,browser:browser,files:files,exports:exports$1,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
30
30
 
31
31
  class Client {
32
32
  constructor({
@@ -40,7 +40,7 @@ class Client {
40
40
  this.jwtToken = null;
41
41
  this._session = axios__default["default"].create({
42
42
  headers: { 'Accept-Language': language },
43
- timeout: 0,
43
+ timeout: 45000,
44
44
  });
45
45
  }
46
46
 
@@ -133,8 +133,8 @@ class Client {
133
133
  return this.request({ endpoint, format, params });
134
134
  }
135
135
 
136
- async post({ endpoint, data, multipart }) {
137
- return this.request({ method: 'POST', endpoint, data, multipart });
136
+ async post({ endpoint, data }) {
137
+ return this.request({ method: 'POST', endpoint, data });
138
138
  }
139
139
 
140
140
  async patch({ endpoint, data }) {
@@ -150,20 +150,12 @@ class Client {
150
150
  data: data$1 = null,
151
151
  format = data.FileFormat.Json,
152
152
  method = 'GET',
153
- multipart = false,
154
153
  params = null,
155
154
  }) {
156
- let headers;
157
- if (multipart) {
158
- headers = {
159
- 'Content-Type': 'multipart/form-data',
160
- };
161
- } else {
162
- headers = {
163
- 'Content-Type': 'application/json',
164
- Accept: `application/${format.value}`,
165
- };
166
- }
155
+ const headers = {
156
+ 'Content-Type': 'application/json',
157
+ Accept: `application/${format.value}`,
158
+ };
167
159
 
168
160
  if (this.authHeader) {
169
161
  headers.Authorization = this.authHeader;
@@ -636,96 +628,6 @@ class Deposit extends Transaction {
636
628
  });
637
629
  }
638
630
 
639
- class Identities {
640
- constructor({
641
- address,
642
- blacklistValidationStatus,
643
- countryOfBirth,
644
- createdAt,
645
- curp,
646
- dateOfBirth,
647
- extension,
648
- firstSurname,
649
- gender,
650
- govId,
651
- id,
652
- names,
653
- nationality,
654
- proofOfAddress,
655
- proofOfLife,
656
- rfc,
657
- rfcDocument,
658
- rfcFile,
659
- secondSurname,
660
- stateOfBirth,
661
- status,
662
- tosAgreement,
663
- userId,
664
- }) {
665
- this.address = address;
666
- this.blacklistValidationStatus = blacklistValidationStatus;
667
- this.countryOfBirth = countryOfBirth;
668
- this.createdAt = createdAt;
669
- this.curp = curp;
670
- this.dateOfBirth = dateOfBirth;
671
- this.extension = extension;
672
- this.firstSurname = firstSurname;
673
- this.gender = gender;
674
- this.govId = govId;
675
- this.id = id;
676
- this.names = names;
677
- this.nationality = nationality;
678
- this.proofOfAddress = proofOfAddress;
679
- this.proofOfLife = proofOfLife;
680
- this.rfc = rfc;
681
- this.rfcDocument = rfcDocument;
682
- this.rfcFile = rfcFile;
683
- this.secondSurname = secondSurname;
684
- this.stateOfBirth = stateOfBirth;
685
- this.status = status;
686
- this.tosAgreement = tosAgreement;
687
- this.userId = userId;
688
- }
689
-
690
- static fromObject = ({
691
- address,
692
- curp,
693
- extension,
694
- gender,
695
- id,
696
- names,
697
- nationality,
698
- rfc,
699
- status,
700
- ...obj
701
- }) =>
702
- new Identities({
703
- address,
704
- curp,
705
- extension,
706
- gender,
707
- id,
708
- names,
709
- nationality,
710
- rfc,
711
- status,
712
- blacklistValidationStatus: obj.blacklist_validation_status,
713
- countryOfBirth: obj.country_of_birth,
714
- createdAt: obj.created_at,
715
- dateOfBirth: obj.date_of_birth,
716
- firstSurname: obj.first_surname,
717
- govId: obj.gov_id,
718
- proofOfAddress: obj.proof_of_address,
719
- proofOfLife: obj.proof_of_life,
720
- rfcDocument: obj.rfc_document,
721
- rfcFile: obj.rfc_file,
722
- secondSurname: obj.second_surname,
723
- stateOfBirth: obj.state_of_birth,
724
- tosAgreement: obj.tos_agreement,
725
- userId: obj.user_id,
726
- });
727
- }
728
-
729
631
  class LoginToken {
730
632
  constructor({ id }) {
731
633
  this.id = id;
@@ -883,22 +785,22 @@ class User {
883
785
  constructor({
884
786
  emailAddress,
885
787
  govtId,
886
- identityUri,
887
788
  level,
888
789
  phoneNumber,
889
790
  proofOfAddress,
890
791
  proofOfLife,
792
+ requiredLevel,
891
793
  status,
892
794
  termsOfService,
893
795
  verificationId,
894
796
  }) {
895
797
  this.emailAddress = emailAddress;
896
798
  this.govstIds = govtId;
897
- this.identityUri = identityUri;
898
799
  this.level = level;
899
800
  this.phoneNumber = phoneNumber;
900
801
  this.addressProofs = proofOfAddress;
901
802
  this.lifeProofs = proofOfLife;
803
+ this.requiredLevel = requiredLevel;
902
804
  this.status = data.enumValueFromString(data.UserStatus, status);
903
805
  this.terms = termsOfService;
904
806
  this.verificationId = verificationId;
@@ -945,11 +847,11 @@ class User {
945
847
  level,
946
848
  status,
947
849
  govtId: obj.govt_id,
948
- identityUri: obj.identity_uri,
949
850
  emailAddress: obj.email_address,
950
851
  phoneNumber: obj.phone_number,
951
852
  proofOfAddress: obj.proof_of_address,
952
853
  proofOfLife: obj.proof_of_life,
854
+ requiredLevel: obj.required_level,
953
855
  termsOfService: obj.terms_of_service,
954
856
  verificationId: obj.verification_id,
955
857
  });
@@ -1126,7 +1028,6 @@ const getModelFromPath = (path, obj) => {
1126
1028
  card_validations: () => CardValidation.fromObject(obj),
1127
1029
  commissions: () => Commission.fromObject(obj),
1128
1030
  deposits: () => Deposit.fromObject(obj),
1129
- identities: () => Identities.fromObject(obj),
1130
1031
  login_tokens: () => LoginToken.fromObject(obj),
1131
1032
  savings: () => Saving.fromObject(obj),
1132
1033
  service_providers: () => ServiceProvider.fromObject(obj),
@@ -1192,19 +1093,6 @@ const Updateable = (SuperClass) =>
1192
1093
  }
1193
1094
  };
1194
1095
 
1195
- const Uploadable = (SuperClass) =>
1196
- class Uploadable extends SuperClass {
1197
- async _upload(data) {
1198
- const response = await this.client.post({
1199
- data,
1200
- endpoint: `/${this.path}`,
1201
- multipart: true,
1202
- });
1203
- const model = getModelFromPath(this.path, response);
1204
- return model;
1205
- }
1206
- };
1207
-
1208
1096
  const Deactivable = (SuperClass) =>
1209
1097
  class Deactivable extends SuperClass {
1210
1098
  async _deactivate(id, data) {
@@ -1517,19 +1405,6 @@ class DepositResource extends mix(Resource).with(Queryable, Retrievable) {
1517
1405
  }
1518
1406
  }
1519
1407
 
1520
- class IdentitiesResource extends mix(Resource).with(Uploadable) {
1521
- constructor(client) {
1522
- super('identities', Object, client);
1523
- }
1524
-
1525
- async upload(data) {
1526
- // Se comenta para después hacer corregir el issue.
1527
- // const request = new IdentitiesUploadRequest({ extension, rfcFile, userId });
1528
- const identities = await this._upload(data);
1529
- return identities;
1530
- }
1531
- }
1532
-
1533
1408
  class LoginTokenResource extends mix(Resource).with(Creatable) {
1534
1409
  constructor(client) {
1535
1410
  super('login_tokens', Object, client);
@@ -1822,7 +1697,6 @@ class Cuenca {
1822
1697
  this.cardValidations = new CardValidationResource(client);
1823
1698
  this.commissions = new CommissionResource(client);
1824
1699
  this.deposits = new DepositResource(client);
1825
- this.identities = new IdentitiesResource(client);
1826
1700
  this.loginTokens = new LoginTokenResource(client);
1827
1701
  this.savings = new SavingResource(client);
1828
1702
  this.serviceProviders = new ServiceProviderResource(client);
package/build/index.mjs CHANGED
@@ -4,7 +4,7 @@ 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-07f896cf.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-80c4c0ca.mjs';
8
8
 
9
9
  /* global window */
10
10
 
@@ -17,7 +17,7 @@ const isNode =
17
17
 
18
18
  const runtimeEnv = { isBrowser, isNode };
19
19
 
20
- const name="@cuenca-mx/cuenca-js";const version="0.0.3-dev.9";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.27.2",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};
20
+ const name="@cuenca-mx/cuenca-js";const version="0.0.4";const description="Cuenca client for JS";const main="./build/index.cjs";const module="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module,browser:browser,files:files,exports:exports,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
21
21
 
22
22
  class Client {
23
23
  constructor({
@@ -31,7 +31,7 @@ class Client {
31
31
  this.jwtToken = null;
32
32
  this._session = axios.create({
33
33
  headers: { 'Accept-Language': language },
34
- timeout: 0,
34
+ timeout: 45000,
35
35
  });
36
36
  }
37
37
 
@@ -124,8 +124,8 @@ class Client {
124
124
  return this.request({ endpoint, format, params });
125
125
  }
126
126
 
127
- async post({ endpoint, data, multipart }) {
128
- return this.request({ method: 'POST', endpoint, data, multipart });
127
+ async post({ endpoint, data }) {
128
+ return this.request({ method: 'POST', endpoint, data });
129
129
  }
130
130
 
131
131
  async patch({ endpoint, data }) {
@@ -141,20 +141,12 @@ class Client {
141
141
  data = null,
142
142
  format = FileFormat.Json,
143
143
  method = 'GET',
144
- multipart = false,
145
144
  params = null,
146
145
  }) {
147
- let headers;
148
- if (multipart) {
149
- headers = {
150
- 'Content-Type': 'multipart/form-data',
151
- };
152
- } else {
153
- headers = {
154
- 'Content-Type': 'application/json',
155
- Accept: `application/${format.value}`,
156
- };
157
- }
146
+ const headers = {
147
+ 'Content-Type': 'application/json',
148
+ Accept: `application/${format.value}`,
149
+ };
158
150
 
159
151
  if (this.authHeader) {
160
152
  headers.Authorization = this.authHeader;
@@ -627,96 +619,6 @@ class Deposit extends Transaction {
627
619
  });
628
620
  }
629
621
 
630
- class Identities {
631
- constructor({
632
- address,
633
- blacklistValidationStatus,
634
- countryOfBirth,
635
- createdAt,
636
- curp,
637
- dateOfBirth,
638
- extension,
639
- firstSurname,
640
- gender,
641
- govId,
642
- id,
643
- names,
644
- nationality,
645
- proofOfAddress,
646
- proofOfLife,
647
- rfc,
648
- rfcDocument,
649
- rfcFile,
650
- secondSurname,
651
- stateOfBirth,
652
- status,
653
- tosAgreement,
654
- userId,
655
- }) {
656
- this.address = address;
657
- this.blacklistValidationStatus = blacklistValidationStatus;
658
- this.countryOfBirth = countryOfBirth;
659
- this.createdAt = createdAt;
660
- this.curp = curp;
661
- this.dateOfBirth = dateOfBirth;
662
- this.extension = extension;
663
- this.firstSurname = firstSurname;
664
- this.gender = gender;
665
- this.govId = govId;
666
- this.id = id;
667
- this.names = names;
668
- this.nationality = nationality;
669
- this.proofOfAddress = proofOfAddress;
670
- this.proofOfLife = proofOfLife;
671
- this.rfc = rfc;
672
- this.rfcDocument = rfcDocument;
673
- this.rfcFile = rfcFile;
674
- this.secondSurname = secondSurname;
675
- this.stateOfBirth = stateOfBirth;
676
- this.status = status;
677
- this.tosAgreement = tosAgreement;
678
- this.userId = userId;
679
- }
680
-
681
- static fromObject = ({
682
- address,
683
- curp,
684
- extension,
685
- gender,
686
- id,
687
- names,
688
- nationality,
689
- rfc,
690
- status,
691
- ...obj
692
- }) =>
693
- new Identities({
694
- address,
695
- curp,
696
- extension,
697
- gender,
698
- id,
699
- names,
700
- nationality,
701
- rfc,
702
- status,
703
- blacklistValidationStatus: obj.blacklist_validation_status,
704
- countryOfBirth: obj.country_of_birth,
705
- createdAt: obj.created_at,
706
- dateOfBirth: obj.date_of_birth,
707
- firstSurname: obj.first_surname,
708
- govId: obj.gov_id,
709
- proofOfAddress: obj.proof_of_address,
710
- proofOfLife: obj.proof_of_life,
711
- rfcDocument: obj.rfc_document,
712
- rfcFile: obj.rfc_file,
713
- secondSurname: obj.second_surname,
714
- stateOfBirth: obj.state_of_birth,
715
- tosAgreement: obj.tos_agreement,
716
- userId: obj.user_id,
717
- });
718
- }
719
-
720
622
  class LoginToken {
721
623
  constructor({ id }) {
722
624
  this.id = id;
@@ -874,22 +776,22 @@ class User {
874
776
  constructor({
875
777
  emailAddress,
876
778
  govtId,
877
- identityUri,
878
779
  level,
879
780
  phoneNumber,
880
781
  proofOfAddress,
881
782
  proofOfLife,
783
+ requiredLevel,
882
784
  status,
883
785
  termsOfService,
884
786
  verificationId,
885
787
  }) {
886
788
  this.emailAddress = emailAddress;
887
789
  this.govstIds = govtId;
888
- this.identityUri = identityUri;
889
790
  this.level = level;
890
791
  this.phoneNumber = phoneNumber;
891
792
  this.addressProofs = proofOfAddress;
892
793
  this.lifeProofs = proofOfLife;
794
+ this.requiredLevel = requiredLevel;
893
795
  this.status = enumValueFromString(UserStatus, status);
894
796
  this.terms = termsOfService;
895
797
  this.verificationId = verificationId;
@@ -936,11 +838,11 @@ class User {
936
838
  level,
937
839
  status,
938
840
  govtId: obj.govt_id,
939
- identityUri: obj.identity_uri,
940
841
  emailAddress: obj.email_address,
941
842
  phoneNumber: obj.phone_number,
942
843
  proofOfAddress: obj.proof_of_address,
943
844
  proofOfLife: obj.proof_of_life,
845
+ requiredLevel: obj.required_level,
944
846
  termsOfService: obj.terms_of_service,
945
847
  verificationId: obj.verification_id,
946
848
  });
@@ -1117,7 +1019,6 @@ const getModelFromPath = (path, obj) => {
1117
1019
  card_validations: () => CardValidation.fromObject(obj),
1118
1020
  commissions: () => Commission.fromObject(obj),
1119
1021
  deposits: () => Deposit.fromObject(obj),
1120
- identities: () => Identities.fromObject(obj),
1121
1022
  login_tokens: () => LoginToken.fromObject(obj),
1122
1023
  savings: () => Saving.fromObject(obj),
1123
1024
  service_providers: () => ServiceProvider.fromObject(obj),
@@ -1183,19 +1084,6 @@ const Updateable = (SuperClass) =>
1183
1084
  }
1184
1085
  };
1185
1086
 
1186
- const Uploadable = (SuperClass) =>
1187
- class Uploadable extends SuperClass {
1188
- async _upload(data) {
1189
- const response = await this.client.post({
1190
- data,
1191
- endpoint: `/${this.path}`,
1192
- multipart: true,
1193
- });
1194
- const model = getModelFromPath(this.path, response);
1195
- return model;
1196
- }
1197
- };
1198
-
1199
1087
  const Deactivable = (SuperClass) =>
1200
1088
  class Deactivable extends SuperClass {
1201
1089
  async _deactivate(id, data) {
@@ -1508,19 +1396,6 @@ class DepositResource extends mix(Resource).with(Queryable, Retrievable) {
1508
1396
  }
1509
1397
  }
1510
1398
 
1511
- class IdentitiesResource extends mix(Resource).with(Uploadable) {
1512
- constructor(client) {
1513
- super('identities', Object, client);
1514
- }
1515
-
1516
- async upload(data) {
1517
- // Se comenta para después hacer corregir el issue.
1518
- // const request = new IdentitiesUploadRequest({ extension, rfcFile, userId });
1519
- const identities = await this._upload(data);
1520
- return identities;
1521
- }
1522
- }
1523
-
1524
1399
  class LoginTokenResource extends mix(Resource).with(Creatable) {
1525
1400
  constructor(client) {
1526
1401
  super('login_tokens', Object, client);
@@ -1813,7 +1688,6 @@ class Cuenca {
1813
1688
  this.cardValidations = new CardValidationResource(client);
1814
1689
  this.commissions = new CommissionResource(client);
1815
1690
  this.deposits = new DepositResource(client);
1816
- this.identities = new IdentitiesResource(client);
1817
1691
  this.loginTokens = new LoginTokenResource(client);
1818
1692
  this.savings = new SavingResource(client);
1819
1693
  this.serviceProviders = new ServiceProviderResource(client);
@@ -2,99 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var walletTransactionRequest = require('../walletTransactionRequest-d7202df1.cjs');
5
+ var walletTransactionRequest = require('../walletTransactionRequest-029d9769.cjs');
6
6
  require('../errors/index.cjs');
7
7
  require('../data-efb53250.cjs');
8
8
 
9
- class IdentitiesUploadRequest extends walletTransactionRequest.BaseRequest {
10
- constructor({
11
- address,
12
- blacklistValidationStatus,
13
- countryOfBirth,
14
- createdAt,
15
- curp,
16
- dateOfBirth,
17
- extension,
18
- firstSurname,
19
- gender,
20
- govId,
21
- id,
22
- names,
23
- nationality,
24
- proofOfAddress,
25
- proofOfLife,
26
- rfc,
27
- rfcDocument,
28
- rfcFile,
29
- secondSurname,
30
- stateOfBirth,
31
- status,
32
- tosAgreement,
33
- userId,
34
- }) {
35
- super();
36
- this.address = address;
37
- this.blacklistValidationStatus = blacklistValidationStatus;
38
- this.countryOfBirth = countryOfBirth;
39
- this.createdAt = createdAt;
40
- this.curp = curp;
41
- this.dateOfBirth = dateOfBirth;
42
- this.extension = extension;
43
- this.firstSurname = firstSurname;
44
- this.gender = gender;
45
- this.govId = govId;
46
- this.id = id;
47
- this.names = names;
48
- this.nationality = nationality;
49
- this.proofOfAddress = proofOfAddress;
50
- this.proofOfLife = proofOfLife;
51
- this.rfc = rfc;
52
- this.rfcDocument = rfcDocument;
53
- this.rfcFile = rfcFile;
54
- this.secondSurname = secondSurname;
55
- this.stateOfBirth = stateOfBirth;
56
- this.status = status;
57
- this.tosAgreement = tosAgreement;
58
- this.userId = userId;
59
- }
60
9
 
61
- toObject() {
62
- return {
63
- address: this.address,
64
- blacklist_validation_status: this.blacklistValidationStatus,
65
- country_of_birth: this.countryOfBirth,
66
- created_at: this.createdAt,
67
- curp: this.curp,
68
- date_of_birth: this.dateOfBirth,
69
- extension: this.extension,
70
- first_surname: this.first_surname,
71
- gender: this.gender,
72
- gov_id: this.govId,
73
- id: this.id,
74
- names: this.names,
75
- nationality: this.nationality,
76
- proof_of_address: this.proofOfAddress,
77
- proof_of_life: this.proofOfLife,
78
- rfc: this.rfc,
79
- rfc_document: this.rfcDocument,
80
- rfc_file: this.rfcFile,
81
- second_surname: this.secondSurname,
82
- state_of_birth: this.stateOfBirth,
83
- status: this.status,
84
- tos_agreement: this.tosAgreement,
85
- user_id: this.userId,
86
- };
87
- }
88
- /* Se hará el issue para corregir esto.
89
- toFormData() {
90
- const form = new FormData();
91
- form.append('user_id', this.userId);
92
- form.append('extension', this.extension);
93
- form.append('rfc_file', this.rfcFile);
94
- return form;
95
- }
96
- */
97
- }
98
10
 
99
11
  exports.ApiKeyUpdateRequest = walletTransactionRequest.ApiKeyUpdateRequest;
100
12
  exports.ArpcRequest = walletTransactionRequest.ArpcRequest;
@@ -111,4 +23,3 @@ exports.UserUpdateRequest = walletTransactionRequest.UserUpdateRequest;
111
23
  exports.VerificationAttemptRequest = walletTransactionRequest.VerificationAttemptRequest;
112
24
  exports.VerificationRequest = walletTransactionRequest.VerificationRequest;
113
25
  exports.WalletTransactionRequest = walletTransactionRequest.WalletTransactionRequest;
114
- exports.IdentitiesUploadRequest = IdentitiesUploadRequest;
@@ -1,96 +1,3 @@
1
- import { B as BaseRequest } from '../walletTransactionRequest-07f896cf.mjs';
2
- 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-07f896cf.mjs';
1
+ export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, S as SavingRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, h as VerificationAttemptRequest, V as VerificationRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-80c4c0ca.mjs';
3
2
  import '../errors/index.mjs';
4
3
  import '../data-69952249.mjs';
5
-
6
- class IdentitiesUploadRequest extends BaseRequest {
7
- constructor({
8
- address,
9
- blacklistValidationStatus,
10
- countryOfBirth,
11
- createdAt,
12
- curp,
13
- dateOfBirth,
14
- extension,
15
- firstSurname,
16
- gender,
17
- govId,
18
- id,
19
- names,
20
- nationality,
21
- proofOfAddress,
22
- proofOfLife,
23
- rfc,
24
- rfcDocument,
25
- rfcFile,
26
- secondSurname,
27
- stateOfBirth,
28
- status,
29
- tosAgreement,
30
- userId,
31
- }) {
32
- super();
33
- this.address = address;
34
- this.blacklistValidationStatus = blacklistValidationStatus;
35
- this.countryOfBirth = countryOfBirth;
36
- this.createdAt = createdAt;
37
- this.curp = curp;
38
- this.dateOfBirth = dateOfBirth;
39
- this.extension = extension;
40
- this.firstSurname = firstSurname;
41
- this.gender = gender;
42
- this.govId = govId;
43
- this.id = id;
44
- this.names = names;
45
- this.nationality = nationality;
46
- this.proofOfAddress = proofOfAddress;
47
- this.proofOfLife = proofOfLife;
48
- this.rfc = rfc;
49
- this.rfcDocument = rfcDocument;
50
- this.rfcFile = rfcFile;
51
- this.secondSurname = secondSurname;
52
- this.stateOfBirth = stateOfBirth;
53
- this.status = status;
54
- this.tosAgreement = tosAgreement;
55
- this.userId = userId;
56
- }
57
-
58
- toObject() {
59
- return {
60
- address: this.address,
61
- blacklist_validation_status: this.blacklistValidationStatus,
62
- country_of_birth: this.countryOfBirth,
63
- created_at: this.createdAt,
64
- curp: this.curp,
65
- date_of_birth: this.dateOfBirth,
66
- extension: this.extension,
67
- first_surname: this.first_surname,
68
- gender: this.gender,
69
- gov_id: this.govId,
70
- id: this.id,
71
- names: this.names,
72
- nationality: this.nationality,
73
- proof_of_address: this.proofOfAddress,
74
- proof_of_life: this.proofOfLife,
75
- rfc: this.rfc,
76
- rfc_document: this.rfcDocument,
77
- rfc_file: this.rfcFile,
78
- second_surname: this.secondSurname,
79
- state_of_birth: this.stateOfBirth,
80
- status: this.status,
81
- tos_agreement: this.tosAgreement,
82
- user_id: this.userId,
83
- };
84
- }
85
- /* Se hará el issue para corregir esto.
86
- toFormData() {
87
- const form = new FormData();
88
- form.append('user_id', this.userId);
89
- form.append('extension', this.extension);
90
- form.append('rfc_file', this.rfcFile);
91
- return form;
92
- }
93
- */
94
- }
95
-
96
- export { IdentitiesUploadRequest };
@@ -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,f=m;class _{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=_.getExpirationDate(i);return new _(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 A{static Physical=new A("physical");static Virtual=new A("virtual");constructor(t){this.value=t}}class j{static CardRequest=new j("card_request");static CashDeposit=new j("cash_deposit");static OutgoingSpei=new j("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 S{static Sandbox=new S("sandbox");static Stage=new S("stage");static Api=new S("api");constructor(t){this.value=t}}class C{static Cable=new C("cable");static CreditCard=new C("credit_card");static Electricity=new C("electricity");static Gas=new C("gas");static Internet=new C("internet");static LandlineTelephone=new C("landline_telephone");static MobileTelephonePostpaid=new C("mobile_telephone_postpaid");static MobileTelephonePrepaid=new C("mobile_telephone_prepaid");static SateliteTelevision=new C("satelite_television");static Water=new C("water");constructor(t){this.value=t}}class N{static General=new N("general");static Home=new N("home");static Vehicle=new N("vehicle");static Travel=new N("travel");static Clothing=new N("clothing");static Other=new N("other");static Medical=new N("medical");static Accident=new N("accident");static Education=new N("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 D{static Phone=new D("phone");static Email=new D("email");constructor(t){this.value=t}}class q{static Deposit=new q("deposit");static Withdrawal=new q("withdrawal");constructor(t){this.value=t}}const B=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 L extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class R extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class F extends V{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class Y extends F{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 H extends F{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 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 X extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class Q extends V{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class J 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 W extends V{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class G 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 Z extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class tt 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=B(Date.now());s.setUTCDate(1);if(B(`${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=M(U,s),this.type=M(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.9";class rt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=S.Sandbox}={}){this.phase=i,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=r.default.create({headers:{"Accept-Language":s},timeout:0})}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 _.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=k.Json,method:i="GET",multipart:r=!1,params:a=null}){let o;o=r?{"Content-Type":"multipart/form-data"}:{"Content-Type":"application/json",Accept:`application/${s.value}`},this.authHeader&&(o.Authorization=this.authHeader),f?o["User-Agent"]=`cuenca-js/${it}`:w&&(o["X-User-Agent"]=`cuenca-js/${it}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await _.create(this)),o["X-Cuenca-Token"]=this.jwtToken.token);const d=this.addHeadersToRequest(o),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 c(t.response.data,t.response.status):t.request?new n(`No response received: ${t.errno}: ${t.code}`):new n(t.message)}finally{d.eject(),h.eject()}return p.data}}class at{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=B(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=B(t),this.deactivatedAt=B(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=B(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=B(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=B(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=B(e),this.descriptor=s,this.entryType=M(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=B(e),this.descriptor=s,this.status=M($,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=B(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=M(b,r),this.id=a,this.issuer=M(y,n),this.number=c,this.pin=o,this.status=M(g,d),this.type=M(A,u),this.updatedAt=B(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=B(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=M(v,e),this.cardLastFour=s,this.cardType=M(A,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=M(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=M(g,t),this.cardType=M(A,e),this.cardUri=s,this.createdAt=B(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=M(j,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 ft 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=M(x,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new ft({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 _t{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:w,rfcDocument:f,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=w,this.rfcDocument=f,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 _t({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 vt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new vt({id:t})}class bt extends class{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=B(e),this.deactivatedAt=B(s),this.id=i,this.userId=r,this.updatedAt=B(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(N,e),this.goalAmount=r,this.goalDate=B(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new bt({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 yt{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>M(C,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new yt({categories:t,id:e,name:s,providerKey:i.provider_key})}class gt{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=B(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new gt({id:t,month:e,year:s,createdAt:i.created_at})}class Ot 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=M(E,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=B(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Ot({amount:t,descriptor:e,id:s,network:i,status:r,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 At{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(K,c),this.terms=o,this.verificationId=d}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 At({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 jt{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=B(t),this.id=e,this.isActive=s,this.updatedAt=B(i)}static fromObject=({id:t,...e})=>new jt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class xt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=B(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new xt({id:t,success:e,lastLoginAt:s.last_login_at})}class It{constructor({createdAt:t,id:e,platformId:s,recipient:i,type:r,updatedAt:a}){this.createdAt=B(t),this.id=e,this.platformId=s,this.recipient=i,this.type=M(D,r),this.updatedAt=B(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new It({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class kt 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=M(q,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new kt({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 Tt 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=B(a),this.network=M(E,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=B(p)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Tt({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 St=t=>new Ut(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:()=>ft.fromObject(e),identities:()=>_t.fromObject(e),login_tokens:()=>vt.fromObject(e),savings:()=>bt.fromObject(e),service_providers:()=>yt.fromObject(e),statements:()=>gt.fromObject(e),transfers:()=>Ot.fromObject(e),users:()=>At.fromObject(e),user_credentials:()=>jt.fromObject(e),user_logins:()=>xt.fromObject(e),verifications:()=>It.fromObject(e),wallet_transactions:()=>kt.fromObject(e),whatsapp_transfers:()=>Tt.fromObject(e)}[t]()),Nt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Pt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const $t=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Ct(this.path,e)}},Et=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Ct(this.path,e)}},Kt=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)}},Dt=t=>class extends t{async _upload(t){const e=await this.client.post({data:t,endpoint:`/${this.path}`,multipart:!0});return Ct(this.path,e)}},qt=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)}},Bt=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 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 Vt extends(St(Pt).with(Mt,$t)){constructor(t){super("accounts",L,t)}}class Lt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Rt extends Lt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Ft extends Lt{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 Lt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Ht extends Lt{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 zt extends Lt{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 Xt extends Lt{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(B(t).getTime()<=B(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 Qt extends Lt{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 Jt extends Lt{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 Wt extends Lt{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 Gt extends Lt{constructor(t,e="me"){super(),this.pwd=t,this.userId=e}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class Zt extends Lt{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 te extends Lt{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 ee extends Lt{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 Zt(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new te(t).toCleanObject())}toObject(){return{address:this.address,profession:this.profession,terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class se extends Lt{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(D,this.type)){case D.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 D.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 ie extends Lt{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class re extends Lt{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 ae extends(St(Pt).with(Et,qt,Mt,$t,Kt)){constructor(t){super("api_keys",R,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())}}St(Pt).with(Et);class ne extends(St(Pt).with(Mt,$t)){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 ce extends(St(Pt).with(Mt,$t)){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 oe extends(St(Pt).with(Et)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new Ht(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 de extends(St(Pt).with(Et,qt,Mt,$t,Kt)){constructor(t){super("cards",J,t)}async create(t,e,s){const i=new Ft(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 ue extends(St(Pt).with(Mt,$t)){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 he extends(St(Pt).with(Et)){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 zt({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 pe extends(St(Pt).with(Mt,$t)){constructor(t){super("commissions",V,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 le extends(St(Pt).with(Mt,$t)){constructor(t){super("deposits",Y,t)}async source(t){const e=await this.client.get({endpoint:t});return at.fromObject(e)}}class me extends(St(Pt).with(Dt)){constructor(t){super("identities",Object,t)}async upload(t){return await this._upload(t)}}class we extends(St(Pt).with(Et)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class fe extends(St(Pt).with(Et,qt,Mt,$t,Kt)){constructor(t){super("savings",Z,t)}async create(t,e,s,i){const r=new Xt(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 Xt(e,s,i,r);return await this._update(t,a.toObject())}}class _e extends(St(Pt).with(Mt,$t)){constructor(t){super("service_providers",V,t)}}class ve extends(St(Pt).with(Bt,Mt)){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 be extends(St(Pt).with(Et,Mt,$t)){constructor(t){super("transfers",H,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 Qt(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 Qt(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]=B(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class ye extends(St(Pt).with(Et,Kt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new Jt(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new Wt(e,t);return await this._update(s,i.toCleanObject())}}class ge extends(St(Pt).with(Et,qt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new Gt(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 Oe extends(St(Pt).with(Mt,Kt,$t)){constructor(t){super("users",G,t)}async update({userId:t="me",...e}){const s=new ee(e);return await this._update(t,s.toCleanObject())}}class Ae extends(St(Pt).with(Et,Kt)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new se({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new ie({code:t});return await this._update(e,s.toObject())}}class je extends(St(Pt).with(Et,Mt,$t)){constructor(t){super("wallet_transactions",W,t)}async create(t,e,s){const i=new re(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 xe extends(St(Pt).with(Mt,$t)){constructor(t){super("whatsapp_transfers",V,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=S.Sandbox}={}){this.client=new rt({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new Vt(t),this.apiKeys=new ae(t),this.balanceEntries=new ne(t),this.billPayments=new ce(t),this.cardActivations=new oe(t),this.cards=new de(t),this.cardTransactions=new ue(t),this.cardValidations=new he(t),this.commissions=new pe(t),this.deposits=new le(t),this.identities=new me(t),this.loginTokens=new we(t),this.savings=new fe(t),this.serviceProviders=new _e(t),this.statements=new ve(t),this.transfers=new be(t),this.userCredentials=new ye(t),this.userLogins=new ge(t),this.users=new Oe(t),this.verifications=new Ae(t),this.walletTransactions=new je(t),this.whatsAppTransfers=new xe(t)}}}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","axios","buffer"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer)}(this,(function(t,e,s){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var r=i(e),a=i(s);class n extends Error{constructor(t){super(t),Object.setPrototypeOf(this,n.prototype)}}class c extends n{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,c.prototype)}}class o extends n{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,o.prototype)}}class d extends n{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,d.prototype)}}class u extends n{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,u.prototype)}}class h extends n{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,h.prototype)}}class p extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p.prototype)}}const l="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),w=l,_=m;class v{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(a.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new u}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:i}=await t.post("token",{});s.eject();const r=v.getExpirationDate(i);return new v(r,i)}}class f{static Blocked=new f("blocked");static Comunication=new f("comunication");static ContactlesAmountLimit=new f("contactles_amount_limit");static FraudDetection=new f("fraud_detection");static FraudDetectionUncertain=new f("fraud_detection_uncertain");static InsufficientFounds=new f("insufficient_founds");static InvalidPin=new f("invalid_pin");static Notification=new f("notification");static NotificationDeactivatedCard=new f("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 q{static Created=new q("created");static Failed=new q("failed");static InReview=new q("in_review");static Submitted=new q("submitted");static Succeeded=new q("succeeded");constructor(t){this.value=t}}class ${static Internal=new $("internal");static Spei=new $("spei");constructor(t){this.value=t}}class E{static Active=new E("active");static Deactivated=new E("deactivated");static Fraud=new E("fraud");static PldBlocked=new E("pld_blocked");constructor(t){this.value=t}}class K{static Phone=new K("phone");static Email=new K("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())},L=(t,e)=>Object.values(t).find((t=>t.value===e));class B{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 B{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class V extends B{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class Y extends B{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 B{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 B{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class Q extends B{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class J extends B{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 B{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class G extends B{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 B{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class tt extends B{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=L(U,s),this.type=L(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.4";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 v.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),r&&this.addHeadersToRequest({"X-Cuenca-SessionId":r})}async get({endpoint:t,format:e,params:s}){return this.request({endpoint:t,format:e,params:s})}async post({endpoint:t,data:e}){return this.request({method:"POST",endpoint:t,data:e})}async patch({endpoint:t,data:e}){return this.request({method:"PATCH",endpoint:t,data:e})}async delete({endpoint:t,data:e}){return this.request({method:"DELETE",endpoint:t,data:e})}async request({endpoint:t,data:e=null,format:s=k.Json,method:i="GET",params:r=null}){const a={"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 v.create(this)),a["X-Cuenca-Token"]=this.jwtToken.token);const o=this.addHeadersToRequest(a),d=e;d&&Object.keys(d).forEach((t=>{d[t]instanceof Date&&(d[t]=d[t].toISOString())}));const u=this.addConfigToRequest({method:i,params:r,data:d,url:t});let h;try{h=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new c(t.response.data,t.response.status):t.request?new n(`No response received: ${t.errno}: ${t.code}`):new n(t.message)}finally{o.eject(),u.eject()}return h.data}}class 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=L(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=L(q,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=L(b,r),this.id=a,this.issuer=L(y,n),this.number=c,this.pin=o,this.status=L(g,d),this.type=L(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=L(f,e),this.cardLastFour=s,this.cardType=L(j,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=L(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=L(g,t),this.cardType=L(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=L(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=L(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 vt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new vt({id:t})}class ft 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=L(S,e),this.goalAmount=r,this.goalDate=M(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new ft({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=>L(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=L($,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,requiredLevel:n,status:c,termsOfService:o,verificationId:d}){this.emailAddress=t,this.govstIds=e,this.level=s,this.phoneNumber=i,this.addressProofs=r,this.lifeProofs=a,this.requiredLevel=n,this.status=L(E,c),this.terms=o,this.verificationId=d}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,requiredLevel:s.required_level,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=L(K,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=L(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=L($,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:()=>vt.fromObject(e),savings:()=>ft.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)}},qt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Ct(this.path,e)}},$t=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)}},Et=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)}},Kt=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",R,t)}}class Lt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Bt extends Lt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Rt extends Lt{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 Vt extends Lt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Yt extends Lt{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 Lt{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 Lt{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 Lt{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 Lt{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 Lt{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 Lt{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 Lt{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 Lt{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 Lt{constructor({address:t,profession:e,requiredLevel:s,termsOfService:i,verificationId:r}){super(),this.adrs=t,this.profession=e,this.requiredLevel=s,this.terms=i,this.verificationId=r}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,requiredLevel:this.requiredLevel,terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class te extends Lt{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(L(K,this.type)){case K.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 K.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 Lt{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class se extends Lt{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(qt,Et,Dt,Pt,$t)){constructor(t){super("api_keys",V,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 Bt(s,e);return await this._update(t,i.toCleanObject())}}Ut(St).with(qt);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(qt)){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(qt,Et,Dt,Pt,$t)){constructor(t){super("cards",J,t)}async create(t,e,s){const i=new Rt(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 Vt(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(qt)){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",B,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(qt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class le extends(Ut(St).with(qt,Et,Dt,Pt,$t)){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",B,t)}}class we extends(Ut(St).with(Kt,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(qt,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 ve extends(Ut(St).with(qt,$t)){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 fe extends(Ut(St).with(qt,Et)){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,$t,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(qt,$t)){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(qt,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",B,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 ve(t),this.userLogins=new fe(t),this.users=new be(t),this.verifications=new ye(t),this.walletTransactions=new ge(t),this.whatsAppTransfers=new Oe(t)}}}));
@@ -537,10 +537,17 @@ class AddressUpdateRequest extends BaseRequest {
537
537
  }
538
538
 
539
539
  class UserUpdateRequest extends BaseRequest {
540
- constructor({ address, profession, termsOfService, verificationId }) {
540
+ constructor({
541
+ address,
542
+ profession,
543
+ requiredLevel,
544
+ termsOfService,
545
+ verificationId,
546
+ }) {
541
547
  super();
542
548
  this.adrs = address;
543
549
  this.profession = profession;
550
+ this.requiredLevel = requiredLevel;
544
551
  this.terms = termsOfService;
545
552
  this.verificationId = verificationId;
546
553
  }
@@ -567,6 +574,7 @@ class UserUpdateRequest extends BaseRequest {
567
574
  return {
568
575
  address: this.address,
569
576
  profession: this.profession,
577
+ requiredLevel: this.requiredLevel,
570
578
  terms_of_service: this.termsOfService,
571
579
  verification_id: this.verificationId,
572
580
  };
@@ -655,7 +663,6 @@ class WalletTransactionRequest extends BaseRequest {
655
663
 
656
664
  exports.ApiKeyUpdateRequest = ApiKeyUpdateRequest;
657
665
  exports.ArpcRequest = ArpcRequest;
658
- exports.BaseRequest = BaseRequest;
659
666
  exports.CardActivationRequest = CardActivationRequest;
660
667
  exports.CardRequest = CardRequest;
661
668
  exports.CardUpdateRequest = CardUpdateRequest;
@@ -535,10 +535,17 @@ class AddressUpdateRequest extends BaseRequest {
535
535
  }
536
536
 
537
537
  class UserUpdateRequest extends BaseRequest {
538
- constructor({ address, profession, termsOfService, verificationId }) {
538
+ constructor({
539
+ address,
540
+ profession,
541
+ requiredLevel,
542
+ termsOfService,
543
+ verificationId,
544
+ }) {
539
545
  super();
540
546
  this.adrs = address;
541
547
  this.profession = profession;
548
+ this.requiredLevel = requiredLevel;
542
549
  this.terms = termsOfService;
543
550
  this.verificationId = verificationId;
544
551
  }
@@ -565,6 +572,7 @@ class UserUpdateRequest extends BaseRequest {
565
572
  return {
566
573
  address: this.address,
567
574
  profession: this.profession,
575
+ requiredLevel: this.requiredLevel,
568
576
  terms_of_service: this.termsOfService,
569
577
  verification_id: this.verificationId,
570
578
  };
@@ -651,4 +659,4 @@ class WalletTransactionRequest extends BaseRequest {
651
659
  }
652
660
  }
653
661
 
654
- export { ApiKeyUpdateRequest as A, BaseRequest as B, 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 };
662
+ 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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuenca-mx/cuenca-js",
3
- "version": "0.0.3-dev.9",
3
+ "version": "0.0.4",
4
4
  "description": "Cuenca client for JS",
5
5
  "main": "./build/index.cjs",
6
6
  "module": "./build/index.mjs",
@@ -58,8 +58,7 @@
58
58
  "rollup-plugin-terser": "^7.0.2"
59
59
  },
60
60
  "dependencies": {
61
- "axios": "^0.27.2",
62
- "buffer": "^6.0.3",
63
- "form-data": "^4.0.0"
61
+ "axios": "^0.24.0",
62
+ "buffer": "^6.0.3"
64
63
  }
65
64
  }