@alviere/core 0.9.1 → 0.11.0

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.
Files changed (37) hide show
  1. package/dist/entities/interfaces/gateways/accounts.interface.d.ts +6 -6
  2. package/dist/entities/interfaces/gateways/accounts.interface.d.ts.map +1 -1
  3. package/dist/entities/interfaces/gateways/legal-texts.interface.d.ts +5 -0
  4. package/dist/entities/interfaces/gateways/legal-texts.interface.d.ts.map +1 -0
  5. package/dist/entities/interfaces/gateways/payments.interface.d.ts +2 -1
  6. package/dist/entities/interfaces/gateways/payments.interface.d.ts.map +1 -1
  7. package/dist/entities/requests/accounts/accounts.d.ts +1 -0
  8. package/dist/entities/requests/accounts/accounts.d.ts.map +1 -1
  9. package/dist/entities/requests/payments/bank-accounts.d.ts +8 -0
  10. package/dist/entities/requests/payments/bank-accounts.d.ts.map +1 -1
  11. package/dist/entities/responses/dossiers/dossiers.d.ts +53 -0
  12. package/dist/entities/responses/dossiers/dossiers.d.ts.map +1 -0
  13. package/dist/entities/responses/legal-texts/legal-texts.d.ts +13 -0
  14. package/dist/entities/responses/legal-texts/legal-texts.d.ts.map +1 -0
  15. package/dist/entities/responses/payments/bank_accounts.d.ts +1 -0
  16. package/dist/entities/responses/payments/bank_accounts.d.ts.map +1 -1
  17. package/dist/index.d.ts +5 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.mjs +103 -7
  22. package/dist/index.mjs.map +1 -1
  23. package/dist/infrastructure/gateways/accounts.gateway.d.ts +1 -1
  24. package/dist/infrastructure/gateways/accounts.gateway.d.ts.map +1 -1
  25. package/dist/infrastructure/gateways/legal-texts.gateway.d.ts +10 -0
  26. package/dist/infrastructure/gateways/legal-texts.gateway.d.ts.map +1 -0
  27. package/dist/infrastructure/gateways/payments.gateway.d.ts +2 -1
  28. package/dist/infrastructure/gateways/payments.gateway.d.ts.map +1 -1
  29. package/dist/services/accounts-api.service.d.ts +1 -1
  30. package/dist/services/accounts-api.service.d.ts.map +1 -1
  31. package/dist/services/legal-texts-api.service.d.ts +8 -0
  32. package/dist/services/legal-texts-api.service.d.ts.map +1 -0
  33. package/dist/services/payment-processor.service.d.ts +2 -1
  34. package/dist/services/payment-processor.service.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/dist/entities/responses/accounts/dossiers.d.ts +0 -26
  37. package/dist/entities/responses/accounts/dossiers.d.ts.map +0 -1
package/dist/index.mjs CHANGED
@@ -896,6 +896,13 @@ class PaymentsGateway extends AlcoreBase {
896
896
  const response = await this.send("DELETE", endpoint, {});
897
897
  return throwIfApiError(response);
898
898
  }
899
+ async update_bank_account(accountUuid, uuid, data) {
900
+ const endpoint = `/payment-methods/bank-accounts/${uuid}`;
901
+ const response = await this.send("PATCH", endpoint, data);
902
+ const encrypted = await response.json();
903
+ const decrypted = await this.decrypt(encrypted);
904
+ return throwIfApiError(decrypted);
905
+ }
899
906
  }
900
907
  class WalletsGateway extends AlcoreBase {
901
908
  constructor(jwt, cryptor, logger) {
@@ -999,7 +1006,7 @@ class AccountsGateway extends AlcoreBase {
999
1006
  }
1000
1007
  async updateAccount(accountUuid, data) {
1001
1008
  const endpoint = `/accounts/${accountUuid}`;
1002
- const response = await this.send("PUT", endpoint, data);
1009
+ const response = await this.send("PATCH", endpoint, data);
1003
1010
  const encrypted = await response.json();
1004
1011
  const decrypted = await this.decrypt(encrypted);
1005
1012
  return throwIfApiError(decrypted);
@@ -1009,7 +1016,9 @@ class AccountsGateway extends AlcoreBase {
1009
1016
  await this.send("DELETE", endpoint, {});
1010
1017
  }
1011
1018
  async listAccounts(params) {
1012
- const query = params ? "?" + new URLSearchParams(Object.entries(params).filter(([_, v]) => v !== void 0)) : "";
1019
+ const query = params ? "?" + new URLSearchParams(
1020
+ Object.entries(params).filter(([_, v]) => v !== void 0)
1021
+ ) : "";
1013
1022
  const endpoint = `/accounts${query}`;
1014
1023
  const response = await this.send("GET", endpoint, {});
1015
1024
  const encrypted = await response.json();
@@ -1026,7 +1035,7 @@ class AccountsGateway extends AlcoreBase {
1026
1035
  }
1027
1036
  async manageOnboarding(accountUuid, action) {
1028
1037
  const endpoint = `/accounts/${accountUuid}/onboarding`;
1029
- await this.send("POST", endpoint, { action });
1038
+ await this.send("PUT", endpoint, { action });
1030
1039
  }
1031
1040
  async createAddress(accountUuid, data) {
1032
1041
  const endpoint = `/accounts/${accountUuid}/addresses`;
@@ -1036,7 +1045,9 @@ class AccountsGateway extends AlcoreBase {
1036
1045
  return throwIfApiError(decrypted);
1037
1046
  }
1038
1047
  async getAddresses(accountUuid, params) {
1039
- const query = params ? "?" + new URLSearchParams(Object.entries(params).filter(([_, v]) => v !== void 0)) : "";
1048
+ const query = params ? "?" + new URLSearchParams(
1049
+ Object.entries(params).filter(([_, v]) => v !== void 0)
1050
+ ) : "";
1040
1051
  const endpoint = `/accounts/${accountUuid}/addresses${query}`;
1041
1052
  const response = await this.send("GET", endpoint, {});
1042
1053
  const encrypted = await response.json();
@@ -1062,7 +1073,9 @@ class AccountsGateway extends AlcoreBase {
1062
1073
  return throwIfApiError(decrypted);
1063
1074
  }
1064
1075
  async getDossiers(accountUuid, params) {
1065
- const query = params ? "?" + new URLSearchParams(Object.entries(params).filter(([_, v]) => v !== void 0)) : "";
1076
+ const query = params ? "?" + new URLSearchParams(
1077
+ Object.entries(params).filter(([_, v]) => v !== void 0)
1078
+ ) : "";
1066
1079
  const endpoint = `/accounts/${accountUuid}/dossiers${query}`;
1067
1080
  const response = await this.send("GET", endpoint, {});
1068
1081
  const encrypted = await response.json();
@@ -1324,6 +1337,19 @@ class PaymentProcessor {
1324
1337
  throw error;
1325
1338
  }
1326
1339
  }
1340
+ async processUpdateBankAccount(accountUuid, uuid, request) {
1341
+ this.logger.debug("PaymentProcessor: Starting update bank account processing");
1342
+ this.logger.debug("PaymentProcessor: Request data: " + JSON.stringify(request, null, 2));
1343
+ try {
1344
+ const result = await this.gateway.update_bank_account(accountUuid, uuid, request);
1345
+ this.logger.debug("PaymentProcessor: Update bank account processing completed successfully");
1346
+ return result;
1347
+ } catch (error) {
1348
+ this.logger.debug("PaymentProcessor: Update bank account processing failed");
1349
+ this.logger.debug("PaymentProcessor: Error details: " + JSON.stringify(error));
1350
+ throw error;
1351
+ }
1352
+ }
1327
1353
  }
1328
1354
  class BankInfoApiService {
1329
1355
  constructor(gateway) {
@@ -1333,13 +1359,39 @@ class BankInfoApiService {
1333
1359
  return this.gateway.getBankInfo(routingNumber);
1334
1360
  }
1335
1361
  }
1362
+ class LegalTextsApiService {
1363
+ constructor(gateway) {
1364
+ this.gateway = gateway;
1365
+ }
1366
+ async getLegalTexts(type, version) {
1367
+ return this.gateway.getLegalTexts(type, version);
1368
+ }
1369
+ }
1336
1370
  class BankInfoGateway extends AlcoreBase {
1337
1371
  constructor(jwt, cryptor, logger) {
1338
1372
  super(jwt, cryptor, logger);
1339
1373
  this.logger.debug("🔐 BankInfoGateway initialized");
1340
1374
  }
1341
1375
  async getBankInfo(routingNumber) {
1342
- const endpoint = `/bank-info?routing_number=${routingNumber}`;
1376
+ const endpoint = `/v3/bank-info?routing_number=${routingNumber}`;
1377
+ const response = await this.send("GET", endpoint, {});
1378
+ const encrypted = await response.json();
1379
+ const decrypted = await this.decrypt(encrypted);
1380
+ return throwIfApiError(decrypted);
1381
+ }
1382
+ }
1383
+ class LegalTextsGateway extends AlcoreBase {
1384
+ constructor(jwt, cryptor, logger) {
1385
+ super(jwt, cryptor, logger);
1386
+ this.logger.debug("🔐 LegalTextsGateway initialized");
1387
+ }
1388
+ async getLegalTexts(type, version) {
1389
+ const queryParams = new URLSearchParams({ type });
1390
+ if (version) {
1391
+ queryParams.set("version", version);
1392
+ }
1393
+ const endpoint = `/v3/legal-texts?${queryParams.toString()}`;
1394
+ this.logger.debug(`endpoint -> ${endpoint}`);
1343
1395
  const response = await this.send("GET", endpoint, {});
1344
1396
  const encrypted = await response.json();
1345
1397
  const decrypted = await this.decrypt(encrypted);
@@ -1419,12 +1471,13 @@ function createDefaultMerchantDetails() {
1419
1471
  };
1420
1472
  }
1421
1473
  function NewAddBankAccountRequest(params) {
1422
- const { external_id, country, currency, bank_account_details, metadata } = params;
1474
+ const { external_id, country, currency, bank_account_details, primary, metadata } = params;
1423
1475
  let data = {
1424
1476
  external_id,
1425
1477
  country,
1426
1478
  currency,
1427
1479
  bank_account_details,
1480
+ primary,
1428
1481
  metadata
1429
1482
  };
1430
1483
  data = getSanitizedBody(data);
@@ -1569,6 +1622,37 @@ function NewDossierReplaceRequest(params) {
1569
1622
  };
1570
1623
  return getSanitizedBody(data);
1571
1624
  }
1625
+ var DossierType = /* @__PURE__ */ ((DossierType2) => {
1626
+ DossierType2["PASSPORT"] = "PASSPORT";
1627
+ DossierType2["ID_DOCUMENT_FRONT"] = "ID_DOCUMENT_FRONT";
1628
+ DossierType2["ID_DOCUMENT_BACK"] = "ID_DOCUMENT_BACK";
1629
+ DossierType2["DRIVER_LICENSE_FRONT"] = "DRIVER_LICENSE_FRONT";
1630
+ DossierType2["DRIVER_LICENSE_BACK"] = "DRIVER_LICENSE_BACK";
1631
+ DossierType2["SELFIE"] = "SELFIE";
1632
+ DossierType2["PROOF_OF_ADDRESS"] = "PROOF_OF_ADDRESS";
1633
+ DossierType2["PROOF_OF_FUNDS"] = "PROOF_OF_FUNDS";
1634
+ DossierType2["MC_DOCUMENT_FRONT"] = "MC_DOCUMENT_FRONT";
1635
+ DossierType2["MC_DOCUMENT_BACK"] = "MC_DOCUMENT_BACK";
1636
+ DossierType2["INE_FRONT"] = "INE_FRONT";
1637
+ DossierType2["INE_BACK"] = "INE_BACK";
1638
+ DossierType2["ARTICLES_OF_INCORPORATION"] = "ARTICLES_OF_INCORPORATION";
1639
+ DossierType2["CERTIFICATE_OF_GOOD_STANDING"] = "CERTIFICATE_OF_GOOD_STANDING";
1640
+ DossierType2["ORG_CHART"] = "ORG_CHART";
1641
+ DossierType2["UBO_FORM"] = "UBO_FORM";
1642
+ DossierType2["REG_GG_ATTESTATION"] = "REG_GG_ATTESTATION";
1643
+ return DossierType2;
1644
+ })(DossierType || {});
1645
+ var DossierStatus = /* @__PURE__ */ ((DossierStatus2) => {
1646
+ DossierStatus2["CREATED"] = "CREATED";
1647
+ DossierStatus2["PENDING"] = "PENDING";
1648
+ DossierStatus2["MANUAL_REVIEW"] = "MANUAL_REVIEW";
1649
+ DossierStatus2["VERIFIED"] = "VERIFIED";
1650
+ DossierStatus2["EXPIRED"] = "EXPIRED";
1651
+ DossierStatus2["REJECTED"] = "REJECTED";
1652
+ DossierStatus2["FAILED"] = "FAILED";
1653
+ DossierStatus2["DELETED"] = "DELETED";
1654
+ return DossierStatus2;
1655
+ })(DossierStatus || {});
1572
1656
  class BaseFieldPlugin {
1573
1657
  constructor() {
1574
1658
  this.eventListeners = /* @__PURE__ */ new Map();
@@ -2290,6 +2374,16 @@ class AlviereCore {
2290
2374
  }
2291
2375
  return new BankInfoApiService(this.gateways.get("bankInfo"));
2292
2376
  }
2377
+ // Create legal texts service
2378
+ createLegalTextsService() {
2379
+ if (!this.gateways.has("legalTexts")) {
2380
+ this.gateways.set(
2381
+ "legalTexts",
2382
+ new LegalTextsGateway(this.authToken, this.getOrCreateCryptor(), this.logger)
2383
+ );
2384
+ }
2385
+ return new LegalTextsApiService(this.gateways.get("legalTexts"));
2386
+ }
2293
2387
  /**
2294
2388
  * Generate scoped JWT for specific account (JWT downgrade)
2295
2389
  * Exchanges the current business-level JWT for a consumer-level JWT
@@ -2400,6 +2494,8 @@ export {
2400
2494
  CriticalErrorCodes,
2401
2495
  Cryptor,
2402
2496
  DEFAULT_CONFIG,
2497
+ DossierStatus,
2498
+ DossierType,
2403
2499
  FieldPluginRegistry,
2404
2500
  Logger,
2405
2501
  NewAccountRequest,