@fiado/type-kit 3.456.0 → 3.458.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 (96) hide show
  1. package/_test_/unit/benefitCenter/benefitSuiteConfig.test.ts +58 -0
  2. package/_test_/unit/emailVerification/dtos/EmailSetTrustedRequest.test.ts +53 -0
  3. package/_test_/unit/emailVerification/enums/EmailTypeEnum.test.ts +12 -0
  4. package/_test_/unit/loanCredit/customerReadDtos.test.ts +71 -0
  5. package/_test_/unit/retailLoanConnector/contract.test.ts +79 -0
  6. package/bin/benefitCenter/dtos/BenefitCreateRequest.d.ts +3 -0
  7. package/bin/benefitCenter/dtos/BenefitCreateRequest.js +7 -0
  8. package/bin/benefitCenter/dtos/BenefitSuiteConfigRequest.d.ts +8 -0
  9. package/bin/benefitCenter/dtos/BenefitSuiteConfigRequest.js +26 -0
  10. package/bin/benefitCenter/dtos/BenefitSuiteResponse.d.ts +16 -0
  11. package/bin/benefitCenter/dtos/BenefitSuiteResponse.js +2 -0
  12. package/bin/benefitCenter/dtos/BenefitUpdateRequest.d.ts +3 -0
  13. package/bin/benefitCenter/dtos/BenefitUpdateRequest.js +7 -0
  14. package/bin/benefitCenter/index.d.ts +2 -0
  15. package/bin/benefitCenter/index.js +3 -0
  16. package/bin/emailVerification/dtos/EmailItem.d.ts +2 -0
  17. package/bin/emailVerification/dtos/EmailItem.js +5 -0
  18. package/bin/emailVerification/dtos/EmailSetTrustedRequest.d.ts +10 -0
  19. package/bin/emailVerification/dtos/EmailSetTrustedRequest.js +37 -0
  20. package/bin/emailVerification/dtos/EmailSetTrustedResponse.d.ts +9 -0
  21. package/bin/emailVerification/dtos/EmailSetTrustedResponse.js +32 -0
  22. package/bin/emailVerification/enums/EmailTypeEnum.d.ts +9 -0
  23. package/bin/emailVerification/enums/EmailTypeEnum.js +13 -0
  24. package/bin/emailVerification/index.d.ts +3 -0
  25. package/bin/emailVerification/index.js +3 -0
  26. package/bin/index.d.ts +1 -0
  27. package/bin/index.js +4 -1
  28. package/bin/loanCredit/dtos/responses/CreditSaleContext.d.ts +31 -0
  29. package/bin/loanCredit/dtos/responses/CreditSaleContext.js +2 -0
  30. package/bin/loanCredit/dtos/responses/LoanBorrowerCreditItem.d.ts +17 -0
  31. package/bin/loanCredit/dtos/responses/LoanBorrowerCreditItem.js +2 -0
  32. package/bin/loanCredit/dtos/responses/LoanContractDownloadUrl.d.ts +9 -0
  33. package/bin/loanCredit/dtos/responses/LoanContractDownloadUrl.js +2 -0
  34. package/bin/loanCredit/dtos/responses/LoanCreditDetail.d.ts +21 -0
  35. package/bin/loanCredit/dtos/responses/LoanCreditDetail.js +2 -0
  36. package/bin/loanCredit/dtos/responses/LoanPaymentListItem.d.ts +32 -0
  37. package/bin/loanCredit/dtos/responses/LoanPaymentListItem.js +2 -0
  38. package/bin/loanCredit/index.d.ts +5 -0
  39. package/bin/loanCredit/index.js +6 -0
  40. package/bin/retailLoanConnector/dtos/MyCreditDetail.d.ts +20 -0
  41. package/bin/retailLoanConnector/dtos/MyCreditDetail.js +2 -0
  42. package/bin/retailLoanConnector/dtos/MyCreditSummary.d.ts +29 -0
  43. package/bin/retailLoanConnector/dtos/MyCreditSummary.js +2 -0
  44. package/bin/retailLoanConnector/dtos/MyDocument.d.ts +21 -0
  45. package/bin/retailLoanConnector/dtos/MyDocument.js +2 -0
  46. package/bin/retailLoanConnector/dtos/MyDocumentUrl.d.ts +5 -0
  47. package/bin/retailLoanConnector/dtos/MyDocumentUrl.js +2 -0
  48. package/bin/retailLoanConnector/dtos/MyInstallment.d.ts +16 -0
  49. package/bin/retailLoanConnector/dtos/MyInstallment.js +2 -0
  50. package/bin/retailLoanConnector/dtos/MyPayment.d.ts +20 -0
  51. package/bin/retailLoanConnector/dtos/MyPayment.js +2 -0
  52. package/bin/retailLoanConnector/enums/MyDocumentGroupIdEnum.d.ts +5 -0
  53. package/bin/retailLoanConnector/enums/MyDocumentGroupIdEnum.js +9 -0
  54. package/bin/retailLoanConnector/enums/MyDocumentKindEnum.d.ts +4 -0
  55. package/bin/retailLoanConnector/enums/MyDocumentKindEnum.js +8 -0
  56. package/bin/retailLoanConnector/enums/MyDocumentStatusEnum.d.ts +5 -0
  57. package/bin/retailLoanConnector/enums/MyDocumentStatusEnum.js +9 -0
  58. package/bin/retailLoanConnector/enums/MyInstallmentDisplayStatusEnum.d.ts +7 -0
  59. package/bin/retailLoanConnector/enums/MyInstallmentDisplayStatusEnum.js +11 -0
  60. package/bin/retailLoanConnector/enums/MyPaymentFrequencyEnum.d.ts +4 -0
  61. package/bin/retailLoanConnector/enums/MyPaymentFrequencyEnum.js +8 -0
  62. package/bin/retailLoanConnector/enums/MyPaymentMethodEnum.d.ts +7 -0
  63. package/bin/retailLoanConnector/enums/MyPaymentMethodEnum.js +11 -0
  64. package/bin/retailLoanConnector/index.d.ts +12 -0
  65. package/bin/retailLoanConnector/index.js +30 -0
  66. package/package.json +1 -1
  67. package/src/benefitCenter/dtos/BenefitCreateRequest.ts +7 -0
  68. package/src/benefitCenter/dtos/BenefitSuiteConfigRequest.ts +12 -0
  69. package/src/benefitCenter/dtos/BenefitSuiteResponse.ts +17 -0
  70. package/src/benefitCenter/dtos/BenefitUpdateRequest.ts +7 -0
  71. package/src/benefitCenter/index.ts +3 -0
  72. package/src/emailVerification/dtos/EmailItem.ts +4 -0
  73. package/src/emailVerification/dtos/EmailSetTrustedRequest.ts +21 -0
  74. package/src/emailVerification/dtos/EmailSetTrustedResponse.ts +16 -0
  75. package/src/emailVerification/enums/EmailTypeEnum.ts +9 -0
  76. package/src/emailVerification/index.ts +3 -0
  77. package/src/index.ts +4 -0
  78. package/src/loanCredit/dtos/responses/CreditSaleContext.ts +44 -0
  79. package/src/loanCredit/dtos/responses/LoanBorrowerCreditItem.ts +18 -0
  80. package/src/loanCredit/dtos/responses/LoanContractDownloadUrl.ts +10 -0
  81. package/src/loanCredit/dtos/responses/LoanCreditDetail.ts +22 -0
  82. package/src/loanCredit/dtos/responses/LoanPaymentListItem.ts +34 -0
  83. package/src/loanCredit/index.ts +6 -0
  84. package/src/retailLoanConnector/dtos/MyCreditDetail.ts +22 -0
  85. package/src/retailLoanConnector/dtos/MyCreditSummary.ts +32 -0
  86. package/src/retailLoanConnector/dtos/MyDocument.ts +23 -0
  87. package/src/retailLoanConnector/dtos/MyDocumentUrl.ts +5 -0
  88. package/src/retailLoanConnector/dtos/MyInstallment.ts +17 -0
  89. package/src/retailLoanConnector/dtos/MyPayment.ts +22 -0
  90. package/src/retailLoanConnector/enums/MyDocumentGroupIdEnum.ts +5 -0
  91. package/src/retailLoanConnector/enums/MyDocumentKindEnum.ts +4 -0
  92. package/src/retailLoanConnector/enums/MyDocumentStatusEnum.ts +5 -0
  93. package/src/retailLoanConnector/enums/MyInstallmentDisplayStatusEnum.ts +7 -0
  94. package/src/retailLoanConnector/enums/MyPaymentFrequencyEnum.ts +4 -0
  95. package/src/retailLoanConnector/enums/MyPaymentMethodEnum.ts +7 -0
  96. package/src/retailLoanConnector/index.ts +15 -0
package/bin/index.js CHANGED
@@ -38,7 +38,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.IssuanceBusiness = exports.Blacklist = exports.CentralPayments = exports.Helpdesk = exports.FiadoApiResponse = exports.Auth = exports.LegalDocumentsBusiness = exports.Role = exports.STPAccount = exports.RiskProfile = exports.FraudPreventionEngine = exports.BBVARst = exports.Stp = exports.BenefitCenter = exports.BankAccount = exports.P2pContact = exports.CreditContract = exports.Contract = exports.ProductCatalog = exports.ContactInfo = exports.TransactionAnalytics = exports.Transaction = exports.TransactionProcessor = exports.GenericMessage = exports.EventBridgeMessage = exports.SessionActivity = exports.NotificationMessages = exports.ServicePayment = exports.Header = exports.Identity = exports.UserTags = exports.Group = exports.File = exports.ExchangeRate = exports.Directory = exports.Currency = exports.Country = exports.Card = exports.Authentication = exports.AppContent = exports.App = exports.Offices = exports.Places = exports.Address = exports.Beneficiary = exports.Activity = exports.Biometrics = exports.MetamapConnector = exports.Account = exports.Crypto = void 0;
40
40
  exports.DatalakeQuery = exports.RetailWizard = exports.RetailCustomer = exports.RetailCards = exports.RetailCatalog = exports.RetailCommission = exports.RetailOrg = exports.EmailVerification = exports.NetworkConnector = exports.Modelias = exports.TotpSecurity = exports.Passport = exports.WalletFunding = exports.Remittance = exports.PlatformRbac = exports.CognitoBackofficeConnector = exports.WhatsappConnector = exports.TwilioConnector = exports.MessagesConnector = exports.Mdm = exports.MilestoneBusiness = exports.CirculoCredito = exports.CreditStatements = exports.Sentry = exports.AiEngine = exports.Funnel = exports.TeamsConnector = exports.PlatformErrorEvents = exports.CustomerFile = exports.CreditBackoffice = exports.CreditDashboard = exports.CreditEngine = exports.Credit = exports.ComissionBusiness = exports.ReferralBusiness = exports.ZendeskMessaging = exports.NotificationWS = exports.Event = exports.PayrollBusiness = exports.Cnbv = exports.DirectorySetting = exports.InvoiceCollector = exports.Collector = exports.Pricelist = exports.Company = exports.Services = exports.AccountIssuanceBusiness = exports.AppSelectionData = exports.Device = exports.Observations = void 0;
41
- exports.Membership = exports.WebhookBusiness = exports.PeopleBusiness = exports.UserConfirmations = exports.Collection = exports.Shipping = exports.PhoneSales = exports.Onboarding = exports.Kyc = exports.LoanScoring = exports.LoanCredit = exports.LoanCollectorAssignment = exports.LoanOfferings = exports.Shortlink = exports.LoanConfig = void 0;
41
+ exports.RetailLoanConnector = exports.Membership = exports.WebhookBusiness = exports.PeopleBusiness = exports.UserConfirmations = exports.Collection = exports.Shipping = exports.PhoneSales = exports.Onboarding = exports.Kyc = exports.LoanScoring = exports.LoanCredit = exports.LoanCollectorAssignment = exports.LoanOfferings = exports.Shortlink = exports.LoanConfig = void 0;
42
42
  exports.Crypto = __importStar(require("./crypto"));
43
43
  exports.Account = __importStar(require("./account"));
44
44
  exports.MetamapConnector = __importStar(require("./metamapConnector"));
@@ -219,3 +219,6 @@ exports.WebhookBusiness = __importStar(require("./webhookBusiness"));
219
219
  // (MembershipDirectoryUser_GT). Espeja al dominio `services`, que modela lo mismo para
220
220
  // servicios de terceros.
221
221
  exports.Membership = __importStar(require("./membership"));
222
+ // RetailLoanConnector: contrato público de retail-loan-connector (I1), la puerta de la App Fiado
223
+ // hacia las suites FiadoLend/FiadoRetail. Montos en pesos; el conector convierte desde centavos.
224
+ exports.RetailLoanConnector = __importStar(require("./retailLoanConnector"));
@@ -0,0 +1,31 @@
1
+ import { WizardSessionLookupStatusEnum } from '../../../retailWizard/enums/WizardSessionLookupStatusEnum';
2
+ /**
3
+ * Por qué una columna del contexto de venta salió sin dato. Catálogo CERRADO y propio: nunca
4
+ * repite el mensaje del lambda vecino, que puede traer datos que este silo no controla.
5
+ */
6
+ export type SaleContextReason = 'CREDIT_WITHOUT_WIZARD_SESSION' | 'WIZARD_LOOKUP_FAILED' | 'BORROWER_LOOKUP_FAILED' | 'BORROWER_NOT_FOUND' | 'CUSTOMER_ANCHOR_MISSING' | 'CUSTOMER_NAME_LOOKUP_FAILED' | 'CUSTOMER_NOT_FOUND' | 'CUSTOMER_WITHOUT_NAME' | 'STORE_ROSTER_FAILED' | 'STORE_NOT_IN_ROSTER' | 'RETAILER_UNKNOWN';
7
+ /**
8
+ * Cliente, equipo y tienda de la venta que originó el crédito (loan-credit-business). Son CUATRO
9
+ * lecturas y cada una lleva su estado: `status` es el del lote al wizard (gobierna las columnas del
10
+ * equipo), `retailCustomerStatus` el del ancla del cliente, `customerNameStatus` el de su nombre y
11
+ * `storeNameStatus` el del nombre de la tienda. `NOT_FOUND` y `UNAVAILABLE` NUNCA se colapsan.
12
+ */
13
+ export interface CreditSaleContext {
14
+ status: WizardSessionLookupStatusEnum;
15
+ reason?: SaleContextReason;
16
+ retailCustomerId: string | null;
17
+ retailCustomerStatus: WizardSessionLookupStatusEnum;
18
+ retailCustomerReason?: SaleContextReason;
19
+ /** PII: nunca se loguea. */
20
+ customerName: string | null;
21
+ customerNameStatus: WizardSessionLookupStatusEnum;
22
+ customerNameReason?: SaleContextReason;
23
+ productBrand: string | null;
24
+ productModel: string | null;
25
+ productCapacity: string | null;
26
+ retailerId: string | null;
27
+ storeId: string | null;
28
+ storeName: string | null;
29
+ storeNameStatus: WizardSessionLookupStatusEnum;
30
+ storeNameReason?: SaleContextReason;
31
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ import { LoanCreditResponse } from './LoanCreditResponse';
2
+ import { CreditSaleContext } from './CreditSaleContext';
3
+ /**
4
+ * Un crédito de un acreditado (loan-credit-business): el `LoanCreditResponse` MÁS las cifras de su
5
+ * plan y el contexto de su venta. Montos en cents · instantes ISO-8601 · dueDates `YYYY-MM-DD`.
6
+ */
7
+ export interface LoanBorrowerCreditItem extends LoanCreditResponse {
8
+ /** Cupones cubiertos: pagados y pagados por adelantado. La reestructurada no cuenta. */
9
+ paidInstallments: number;
10
+ /** `null` = no aplica (el crédito se canceló o caducó); `0` = ya no debe nada. */
11
+ outstandingBalanceCents: number | null;
12
+ /** Días desde el vencimiento impago más viejo; `0` al día; `null` si no hay atraso que medir. */
13
+ overdueDays: number | null;
14
+ /** Suma del TOTAL de las cuotas vencidas impagas. Sigue a `overdueDays` en `null`/`0`. */
15
+ overdueAmountCents: number | null;
16
+ saleContext: CreditSaleContext;
17
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import { ContractTypeEnum } from '../../enums/ContractTypeEnum';
2
+ /** Enlace prefirmado y temporal del PDF de un contrato. `expiresAt` en ISO-8601. */
3
+ export interface LoanContractDownloadUrl {
4
+ contractId: string;
5
+ creditId: string;
6
+ type: ContractTypeEnum;
7
+ url: string;
8
+ expiresAt: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,21 @@
1
+ import { SaleFinancierEnum } from '../../../retailWizard/enums/SaleFinancierEnum';
2
+ import { LoanCreditResponse } from './LoanCreditResponse';
3
+ import { CreditSaleContext } from './CreditSaleContext';
4
+ /**
5
+ * Detalle de UN crédito (loan-credit-business): el `LoanCreditResponse` MÁS las cifras de su plan,
6
+ * el equipo y el contexto de su venta. Montos en cents · instantes ISO-8601.
7
+ */
8
+ export interface LoanCreditDetail extends LoanCreditResponse {
9
+ /** SKU del equipo financiado, congelado al originar. Ausente en créditos anteriores a 2026-08. */
10
+ productSku?: string;
11
+ /** Tienda que originó la venta. Ausente en créditos anteriores a 2026-08. */
12
+ storeId?: string;
13
+ financier: SaleFinancierEnum;
14
+ paidInstallments: number;
15
+ outstandingBalanceCents: number | null;
16
+ overdueDays: number | null;
17
+ overdueAmountCents: number | null;
18
+ /** Cuotas vencidas impagas. `0` = nada vencido; `null` acompaña a `overdueDays` en null. */
19
+ overdueInstallments: number | null;
20
+ saleContext: CreditSaleContext;
21
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,32 @@
1
+ import { CollectionResultStatus } from '../../../collection/enums/CollectionResultStatus';
2
+ import { MechanismType } from '../../../collection/enums/MechanismType';
3
+ import { CurrencyId } from '../../../currency/enums/CurrencyId';
4
+ /** Un pago del historial de un crédito, tal como lo asentó el motor de cobro en `LoanPayment_GT`. */
5
+ export interface LoanPaymentListItem {
6
+ paymentId: string;
7
+ /** Folio del pago — la referencia de conciliación. */
8
+ receipt: string;
9
+ installmentNumber: number;
10
+ attemptId: string;
11
+ mechanism: MechanismType;
12
+ result: CollectionResultStatus;
13
+ currency: CurrencyId;
14
+ collectedCents: number;
15
+ /** Lo que de verdad se abonó a la cuota. */
16
+ appliedCents: number;
17
+ overpaidCents: number;
18
+ reservedCents: number;
19
+ needsReview: boolean;
20
+ appliedAt: string;
21
+ /** Capital que abonó este pago. Ausente en pagos anteriores al desglose (I1). */
22
+ appliedCapitalCents?: number;
23
+ /** Interés que abonó este pago. Ausente en pagos anteriores al desglose (I1). */
24
+ appliedInterestCents?: number;
25
+ /** IVA del interés que abonó este pago. Ausente en pagos anteriores al desglose (I1). */
26
+ appliedIvaCents?: number;
27
+ }
28
+ /** Página del historial. El fin lo marca la AUSENCIA de `nextToken`, nunca una página corta. */
29
+ export interface LoanPaymentListResponse {
30
+ items: LoanPaymentListItem[];
31
+ nextToken?: string;
32
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -29,6 +29,11 @@ export * from './dtos/requests/ChangeLoanCreditStatusRequest';
29
29
  export * from './dtos/responses/LoanBorrowerResponse';
30
30
  export * from './dtos/responses/LoanCreditResponse';
31
31
  export * from './dtos/responses/LoanInstallmentResponse';
32
+ export * from './dtos/responses/CreditSaleContext';
33
+ export * from './dtos/responses/LoanBorrowerCreditItem';
34
+ export * from './dtos/responses/LoanCreditDetail';
35
+ export * from './dtos/responses/LoanPaymentListItem';
36
+ export * from './dtos/responses/LoanContractDownloadUrl';
32
37
  export * from './dtos/responses/LoanContractResponse';
33
38
  export * from './dtos/responses/OriginateLoanCreditResponse';
34
39
  export * from './dtos/responses/QuoteLoanCreditResponse';
@@ -52,6 +52,12 @@ __exportStar(require("./dtos/requests/ChangeLoanCreditStatusRequest"), exports);
52
52
  __exportStar(require("./dtos/responses/LoanBorrowerResponse"), exports);
53
53
  __exportStar(require("./dtos/responses/LoanCreditResponse"), exports);
54
54
  __exportStar(require("./dtos/responses/LoanInstallmentResponse"), exports);
55
+ // Lectura de cliente (I1 · retail-loan-connector): antes locales de loan-credit-business
56
+ __exportStar(require("./dtos/responses/CreditSaleContext"), exports);
57
+ __exportStar(require("./dtos/responses/LoanBorrowerCreditItem"), exports);
58
+ __exportStar(require("./dtos/responses/LoanCreditDetail"), exports);
59
+ __exportStar(require("./dtos/responses/LoanPaymentListItem"), exports);
60
+ __exportStar(require("./dtos/responses/LoanContractDownloadUrl"), exports);
55
61
  __exportStar(require("./dtos/responses/LoanContractResponse"), exports);
56
62
  __exportStar(require("./dtos/responses/OriginateLoanCreditResponse"), exports);
57
63
  __exportStar(require("./dtos/responses/QuoteLoanCreditResponse"), exports);
@@ -0,0 +1,20 @@
1
+ import { MyCreditSummary } from './MyCreditSummary';
2
+ /** La próxima cuota abierta. `isOverdue` si su estado en loan-credit es OVERDUE. */
3
+ export interface MyNextInstallment {
4
+ number: number;
5
+ dueDate: string;
6
+ amount: number;
7
+ isOverdue: boolean;
8
+ }
9
+ /** Detalle de un crédito (`GET /benefits/{benefitId}/credits/{creditId}`). Montos en pesos. */
10
+ export interface MyCreditDetail extends MyCreditSummary {
11
+ equipmentPrice: number;
12
+ downPayment: number;
13
+ financedAmount: number;
14
+ /** Tasa anual ordinaria tal como la guarda loan-credit (`tnaAnnual`). */
15
+ annualRate: number;
16
+ activatedAt?: string;
17
+ firstDueDate?: string;
18
+ lastDueDate?: string;
19
+ nextInstallment?: MyNextInstallment;
20
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,29 @@
1
+ import { LoanCreditStatusEnum } from '../../loanCredit/enums/LoanCreditStatusEnum';
2
+ import { MyPaymentFrequencyEnum } from '../enums/MyPaymentFrequencyEnum';
3
+ /** Equipo financiado. Cada campo puede faltar si el contexto de venta no se pudo leer. */
4
+ export interface MyDevice {
5
+ brand: string | null;
6
+ model: string | null;
7
+ capacity: string | null;
8
+ }
9
+ /** Atraso del crédito. Montos en pesos. `installments` solo viene en el detalle. */
10
+ export interface MyOverdue {
11
+ amount: number;
12
+ days: number;
13
+ installments?: number;
14
+ }
15
+ /**
16
+ * Un crédito del cliente en la lista (`GET /benefits/{benefitId}/credits`). Montos en pesos con
17
+ * 2 decimales (DEC-007). `remainingBalance` `null` = no aplica (crédito que nunca contrajo deuda).
18
+ */
19
+ export interface MyCreditSummary {
20
+ creditId: string;
21
+ status: LoanCreditStatusEnum;
22
+ device: MyDevice;
23
+ paymentFrequency: MyPaymentFrequencyEnum;
24
+ installmentAmount: number;
25
+ totalInstallments: number;
26
+ paidInstallments: number;
27
+ remainingBalance: number | null;
28
+ overdue?: MyOverdue;
29
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,21 @@
1
+ import { ContractTypeEnum } from '../../loanCredit/enums/ContractTypeEnum';
2
+ import { MyDocumentGroupIdEnum } from '../enums/MyDocumentGroupIdEnum';
3
+ import { MyDocumentKindEnum } from '../enums/MyDocumentKindEnum';
4
+ import { MyDocumentStatusEnum } from '../enums/MyDocumentStatusEnum';
5
+ /**
6
+ * Un documento del crédito. `documentRef` sigue la convención del módulo de la app:
7
+ * `doc-contract-<contractId>` para contratos y `doc-stmt-YYYY-MM` para estados de cuenta.
8
+ */
9
+ export interface MyDocument {
10
+ documentRef: string;
11
+ kind: MyDocumentKindEnum;
12
+ type?: ContractTypeEnum;
13
+ /** `YYYY-MM`, solo en estados de cuenta. */
14
+ period?: string;
15
+ issuedAt?: string;
16
+ status: MyDocumentStatusEnum;
17
+ }
18
+ export interface MyDocumentGroup {
19
+ id: MyDocumentGroupIdEnum;
20
+ documents: MyDocument[];
21
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ /** URL prefirmada y temporal de un documento. Nunca se loguea. */
2
+ export interface MyDocumentUrl {
3
+ url: string;
4
+ expiresAt: string;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,16 @@
1
+ import { LoanInstallmentStatusEnum } from '../../loanCredit/enums/LoanInstallmentStatusEnum';
2
+ import { MyInstallmentDisplayStatusEnum } from '../enums/MyInstallmentDisplayStatusEnum';
3
+ /** Una cuota del calendario. Montos en pesos; `dueDate` en `YYYY-MM-DD` sin zona horaria. */
4
+ export interface MyInstallment {
5
+ number: number;
6
+ dueDate?: string;
7
+ amount: number;
8
+ principal: number;
9
+ interest: number;
10
+ iva: number;
11
+ /** Lo que la cuota todavía debe. */
12
+ outstanding: number;
13
+ status: LoanInstallmentStatusEnum;
14
+ displayStatus: MyInstallmentDisplayStatusEnum;
15
+ paidAt?: string;
16
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,20 @@
1
+ import { CollectionResultStatus } from '../../collection/enums/CollectionResultStatus';
2
+ import { MyPaymentMethodEnum } from '../enums/MyPaymentMethodEnum';
3
+ /** Un pago aplicado al crédito. Montos en pesos; el desglose falta en pagos anteriores a él. */
4
+ export interface MyPayment {
5
+ paymentId: string;
6
+ folio: string;
7
+ installmentNumber: number;
8
+ appliedAt: string;
9
+ amount: number;
10
+ principal?: number;
11
+ interest?: number;
12
+ iva?: number;
13
+ method: MyPaymentMethodEnum;
14
+ result: CollectionResultStatus;
15
+ }
16
+ /** Página del historial de pagos. El fin lo marca la ausencia de `nextToken`. */
17
+ export interface MyPaymentPage {
18
+ items: MyPayment[];
19
+ nextToken?: string;
20
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ /** Ids de grupo que exige el módulo de la app (`DocumentGroupList`): minúsculas a propósito. */
2
+ export declare enum MyDocumentGroupIdEnum {
3
+ CONTRACT = "contract",
4
+ MONTHLY = "monthly"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MyDocumentGroupIdEnum = void 0;
4
+ /** Ids de grupo que exige el módulo de la app (`DocumentGroupList`): minúsculas a propósito. */
5
+ var MyDocumentGroupIdEnum;
6
+ (function (MyDocumentGroupIdEnum) {
7
+ MyDocumentGroupIdEnum["CONTRACT"] = "contract";
8
+ MyDocumentGroupIdEnum["MONTHLY"] = "monthly";
9
+ })(MyDocumentGroupIdEnum || (exports.MyDocumentGroupIdEnum = MyDocumentGroupIdEnum = {}));
@@ -0,0 +1,4 @@
1
+ export declare enum MyDocumentKindEnum {
2
+ CONTRACT = "CONTRACT",
3
+ MONTHLY_STATEMENT = "MONTHLY_STATEMENT"
4
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MyDocumentKindEnum = void 0;
4
+ var MyDocumentKindEnum;
5
+ (function (MyDocumentKindEnum) {
6
+ MyDocumentKindEnum["CONTRACT"] = "CONTRACT";
7
+ MyDocumentKindEnum["MONTHLY_STATEMENT"] = "MONTHLY_STATEMENT";
8
+ })(MyDocumentKindEnum || (exports.MyDocumentKindEnum = MyDocumentKindEnum = {}));
@@ -0,0 +1,5 @@
1
+ /** READY = el PDF existe y se puede pedir su URL; PENDING = aún no se genera. */
2
+ export declare enum MyDocumentStatusEnum {
3
+ READY = "READY",
4
+ PENDING = "PENDING"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MyDocumentStatusEnum = void 0;
4
+ /** READY = el PDF existe y se puede pedir su URL; PENDING = aún no se genera. */
5
+ var MyDocumentStatusEnum;
6
+ (function (MyDocumentStatusEnum) {
7
+ MyDocumentStatusEnum["READY"] = "READY";
8
+ MyDocumentStatusEnum["PENDING"] = "PENDING";
9
+ })(MyDocumentStatusEnum || (exports.MyDocumentStatusEnum = MyDocumentStatusEnum = {}));
@@ -0,0 +1,7 @@
1
+ /** Estado de una cuota tal como la pinta la app. NEXT = la primera abierta cuando no hay vencidas. */
2
+ export declare enum MyInstallmentDisplayStatusEnum {
3
+ PAID = "PAID",
4
+ NEXT = "NEXT",
5
+ FUTURE = "FUTURE",
6
+ OVERDUE = "OVERDUE"
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MyInstallmentDisplayStatusEnum = void 0;
4
+ /** Estado de una cuota tal como la pinta la app. NEXT = la primera abierta cuando no hay vencidas. */
5
+ var MyInstallmentDisplayStatusEnum;
6
+ (function (MyInstallmentDisplayStatusEnum) {
7
+ MyInstallmentDisplayStatusEnum["PAID"] = "PAID";
8
+ MyInstallmentDisplayStatusEnum["NEXT"] = "NEXT";
9
+ MyInstallmentDisplayStatusEnum["FUTURE"] = "FUTURE";
10
+ MyInstallmentDisplayStatusEnum["OVERDUE"] = "OVERDUE";
11
+ })(MyInstallmentDisplayStatusEnum || (exports.MyInstallmentDisplayStatusEnum = MyInstallmentDisplayStatusEnum = {}));
@@ -0,0 +1,4 @@
1
+ /** Frecuencia del plan. Hoy todo plan es semanal (loan-credit define el plan en `termWeeks`). */
2
+ export declare enum MyPaymentFrequencyEnum {
3
+ WEEKLY = "WEEKLY"
4
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MyPaymentFrequencyEnum = void 0;
4
+ /** Frecuencia del plan. Hoy todo plan es semanal (loan-credit define el plan en `termWeeks`). */
5
+ var MyPaymentFrequencyEnum;
6
+ (function (MyPaymentFrequencyEnum) {
7
+ MyPaymentFrequencyEnum["WEEKLY"] = "WEEKLY";
8
+ })(MyPaymentFrequencyEnum || (exports.MyPaymentFrequencyEnum = MyPaymentFrequencyEnum = {}));
@@ -0,0 +1,7 @@
1
+ /** Con qué se cobró un pago, sin nombres de instituciones (M1_WIZARD: "cuenta Pago Confiado"). */
2
+ export declare enum MyPaymentMethodEnum {
3
+ /** MXN_DIRECT: débito a la cuenta PagoConFiado en pesos. */
4
+ PCF_ACCOUNT = "PCF_ACCOUNT",
5
+ /** USD_DIRECT / USD_PREAUTH: cuenta en dólares. */
6
+ USD_ACCOUNT = "USD_ACCOUNT"
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MyPaymentMethodEnum = void 0;
4
+ /** Con qué se cobró un pago, sin nombres de instituciones (M1_WIZARD: "cuenta Pago Confiado"). */
5
+ var MyPaymentMethodEnum;
6
+ (function (MyPaymentMethodEnum) {
7
+ /** MXN_DIRECT: débito a la cuenta PagoConFiado en pesos. */
8
+ MyPaymentMethodEnum["PCF_ACCOUNT"] = "PCF_ACCOUNT";
9
+ /** USD_DIRECT / USD_PREAUTH: cuenta en dólares. */
10
+ MyPaymentMethodEnum["USD_ACCOUNT"] = "USD_ACCOUNT";
11
+ })(MyPaymentMethodEnum || (exports.MyPaymentMethodEnum = MyPaymentMethodEnum = {}));
@@ -0,0 +1,12 @@
1
+ export * from './enums/MyInstallmentDisplayStatusEnum';
2
+ export * from './enums/MyPaymentMethodEnum';
3
+ export * from './enums/MyDocumentKindEnum';
4
+ export * from './enums/MyDocumentStatusEnum';
5
+ export * from './enums/MyDocumentGroupIdEnum';
6
+ export * from './enums/MyPaymentFrequencyEnum';
7
+ export * from './dtos/MyCreditSummary';
8
+ export * from './dtos/MyCreditDetail';
9
+ export * from './dtos/MyInstallment';
10
+ export * from './dtos/MyPayment';
11
+ export * from './dtos/MyDocument';
12
+ export * from './dtos/MyDocumentUrl';
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Enums
18
+ __exportStar(require("./enums/MyInstallmentDisplayStatusEnum"), exports);
19
+ __exportStar(require("./enums/MyPaymentMethodEnum"), exports);
20
+ __exportStar(require("./enums/MyDocumentKindEnum"), exports);
21
+ __exportStar(require("./enums/MyDocumentStatusEnum"), exports);
22
+ __exportStar(require("./enums/MyDocumentGroupIdEnum"), exports);
23
+ __exportStar(require("./enums/MyPaymentFrequencyEnum"), exports);
24
+ // Contrato app ↔ retail-loan-connector (I1 · fase 1: lectura)
25
+ __exportStar(require("./dtos/MyCreditSummary"), exports);
26
+ __exportStar(require("./dtos/MyCreditDetail"), exports);
27
+ __exportStar(require("./dtos/MyInstallment"), exports);
28
+ __exportStar(require("./dtos/MyPayment"), exports);
29
+ __exportStar(require("./dtos/MyDocument"), exports);
30
+ __exportStar(require("./dtos/MyDocumentUrl"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.456.0",
3
+ "version": "3.458.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -12,6 +12,7 @@ import {
12
12
  } from "class-validator";
13
13
  import { Type } from "class-transformer";
14
14
  import { BenefitModuleConfigRequest } from "./BenefitModuleConfigRequest";
15
+ import { BenefitSuiteConfigRequest } from "./BenefitSuiteConfigRequest";
15
16
 
16
17
  /** Mirror enum-like de BenefitCatalogStatus en el type-kit (para validación). */
17
18
  export enum BenefitCatalogStatusEnum {
@@ -60,6 +61,12 @@ export class BenefitCreateRequest {
60
61
  @Type(() => BenefitModuleConfigRequest)
61
62
  moduleConfig!: BenefitModuleConfigRequest;
62
63
 
64
+ /** Tenant de la suite (I1). Obligatorio si el flow es RETAIL_LOAN; lo valida el backend. */
65
+ @IsOptional()
66
+ @ValidateNested()
67
+ @Type(() => BenefitSuiteConfigRequest)
68
+ suiteConfig?: BenefitSuiteConfigRequest;
69
+
63
70
  /**
64
71
  * Reglas de visibilidad. `null` se acepta como "beneficio público"
65
72
  * (visible a todos los usuarios); `undefined` también — el backend
@@ -0,0 +1,12 @@
1
+ import { IsNotEmpty, IsString } from "class-validator";
2
+
3
+ /**
4
+ * Configuración de suite de un beneficio (I1): el tenant de FiadoLend/FiadoRetail que atiende este
5
+ * beneficio (p. ej. la SOFOM). Obligatoria cuando el flow es RETAIL_LOAN; la regla la aplica
6
+ * benefits-marketplace-business porque depende de los flows en datos.
7
+ */
8
+ export class BenefitSuiteConfigRequest {
9
+ @IsNotEmpty()
10
+ @IsString()
11
+ tenantId!: string;
12
+ }
@@ -0,0 +1,17 @@
1
+ import { BenefitCatalogStatusEnum } from "./BenefitCreateRequest";
2
+
3
+ /**
4
+ * Respuesta de `GET /benefits/{benefitId}/suite` (privado de benefits-marketplace-business, I1).
5
+ * Lo consume retail-loan-connector para resolver el tenant del beneficio del lado del servidor.
6
+ * NO evalúa visibilidad: solo describe el beneficio.
7
+ */
8
+ export interface BenefitSuiteResponse {
9
+ benefitId: string;
10
+ status: BenefitCatalogStatusEnum;
11
+ /** `reference` del Flow (p. ej. "RETAIL_LOAN"). */
12
+ flow: string;
13
+ /** Tenant de la suite; ausente si el beneficio no tiene `suiteConfig`. */
14
+ tenantId?: string;
15
+ name: string;
16
+ icon?: string;
17
+ }
@@ -15,6 +15,7 @@ import {
15
15
  BenefitCatalogStatusEnum,
16
16
  } from "./BenefitCreateRequest";
17
17
  import { BenefitModuleConfigRequest } from "./BenefitModuleConfigRequest";
18
+ import { BenefitSuiteConfigRequest } from "./BenefitSuiteConfigRequest";
18
19
 
19
20
  export class BenefitUpdateRequest {
20
21
  @IsOptional() @IsString() name?: string;
@@ -31,6 +32,12 @@ export class BenefitUpdateRequest {
31
32
  @Type(() => BenefitModuleConfigRequest)
32
33
  moduleConfig?: BenefitModuleConfigRequest;
33
34
 
35
+ /** Tenant de la suite (I1). `undefined` no toca el campo. */
36
+ @IsOptional()
37
+ @ValidateNested()
38
+ @Type(() => BenefitSuiteConfigRequest)
39
+ suiteConfig?: BenefitSuiteConfigRequest;
40
+
34
41
  /**
35
42
  * Reglas de visibilidad — patch parcial:
36
43
  * - `undefined` → no toca el campo existente.
@@ -42,6 +42,9 @@ export * from "./dtos/BenefitModuleEntryRequest";
42
42
  export * from "./dtos/BenefitModuleConfigRequest";
43
43
  export * from "./dtos/BenefitCreateRequest";
44
44
  export * from "./dtos/BenefitUpdateRequest";
45
+ // I1 · suite del beneficio (tenant de FiadoLend/FiadoRetail)
46
+ export * from "./dtos/BenefitSuiteConfigRequest";
47
+ export * from "./dtos/BenefitSuiteResponse";
45
48
  export * from "./dtos/BannerTranslationRequest";
46
49
  export * from "./dtos/BannerTranslationsRequest";
47
50
  export * from "./dtos/BannerContentRequest";
@@ -1,6 +1,7 @@
1
1
  import { Expose } from 'class-transformer';
2
2
  import { EmailVerificationStatusEnum } from '../enums/EmailVerificationStatusEnum';
3
3
  import { EmailLinkExpirationReasonEnum } from '../enums/EmailLinkExpirationReasonEnum';
4
+ import { EmailTypeEnum } from '../enums/EmailTypeEnum';
4
5
 
5
6
  /**
6
7
  * Item de email asociado a un directorio. Se reutiliza en EmailListResponse
@@ -19,6 +20,9 @@ export class EmailItem {
19
20
  @Expose()
20
21
  status!: EmailVerificationStatusEnum;
21
22
 
23
+ @Expose()
24
+ type!: EmailTypeEnum;
25
+
22
26
  @Expose()
23
27
  verifiedAt?: number;
24
28
 
@@ -0,0 +1,21 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { IsEmail, IsEnum, IsString } from 'class-validator';
3
+ import { EmailTypeEnum } from '../enums/EmailTypeEnum';
4
+
5
+ /**
6
+ * Body para registrar un correo como confiable (backoffice): se guarda ya
7
+ * verificado, sin mandar el link de verificación.
8
+ */
9
+ export class EmailSetTrustedRequest {
10
+ @Expose()
11
+ @IsString()
12
+ directoryId!: string;
13
+
14
+ @Expose()
15
+ @IsEmail()
16
+ email!: string;
17
+
18
+ @Expose()
19
+ @IsEnum(EmailTypeEnum)
20
+ type!: EmailTypeEnum;
21
+ }