@fiado/type-kit 3.610.0 → 3.611.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.
@@ -3,6 +3,8 @@ import {
3
3
  ContractTypeEnum,
4
4
  CreditSaleContext,
5
5
  LoanContractDownloadUrl,
6
+ LoanCustomerCreditDocument,
7
+ LoanCustomerCreditDocumentUrl,
6
8
  LoanPaymentListItem,
7
9
  LoanPaymentListResponse,
8
10
  } from '../../../src/loanCredit/index';
@@ -68,4 +70,24 @@ describe('loanCredit — DTOs de lectura de cliente (I1)', () => {
68
70
  };
69
71
  expect(url.type).toBe(ContractTypeEnum.CREDIT);
70
72
  });
73
+
74
+ it('un documento del ciclo de vida sin PDF todavía no tiene fecha de generación', () => {
75
+ const pending: LoanCustomerCreditDocument = {
76
+ documentType: ContractTypeEnum.PAYMENT_RECEIPT,
77
+ documentKey: '01K8Z5Q2J6V3W4X5Y6Z7A8B9C0',
78
+ generatedAt: null,
79
+ };
80
+ expect(pending.generatedAt).toBeNull();
81
+ });
82
+
83
+ it('la URL de un documento del ciclo de vida trae su tipo, su llave y su vencimiento', () => {
84
+ const url: LoanCustomerCreditDocumentUrl = {
85
+ creditId: 'CR-1',
86
+ documentType: ContractTypeEnum.ACCOUNT_STATEMENT,
87
+ documentKey: '2026-09',
88
+ url: 'https://s3.example/statement.pdf',
89
+ expiresAt: '2026-10-21T15:00:00.000Z',
90
+ };
91
+ expect(url.documentKey).toBe('2026-09');
92
+ });
71
93
  });
@@ -18,6 +18,11 @@ describe('retailLoan — contrato app ↔ retail-loan-business (I1)', () => {
18
18
  it('los ids de grupo de documentos son los que espera el módulo de la app', () => {
19
19
  expect(MyDocumentGroupIdEnum.CONTRACT).toBe('contract');
20
20
  expect(MyDocumentGroupIdEnum.MONTHLY).toBe('monthly');
21
+ expect(MyDocumentGroupIdEnum.PAYMENT_RECEIPTS).toBe('receipts');
22
+ });
23
+
24
+ it('un comprobante de pago es su propio tipo de documento', () => {
25
+ expect(MyDocumentKindEnum.PAYMENT_RECEIPT).toBe('PAYMENT_RECEIPT');
21
26
  });
22
27
 
23
28
  it('el detalle del crédito va en pesos y con frecuencia semanal', () => {
@@ -0,0 +1,9 @@
1
+ import { ContractTypeEnum } from '../../enums/ContractTypeEnum';
2
+ /** Documento del ciclo de vida de un crédito, visto por su acreditado. */
3
+ export interface LoanCustomerCreditDocument {
4
+ documentType: ContractTypeEnum;
5
+ /** Llave del documento: el paymentId en un comprobante, el periodo `YYYY-MM` en un estado de cuenta. */
6
+ documentKey: string;
7
+ /** ISO-8601; `null` mientras el PDF no se haya generado. */
8
+ generatedAt: string | null;
9
+ }
@@ -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 documento del ciclo de vida. `expiresAt` en ISO-8601. */
3
+ export interface LoanCustomerCreditDocumentUrl {
4
+ creditId: string;
5
+ documentType: ContractTypeEnum;
6
+ documentKey: string;
7
+ url: string;
8
+ expiresAt: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -42,6 +42,8 @@ export * from './dtos/responses/LoanPaymentListItem';
42
42
  export * from './dtos/responses/LoanContractDownloadUrl';
43
43
  export * from './dtos/responses/LoanContractPreview';
44
44
  export * from './dtos/responses/LoanContractResponse';
45
+ export * from './dtos/responses/LoanCustomerCreditDocument';
46
+ export * from './dtos/responses/LoanCustomerCreditDocumentUrl';
45
47
  export * from './dtos/responses/OriginateLoanCreditResponse';
46
48
  export * from './dtos/responses/QuoteLoanCreditResponse';
47
49
  export * from './dtos/responses/SignLoanCreditResponse';
@@ -66,6 +66,8 @@ __exportStar(require("./dtos/responses/LoanPaymentListItem"), exports);
66
66
  __exportStar(require("./dtos/responses/LoanContractDownloadUrl"), exports);
67
67
  __exportStar(require("./dtos/responses/LoanContractPreview"), exports);
68
68
  __exportStar(require("./dtos/responses/LoanContractResponse"), exports);
69
+ __exportStar(require("./dtos/responses/LoanCustomerCreditDocument"), exports);
70
+ __exportStar(require("./dtos/responses/LoanCustomerCreditDocumentUrl"), exports);
69
71
  __exportStar(require("./dtos/responses/OriginateLoanCreditResponse"), exports);
70
72
  __exportStar(require("./dtos/responses/QuoteLoanCreditResponse"), exports);
71
73
  __exportStar(require("./dtos/responses/SignLoanCreditResponse"), exports);
@@ -4,7 +4,8 @@ import { MyDocumentKindEnum } from '../enums/MyDocumentKindEnum';
4
4
  import { MyDocumentStatusEnum } from '../enums/MyDocumentStatusEnum';
5
5
  /**
6
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.
7
+ * `doc-contract-<contractId>` para contratos, `doc-stmt-YYYY-MM` para estados de cuenta y
8
+ * `doc-receipt-<paymentId>` para comprobantes de pago.
8
9
  */
9
10
  export interface MyDocument {
10
11
  documentRef: string;
@@ -1,5 +1,6 @@
1
1
  /** Ids de grupo que exige el módulo de la app (`DocumentGroupList`): minúsculas a propósito. */
2
2
  export declare enum MyDocumentGroupIdEnum {
3
3
  CONTRACT = "contract",
4
- MONTHLY = "monthly"
4
+ MONTHLY = "monthly",
5
+ PAYMENT_RECEIPTS = "receipts"
5
6
  }
@@ -6,4 +6,5 @@ var MyDocumentGroupIdEnum;
6
6
  (function (MyDocumentGroupIdEnum) {
7
7
  MyDocumentGroupIdEnum["CONTRACT"] = "contract";
8
8
  MyDocumentGroupIdEnum["MONTHLY"] = "monthly";
9
+ MyDocumentGroupIdEnum["PAYMENT_RECEIPTS"] = "receipts";
9
10
  })(MyDocumentGroupIdEnum || (exports.MyDocumentGroupIdEnum = MyDocumentGroupIdEnum = {}));
@@ -1,4 +1,5 @@
1
1
  export declare enum MyDocumentKindEnum {
2
2
  CONTRACT = "CONTRACT",
3
- MONTHLY_STATEMENT = "MONTHLY_STATEMENT"
3
+ MONTHLY_STATEMENT = "MONTHLY_STATEMENT",
4
+ PAYMENT_RECEIPT = "PAYMENT_RECEIPT"
4
5
  }
@@ -5,4 +5,5 @@ var MyDocumentKindEnum;
5
5
  (function (MyDocumentKindEnum) {
6
6
  MyDocumentKindEnum["CONTRACT"] = "CONTRACT";
7
7
  MyDocumentKindEnum["MONTHLY_STATEMENT"] = "MONTHLY_STATEMENT";
8
+ MyDocumentKindEnum["PAYMENT_RECEIPT"] = "PAYMENT_RECEIPT";
8
9
  })(MyDocumentKindEnum || (exports.MyDocumentKindEnum = MyDocumentKindEnum = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.610.0",
3
+ "version": "3.611.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -0,0 +1,10 @@
1
+ import { ContractTypeEnum } from '../../enums/ContractTypeEnum';
2
+
3
+ /** Documento del ciclo de vida de un crédito, visto por su acreditado. */
4
+ export interface LoanCustomerCreditDocument {
5
+ documentType: ContractTypeEnum;
6
+ /** Llave del documento: el paymentId en un comprobante, el periodo `YYYY-MM` en un estado de cuenta. */
7
+ documentKey: string;
8
+ /** ISO-8601; `null` mientras el PDF no se haya generado. */
9
+ generatedAt: string | null;
10
+ }
@@ -0,0 +1,10 @@
1
+ import { ContractTypeEnum } from '../../enums/ContractTypeEnum';
2
+
3
+ /** Enlace prefirmado y temporal del PDF de un documento del ciclo de vida. `expiresAt` en ISO-8601. */
4
+ export interface LoanCustomerCreditDocumentUrl {
5
+ creditId: string;
6
+ documentType: ContractTypeEnum;
7
+ documentKey: string;
8
+ url: string;
9
+ expiresAt: string;
10
+ }
@@ -51,6 +51,8 @@ export * from './dtos/responses/LoanPaymentListItem';
51
51
  export * from './dtos/responses/LoanContractDownloadUrl';
52
52
  export * from './dtos/responses/LoanContractPreview';
53
53
  export * from './dtos/responses/LoanContractResponse';
54
+ export * from './dtos/responses/LoanCustomerCreditDocument';
55
+ export * from './dtos/responses/LoanCustomerCreditDocumentUrl';
54
56
  export * from './dtos/responses/OriginateLoanCreditResponse';
55
57
  export * from './dtos/responses/QuoteLoanCreditResponse';
56
58
  export * from './dtos/responses/SignLoanCreditResponse';
@@ -5,7 +5,8 @@ import { MyDocumentStatusEnum } from '../enums/MyDocumentStatusEnum';
5
5
 
6
6
  /**
7
7
  * Un documento del crédito. `documentRef` sigue la convención del módulo de la app:
8
- * `doc-contract-<contractId>` para contratos y `doc-stmt-YYYY-MM` para estados de cuenta.
8
+ * `doc-contract-<contractId>` para contratos, `doc-stmt-YYYY-MM` para estados de cuenta y
9
+ * `doc-receipt-<paymentId>` para comprobantes de pago.
9
10
  */
10
11
  export interface MyDocument {
11
12
  documentRef: string;
@@ -2,4 +2,5 @@
2
2
  export enum MyDocumentGroupIdEnum {
3
3
  CONTRACT = 'contract',
4
4
  MONTHLY = 'monthly',
5
+ PAYMENT_RECEIPTS = 'receipts',
5
6
  }
@@ -1,4 +1,5 @@
1
1
  export enum MyDocumentKindEnum {
2
2
  CONTRACT = 'CONTRACT',
3
3
  MONTHLY_STATEMENT = 'MONTHLY_STATEMENT',
4
+ PAYMENT_RECEIPT = 'PAYMENT_RECEIPT',
4
5
  }