@fiado/type-kit 3.185.0 → 3.186.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 (70) hide show
  1. package/bin/index.d.ts +1 -0
  2. package/bin/index.js +4 -1
  3. package/bin/loanOfferings/dtos/CreditPlan.d.ts +52 -0
  4. package/bin/loanOfferings/dtos/CreditPlan.js +184 -0
  5. package/bin/loanOfferings/dtos/Financier.d.ts +30 -0
  6. package/bin/loanOfferings/dtos/Financier.js +103 -0
  7. package/bin/loanOfferings/dtos/RetailerCreditPlan.d.ts +15 -0
  8. package/bin/loanOfferings/dtos/RetailerCreditPlan.js +71 -0
  9. package/bin/loanOfferings/dtos/requests/ChangeCreditPlanStatusRequest.d.ts +8 -0
  10. package/bin/loanOfferings/dtos/requests/ChangeCreditPlanStatusRequest.js +27 -0
  11. package/bin/loanOfferings/dtos/requests/ChangeFinancierStatusRequest.d.ts +8 -0
  12. package/bin/loanOfferings/dtos/requests/ChangeFinancierStatusRequest.js +27 -0
  13. package/bin/loanOfferings/dtos/requests/CreateCreditPlanRequest.d.ts +27 -0
  14. package/bin/loanOfferings/dtos/requests/CreateCreditPlanRequest.js +137 -0
  15. package/bin/loanOfferings/dtos/requests/CreateFinancierRequest.d.ts +17 -0
  16. package/bin/loanOfferings/dtos/requests/CreateFinancierRequest.js +70 -0
  17. package/bin/loanOfferings/dtos/requests/ReorderFinancierRequest.d.ts +7 -0
  18. package/bin/loanOfferings/dtos/requests/ReorderFinancierRequest.js +27 -0
  19. package/bin/loanOfferings/dtos/requests/SimulateCreditPlanRequest.d.ts +11 -0
  20. package/bin/loanOfferings/dtos/requests/SimulateCreditPlanRequest.js +49 -0
  21. package/bin/loanOfferings/dtos/requests/UpdateCreditPlanRequest.d.ts +25 -0
  22. package/bin/loanOfferings/dtos/requests/UpdateCreditPlanRequest.js +134 -0
  23. package/bin/loanOfferings/dtos/requests/UpdateFinancierRequest.d.ts +12 -0
  24. package/bin/loanOfferings/dtos/requests/UpdateFinancierRequest.js +53 -0
  25. package/bin/loanOfferings/dtos/responses/CreditPlanResponse.d.ts +35 -0
  26. package/bin/loanOfferings/dtos/responses/CreditPlanResponse.js +2 -0
  27. package/bin/loanOfferings/dtos/responses/FinancierResponse.d.ts +23 -0
  28. package/bin/loanOfferings/dtos/responses/FinancierResponse.js +2 -0
  29. package/bin/loanOfferings/dtos/responses/RetailerCreditPlanResponse.d.ts +14 -0
  30. package/bin/loanOfferings/dtos/responses/RetailerCreditPlanResponse.js +2 -0
  31. package/bin/loanOfferings/dtos/responses/SimulationResultResponse.d.ts +44 -0
  32. package/bin/loanOfferings/dtos/responses/SimulationResultResponse.js +2 -0
  33. package/bin/loanOfferings/enums/CreditPlanLevelEnum.d.ts +12 -0
  34. package/bin/loanOfferings/enums/CreditPlanLevelEnum.js +16 -0
  35. package/bin/loanOfferings/enums/CreditPlanStatusEnum.d.ts +8 -0
  36. package/bin/loanOfferings/enums/CreditPlanStatusEnum.js +12 -0
  37. package/bin/loanOfferings/enums/FinancierStatusEnum.d.ts +9 -0
  38. package/bin/loanOfferings/enums/FinancierStatusEnum.js +13 -0
  39. package/bin/loanOfferings/enums/FinancierTypeEnum.d.ts +9 -0
  40. package/bin/loanOfferings/enums/FinancierTypeEnum.js +13 -0
  41. package/bin/loanOfferings/enums/ProductTierEnum.d.ts +15 -0
  42. package/bin/loanOfferings/enums/ProductTierEnum.js +19 -0
  43. package/bin/loanOfferings/enums/SaleTypeEnum.d.ts +13 -0
  44. package/bin/loanOfferings/enums/SaleTypeEnum.js +17 -0
  45. package/bin/loanOfferings/index.d.ts +21 -0
  46. package/bin/loanOfferings/index.js +41 -0
  47. package/package.json +1 -1
  48. package/src/index.ts +3 -0
  49. package/src/loanOfferings/dtos/CreditPlan.ts +171 -0
  50. package/src/loanOfferings/dtos/Financier.ts +91 -0
  51. package/src/loanOfferings/dtos/RetailerCreditPlan.ts +49 -0
  52. package/src/loanOfferings/dtos/requests/ChangeCreditPlanStatusRequest.ts +13 -0
  53. package/src/loanOfferings/dtos/requests/ChangeFinancierStatusRequest.ts +13 -0
  54. package/src/loanOfferings/dtos/requests/CreateCreditPlanRequest.ts +118 -0
  55. package/src/loanOfferings/dtos/requests/CreateFinancierRequest.ts +57 -0
  56. package/src/loanOfferings/dtos/requests/ReorderFinancierRequest.ts +13 -0
  57. package/src/loanOfferings/dtos/requests/SimulateCreditPlanRequest.ts +32 -0
  58. package/src/loanOfferings/dtos/requests/UpdateCreditPlanRequest.ts +117 -0
  59. package/src/loanOfferings/dtos/requests/UpdateFinancierRequest.ts +41 -0
  60. package/src/loanOfferings/dtos/responses/CreditPlanResponse.ts +36 -0
  61. package/src/loanOfferings/dtos/responses/FinancierResponse.ts +24 -0
  62. package/src/loanOfferings/dtos/responses/RetailerCreditPlanResponse.ts +14 -0
  63. package/src/loanOfferings/dtos/responses/SimulationResultResponse.ts +45 -0
  64. package/src/loanOfferings/enums/CreditPlanLevelEnum.ts +12 -0
  65. package/src/loanOfferings/enums/CreditPlanStatusEnum.ts +8 -0
  66. package/src/loanOfferings/enums/FinancierStatusEnum.ts +9 -0
  67. package/src/loanOfferings/enums/FinancierTypeEnum.ts +9 -0
  68. package/src/loanOfferings/enums/ProductTierEnum.ts +15 -0
  69. package/src/loanOfferings/enums/SaleTypeEnum.ts +13 -0
  70. package/src/loanOfferings/index.ts +28 -0
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CreateCreditPlanRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const CreditPlanLevelEnum_1 = require("../../enums/CreditPlanLevelEnum");
16
+ const ProductTierEnum_1 = require("../../enums/ProductTierEnum");
17
+ const SaleTypeEnum_1 = require("../../enums/SaleTypeEnum");
18
+ /**
19
+ * Body de POST /credit-plans — alta de un plan (SureKeep Fase 1 — pista Loan).
20
+ * Campos server-assigned (`planId`, `version`, `ivaOnInterest`=0.16, `status`, auditoría) NO viajan
21
+ * en el request: los asigna el lambda. `tnaAnnual` en decimal; rango de negocio [2.00, 2.60].
22
+ */
23
+ class CreateCreditPlanRequest {
24
+ }
25
+ exports.CreateCreditPlanRequest = CreateCreditPlanRequest;
26
+ __decorate([
27
+ (0, class_transformer_1.Expose)(),
28
+ (0, class_validator_1.IsString)(),
29
+ __metadata("design:type", String)
30
+ ], CreateCreditPlanRequest.prototype, "code", void 0);
31
+ __decorate([
32
+ (0, class_transformer_1.Expose)(),
33
+ (0, class_validator_1.IsString)(),
34
+ __metadata("design:type", String)
35
+ ], CreateCreditPlanRequest.prototype, "name", void 0);
36
+ __decorate([
37
+ (0, class_transformer_1.Expose)(),
38
+ (0, class_validator_1.IsString)(),
39
+ __metadata("design:type", String)
40
+ ], CreateCreditPlanRequest.prototype, "description", void 0);
41
+ __decorate([
42
+ (0, class_transformer_1.Expose)(),
43
+ (0, class_validator_1.IsEnum)(CreditPlanLevelEnum_1.CreditPlanLevelEnum),
44
+ __metadata("design:type", String)
45
+ ], CreateCreditPlanRequest.prototype, "level", void 0);
46
+ __decorate([
47
+ (0, class_transformer_1.Expose)(),
48
+ (0, class_validator_1.IsArray)(),
49
+ (0, class_validator_1.ArrayNotEmpty)(),
50
+ (0, class_validator_1.IsEnum)(SaleTypeEnum_1.SaleTypeEnum, { each: true }),
51
+ __metadata("design:type", Array)
52
+ ], CreateCreditPlanRequest.prototype, "saleTypes", void 0);
53
+ __decorate([
54
+ (0, class_transformer_1.Expose)(),
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_1.IsArray)(),
57
+ (0, class_validator_1.IsEnum)(ProductTierEnum_1.ProductTierEnum, { each: true }),
58
+ __metadata("design:type", Array)
59
+ ], CreateCreditPlanRequest.prototype, "eligibleTiers", void 0);
60
+ __decorate([
61
+ (0, class_transformer_1.Expose)(),
62
+ (0, class_validator_1.IsNumber)(),
63
+ (0, class_validator_1.Min)(0),
64
+ (0, class_validator_1.Max)(1),
65
+ __metadata("design:type", Number)
66
+ ], CreateCreditPlanRequest.prototype, "minDownPaymentPct", void 0);
67
+ __decorate([
68
+ (0, class_transformer_1.Expose)(),
69
+ (0, class_validator_1.IsOptional)(),
70
+ (0, class_validator_1.IsNumber)(),
71
+ (0, class_validator_1.Min)(0),
72
+ (0, class_validator_1.Max)(1),
73
+ __metadata("design:type", Number)
74
+ ], CreateCreditPlanRequest.prototype, "maxDownPaymentPct", void 0);
75
+ __decorate([
76
+ (0, class_transformer_1.Expose)(),
77
+ (0, class_validator_1.IsArray)(),
78
+ (0, class_validator_1.ArrayNotEmpty)(),
79
+ (0, class_validator_1.IsInt)({ each: true }),
80
+ (0, class_validator_1.Min)(1, { each: true }),
81
+ __metadata("design:type", Array)
82
+ ], CreateCreditPlanRequest.prototype, "termWeeksOptions", void 0);
83
+ __decorate([
84
+ (0, class_transformer_1.Expose)(),
85
+ (0, class_validator_1.IsInt)(),
86
+ (0, class_validator_1.Min)(0),
87
+ __metadata("design:type", Number)
88
+ ], CreateCreditPlanRequest.prototype, "maxFinancedAmountCents", void 0);
89
+ __decorate([
90
+ (0, class_transformer_1.Expose)(),
91
+ (0, class_validator_1.IsNumber)(),
92
+ (0, class_validator_1.Min)(2.0),
93
+ (0, class_validator_1.Max)(2.6),
94
+ __metadata("design:type", Number)
95
+ ], CreateCreditPlanRequest.prototype, "tnaAnnual", void 0);
96
+ __decorate([
97
+ (0, class_transformer_1.Expose)(),
98
+ (0, class_validator_1.IsOptional)(),
99
+ (0, class_validator_1.IsNumber)(),
100
+ (0, class_validator_1.Min)(0),
101
+ (0, class_validator_1.Max)(1),
102
+ __metadata("design:type", Number)
103
+ ], CreateCreditPlanRequest.prototype, "openingCommissionPct", void 0);
104
+ __decorate([
105
+ (0, class_transformer_1.Expose)(),
106
+ (0, class_validator_1.IsOptional)(),
107
+ (0, class_validator_1.IsBoolean)(),
108
+ __metadata("design:type", Boolean)
109
+ ], CreateCreditPlanRequest.prototype, "paymentShift", void 0);
110
+ __decorate([
111
+ (0, class_transformer_1.Expose)(),
112
+ (0, class_validator_1.IsOptional)(),
113
+ (0, class_validator_1.IsInt)(),
114
+ (0, class_validator_1.Min)(0),
115
+ (0, class_validator_1.Max)(100),
116
+ __metadata("design:type", Number)
117
+ ], CreateCreditPlanRequest.prototype, "minSciScore", void 0);
118
+ __decorate([
119
+ (0, class_transformer_1.Expose)(),
120
+ (0, class_validator_1.IsOptional)(),
121
+ (0, class_validator_1.IsInt)(),
122
+ (0, class_validator_1.Min)(0),
123
+ (0, class_validator_1.Max)(100),
124
+ __metadata("design:type", Number)
125
+ ], CreateCreditPlanRequest.prototype, "maxSciScore", void 0);
126
+ __decorate([
127
+ (0, class_transformer_1.Expose)(),
128
+ (0, class_validator_1.IsOptional)(),
129
+ (0, class_validator_1.IsString)(),
130
+ __metadata("design:type", String)
131
+ ], CreateCreditPlanRequest.prototype, "validFrom", void 0);
132
+ __decorate([
133
+ (0, class_transformer_1.Expose)(),
134
+ (0, class_validator_1.IsOptional)(),
135
+ (0, class_validator_1.IsString)(),
136
+ __metadata("design:type", String)
137
+ ], CreateCreditPlanRequest.prototype, "validUntil", void 0);
@@ -0,0 +1,17 @@
1
+ import { FinancierTypeEnum } from '../../enums/FinancierTypeEnum';
2
+ import { ProductTierEnum } from '../../enums/ProductTierEnum';
3
+ /**
4
+ * Body de POST /financiers — alta de una financiera (SureKeep Fase 1 — pista Loan).
5
+ * `financierId` y auditoría los asigna el lambda; `status` default ACTIVE. `displayOrder` opcional
6
+ * (si no viene, se coloca al final del catálogo).
7
+ */
8
+ export declare class CreateFinancierRequest {
9
+ code: string;
10
+ name: string;
11
+ type: FinancierTypeEnum;
12
+ displayOrder?: number;
13
+ label: string;
14
+ externalRedirectUrl?: string | null;
15
+ eligibleTiers?: ProductTierEnum[] | null;
16
+ config?: Record<string, unknown> | null;
17
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CreateFinancierRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const FinancierTypeEnum_1 = require("../../enums/FinancierTypeEnum");
16
+ const ProductTierEnum_1 = require("../../enums/ProductTierEnum");
17
+ /**
18
+ * Body de POST /financiers — alta de una financiera (SureKeep Fase 1 — pista Loan).
19
+ * `financierId` y auditoría los asigna el lambda; `status` default ACTIVE. `displayOrder` opcional
20
+ * (si no viene, se coloca al final del catálogo).
21
+ */
22
+ class CreateFinancierRequest {
23
+ }
24
+ exports.CreateFinancierRequest = CreateFinancierRequest;
25
+ __decorate([
26
+ (0, class_transformer_1.Expose)(),
27
+ (0, class_validator_1.IsString)(),
28
+ __metadata("design:type", String)
29
+ ], CreateFinancierRequest.prototype, "code", void 0);
30
+ __decorate([
31
+ (0, class_transformer_1.Expose)(),
32
+ (0, class_validator_1.IsString)(),
33
+ __metadata("design:type", String)
34
+ ], CreateFinancierRequest.prototype, "name", void 0);
35
+ __decorate([
36
+ (0, class_transformer_1.Expose)(),
37
+ (0, class_validator_1.IsEnum)(FinancierTypeEnum_1.FinancierTypeEnum),
38
+ __metadata("design:type", String)
39
+ ], CreateFinancierRequest.prototype, "type", void 0);
40
+ __decorate([
41
+ (0, class_transformer_1.Expose)(),
42
+ (0, class_validator_1.IsOptional)(),
43
+ (0, class_validator_1.IsInt)(),
44
+ (0, class_validator_1.Min)(1),
45
+ __metadata("design:type", Number)
46
+ ], CreateFinancierRequest.prototype, "displayOrder", void 0);
47
+ __decorate([
48
+ (0, class_transformer_1.Expose)(),
49
+ (0, class_validator_1.IsString)(),
50
+ __metadata("design:type", String)
51
+ ], CreateFinancierRequest.prototype, "label", void 0);
52
+ __decorate([
53
+ (0, class_transformer_1.Expose)(),
54
+ (0, class_validator_1.IsOptional)(),
55
+ (0, class_validator_1.IsString)(),
56
+ __metadata("design:type", String)
57
+ ], CreateFinancierRequest.prototype, "externalRedirectUrl", void 0);
58
+ __decorate([
59
+ (0, class_transformer_1.Expose)(),
60
+ (0, class_validator_1.IsOptional)(),
61
+ (0, class_validator_1.IsArray)(),
62
+ (0, class_validator_1.IsEnum)(ProductTierEnum_1.ProductTierEnum, { each: true }),
63
+ __metadata("design:type", Array)
64
+ ], CreateFinancierRequest.prototype, "eligibleTiers", void 0);
65
+ __decorate([
66
+ (0, class_transformer_1.Expose)(),
67
+ (0, class_validator_1.IsOptional)(),
68
+ (0, class_validator_1.IsObject)(),
69
+ __metadata("design:type", Object)
70
+ ], CreateFinancierRequest.prototype, "config", void 0);
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Body de PUT /financiers/:financierId/reorder — nueva posición en el catálogo.
3
+ * El lambda renumera el resto de forma contigua (M6 §6 · flow 06 §6.2.1).
4
+ */
5
+ export declare class ReorderFinancierRequest {
6
+ displayOrder: number;
7
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ReorderFinancierRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ /**
16
+ * Body de PUT /financiers/:financierId/reorder — nueva posición en el catálogo.
17
+ * El lambda renumera el resto de forma contigua (M6 §6 · flow 06 §6.2.1).
18
+ */
19
+ class ReorderFinancierRequest {
20
+ }
21
+ exports.ReorderFinancierRequest = ReorderFinancierRequest;
22
+ __decorate([
23
+ (0, class_transformer_1.Expose)(),
24
+ (0, class_validator_1.IsInt)(),
25
+ (0, class_validator_1.Min)(1),
26
+ __metadata("design:type", Number)
27
+ ], ReorderFinancierRequest.prototype, "displayOrder", void 0);
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Body de POST /private/credit-plans/:planId/simulate y query de GET /credit-plans/:planId/simulator.
3
+ * Entradas del simulador de cuota (flow 06 §6.1.4). `productPriceCents` en cents; `downPaymentPct`
4
+ * decimal sobre 1. `customerSciScore` opcional: si viene, se valida contra el rango SCI del plan.
5
+ */
6
+ export declare class SimulateCreditPlanRequest {
7
+ productPriceCents: number;
8
+ downPaymentPct: number;
9
+ termWeeks: number;
10
+ customerSciScore?: number;
11
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SimulateCreditPlanRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ /**
16
+ * Body de POST /private/credit-plans/:planId/simulate y query de GET /credit-plans/:planId/simulator.
17
+ * Entradas del simulador de cuota (flow 06 §6.1.4). `productPriceCents` en cents; `downPaymentPct`
18
+ * decimal sobre 1. `customerSciScore` opcional: si viene, se valida contra el rango SCI del plan.
19
+ */
20
+ class SimulateCreditPlanRequest {
21
+ }
22
+ exports.SimulateCreditPlanRequest = SimulateCreditPlanRequest;
23
+ __decorate([
24
+ (0, class_transformer_1.Expose)(),
25
+ (0, class_validator_1.IsInt)(),
26
+ (0, class_validator_1.Min)(1),
27
+ __metadata("design:type", Number)
28
+ ], SimulateCreditPlanRequest.prototype, "productPriceCents", void 0);
29
+ __decorate([
30
+ (0, class_transformer_1.Expose)(),
31
+ (0, class_validator_1.IsNumber)(),
32
+ (0, class_validator_1.Min)(0),
33
+ (0, class_validator_1.Max)(1),
34
+ __metadata("design:type", Number)
35
+ ], SimulateCreditPlanRequest.prototype, "downPaymentPct", void 0);
36
+ __decorate([
37
+ (0, class_transformer_1.Expose)(),
38
+ (0, class_validator_1.IsInt)(),
39
+ (0, class_validator_1.Min)(1),
40
+ __metadata("design:type", Number)
41
+ ], SimulateCreditPlanRequest.prototype, "termWeeks", void 0);
42
+ __decorate([
43
+ (0, class_transformer_1.Expose)(),
44
+ (0, class_validator_1.IsOptional)(),
45
+ (0, class_validator_1.IsInt)(),
46
+ (0, class_validator_1.Min)(0),
47
+ (0, class_validator_1.Max)(100),
48
+ __metadata("design:type", Number)
49
+ ], SimulateCreditPlanRequest.prototype, "customerSciScore", void 0);
@@ -0,0 +1,25 @@
1
+ import { ProductTierEnum } from '../../enums/ProductTierEnum';
2
+ import { SaleTypeEnum } from '../../enums/SaleTypeEnum';
3
+ /**
4
+ * Body de PUT /credit-plans/:planId — edición parcial de parámetros del plan (todos opcionales).
5
+ * En F1 el PUT puede editar `min/maxSciScore` por-plan (DEC-004); el guard atómico anti-huecos
6
+ * entre planes (21-100) es F2/F3. El cambio de `status` va por su endpoint dedicado.
7
+ * `code` y `level` no se editan aquí (identidad/segmentación del plan).
8
+ */
9
+ export declare class UpdateCreditPlanRequest {
10
+ name?: string;
11
+ description?: string;
12
+ saleTypes?: SaleTypeEnum[];
13
+ eligibleTiers?: ProductTierEnum[] | null;
14
+ minDownPaymentPct?: number;
15
+ maxDownPaymentPct?: number | null;
16
+ termWeeksOptions?: number[];
17
+ maxFinancedAmountCents?: number;
18
+ tnaAnnual?: number;
19
+ openingCommissionPct?: number;
20
+ paymentShift?: boolean;
21
+ minSciScore?: number | null;
22
+ maxSciScore?: number | null;
23
+ validFrom?: string | null;
24
+ validUntil?: string | null;
25
+ }
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UpdateCreditPlanRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const ProductTierEnum_1 = require("../../enums/ProductTierEnum");
16
+ const SaleTypeEnum_1 = require("../../enums/SaleTypeEnum");
17
+ /**
18
+ * Body de PUT /credit-plans/:planId — edición parcial de parámetros del plan (todos opcionales).
19
+ * En F1 el PUT puede editar `min/maxSciScore` por-plan (DEC-004); el guard atómico anti-huecos
20
+ * entre planes (21-100) es F2/F3. El cambio de `status` va por su endpoint dedicado.
21
+ * `code` y `level` no se editan aquí (identidad/segmentación del plan).
22
+ */
23
+ class UpdateCreditPlanRequest {
24
+ }
25
+ exports.UpdateCreditPlanRequest = UpdateCreditPlanRequest;
26
+ __decorate([
27
+ (0, class_transformer_1.Expose)(),
28
+ (0, class_validator_1.IsOptional)(),
29
+ (0, class_validator_1.IsString)(),
30
+ __metadata("design:type", String)
31
+ ], UpdateCreditPlanRequest.prototype, "name", void 0);
32
+ __decorate([
33
+ (0, class_transformer_1.Expose)(),
34
+ (0, class_validator_1.IsOptional)(),
35
+ (0, class_validator_1.IsString)(),
36
+ __metadata("design:type", String)
37
+ ], UpdateCreditPlanRequest.prototype, "description", void 0);
38
+ __decorate([
39
+ (0, class_transformer_1.Expose)(),
40
+ (0, class_validator_1.IsOptional)(),
41
+ (0, class_validator_1.IsArray)(),
42
+ (0, class_validator_1.ArrayNotEmpty)(),
43
+ (0, class_validator_1.IsEnum)(SaleTypeEnum_1.SaleTypeEnum, { each: true }),
44
+ __metadata("design:type", Array)
45
+ ], UpdateCreditPlanRequest.prototype, "saleTypes", void 0);
46
+ __decorate([
47
+ (0, class_transformer_1.Expose)(),
48
+ (0, class_validator_1.IsOptional)(),
49
+ (0, class_validator_1.IsArray)(),
50
+ (0, class_validator_1.IsEnum)(ProductTierEnum_1.ProductTierEnum, { each: true }),
51
+ __metadata("design:type", Array)
52
+ ], UpdateCreditPlanRequest.prototype, "eligibleTiers", void 0);
53
+ __decorate([
54
+ (0, class_transformer_1.Expose)(),
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_1.IsNumber)(),
57
+ (0, class_validator_1.Min)(0),
58
+ (0, class_validator_1.Max)(1),
59
+ __metadata("design:type", Number)
60
+ ], UpdateCreditPlanRequest.prototype, "minDownPaymentPct", void 0);
61
+ __decorate([
62
+ (0, class_transformer_1.Expose)(),
63
+ (0, class_validator_1.IsOptional)(),
64
+ (0, class_validator_1.IsNumber)(),
65
+ (0, class_validator_1.Min)(0),
66
+ (0, class_validator_1.Max)(1),
67
+ __metadata("design:type", Number)
68
+ ], UpdateCreditPlanRequest.prototype, "maxDownPaymentPct", void 0);
69
+ __decorate([
70
+ (0, class_transformer_1.Expose)(),
71
+ (0, class_validator_1.IsOptional)(),
72
+ (0, class_validator_1.IsArray)(),
73
+ (0, class_validator_1.ArrayNotEmpty)(),
74
+ (0, class_validator_1.IsInt)({ each: true }),
75
+ (0, class_validator_1.Min)(1, { each: true }),
76
+ __metadata("design:type", Array)
77
+ ], UpdateCreditPlanRequest.prototype, "termWeeksOptions", void 0);
78
+ __decorate([
79
+ (0, class_transformer_1.Expose)(),
80
+ (0, class_validator_1.IsOptional)(),
81
+ (0, class_validator_1.IsInt)(),
82
+ (0, class_validator_1.Min)(0),
83
+ __metadata("design:type", Number)
84
+ ], UpdateCreditPlanRequest.prototype, "maxFinancedAmountCents", void 0);
85
+ __decorate([
86
+ (0, class_transformer_1.Expose)(),
87
+ (0, class_validator_1.IsOptional)(),
88
+ (0, class_validator_1.IsNumber)(),
89
+ (0, class_validator_1.Min)(2.0),
90
+ (0, class_validator_1.Max)(2.6),
91
+ __metadata("design:type", Number)
92
+ ], UpdateCreditPlanRequest.prototype, "tnaAnnual", void 0);
93
+ __decorate([
94
+ (0, class_transformer_1.Expose)(),
95
+ (0, class_validator_1.IsOptional)(),
96
+ (0, class_validator_1.IsNumber)(),
97
+ (0, class_validator_1.Min)(0),
98
+ (0, class_validator_1.Max)(1),
99
+ __metadata("design:type", Number)
100
+ ], UpdateCreditPlanRequest.prototype, "openingCommissionPct", void 0);
101
+ __decorate([
102
+ (0, class_transformer_1.Expose)(),
103
+ (0, class_validator_1.IsOptional)(),
104
+ (0, class_validator_1.IsBoolean)(),
105
+ __metadata("design:type", Boolean)
106
+ ], UpdateCreditPlanRequest.prototype, "paymentShift", void 0);
107
+ __decorate([
108
+ (0, class_transformer_1.Expose)(),
109
+ (0, class_validator_1.IsOptional)(),
110
+ (0, class_validator_1.IsInt)(),
111
+ (0, class_validator_1.Min)(0),
112
+ (0, class_validator_1.Max)(100),
113
+ __metadata("design:type", Number)
114
+ ], UpdateCreditPlanRequest.prototype, "minSciScore", void 0);
115
+ __decorate([
116
+ (0, class_transformer_1.Expose)(),
117
+ (0, class_validator_1.IsOptional)(),
118
+ (0, class_validator_1.IsInt)(),
119
+ (0, class_validator_1.Min)(0),
120
+ (0, class_validator_1.Max)(100),
121
+ __metadata("design:type", Number)
122
+ ], UpdateCreditPlanRequest.prototype, "maxSciScore", void 0);
123
+ __decorate([
124
+ (0, class_transformer_1.Expose)(),
125
+ (0, class_validator_1.IsOptional)(),
126
+ (0, class_validator_1.IsString)(),
127
+ __metadata("design:type", String)
128
+ ], UpdateCreditPlanRequest.prototype, "validFrom", void 0);
129
+ __decorate([
130
+ (0, class_transformer_1.Expose)(),
131
+ (0, class_validator_1.IsOptional)(),
132
+ (0, class_validator_1.IsString)(),
133
+ __metadata("design:type", String)
134
+ ], UpdateCreditPlanRequest.prototype, "validUntil", void 0);
@@ -0,0 +1,12 @@
1
+ import { ProductTierEnum } from '../../enums/ProductTierEnum';
2
+ /**
3
+ * Body de PUT /financiers/:financierId — edición parcial (todos opcionales).
4
+ * `code`, `type` y `displayOrder` no se editan aquí (identidad / orden por endpoint dedicado).
5
+ */
6
+ export declare class UpdateFinancierRequest {
7
+ name?: string;
8
+ label?: string;
9
+ externalRedirectUrl?: string | null;
10
+ eligibleTiers?: ProductTierEnum[] | null;
11
+ config?: Record<string, unknown> | null;
12
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UpdateFinancierRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const ProductTierEnum_1 = require("../../enums/ProductTierEnum");
16
+ /**
17
+ * Body de PUT /financiers/:financierId — edición parcial (todos opcionales).
18
+ * `code`, `type` y `displayOrder` no se editan aquí (identidad / orden por endpoint dedicado).
19
+ */
20
+ class UpdateFinancierRequest {
21
+ }
22
+ exports.UpdateFinancierRequest = UpdateFinancierRequest;
23
+ __decorate([
24
+ (0, class_transformer_1.Expose)(),
25
+ (0, class_validator_1.IsOptional)(),
26
+ (0, class_validator_1.IsString)(),
27
+ __metadata("design:type", String)
28
+ ], UpdateFinancierRequest.prototype, "name", void 0);
29
+ __decorate([
30
+ (0, class_transformer_1.Expose)(),
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsString)(),
33
+ __metadata("design:type", String)
34
+ ], UpdateFinancierRequest.prototype, "label", void 0);
35
+ __decorate([
36
+ (0, class_transformer_1.Expose)(),
37
+ (0, class_validator_1.IsOptional)(),
38
+ (0, class_validator_1.IsString)(),
39
+ __metadata("design:type", String)
40
+ ], UpdateFinancierRequest.prototype, "externalRedirectUrl", void 0);
41
+ __decorate([
42
+ (0, class_transformer_1.Expose)(),
43
+ (0, class_validator_1.IsOptional)(),
44
+ (0, class_validator_1.IsArray)(),
45
+ (0, class_validator_1.IsEnum)(ProductTierEnum_1.ProductTierEnum, { each: true }),
46
+ __metadata("design:type", Array)
47
+ ], UpdateFinancierRequest.prototype, "eligibleTiers", void 0);
48
+ __decorate([
49
+ (0, class_transformer_1.Expose)(),
50
+ (0, class_validator_1.IsOptional)(),
51
+ (0, class_validator_1.IsObject)(),
52
+ __metadata("design:type", Object)
53
+ ], UpdateFinancierRequest.prototype, "config", void 0);
@@ -0,0 +1,35 @@
1
+ import { CreditPlanLevelEnum } from '../../enums/CreditPlanLevelEnum';
2
+ import { CreditPlanStatusEnum } from '../../enums/CreditPlanStatusEnum';
3
+ import { ProductTierEnum } from '../../enums/ProductTierEnum';
4
+ import { SaleTypeEnum } from '../../enums/SaleTypeEnum';
5
+ /**
6
+ * Shape de salida de un plan de crédito (GET / POST / PUT de /credit-plans).
7
+ * Montos en cents; porcentajes y TNA en decimal.
8
+ */
9
+ export interface CreditPlanResponse {
10
+ planId: string;
11
+ code: string;
12
+ name: string;
13
+ description: string;
14
+ level: CreditPlanLevelEnum;
15
+ saleTypes: SaleTypeEnum[];
16
+ eligibleTiers: ProductTierEnum[] | null;
17
+ minDownPaymentPct: number;
18
+ maxDownPaymentPct: number | null;
19
+ termWeeksOptions: number[];
20
+ maxFinancedAmountCents: number;
21
+ tnaAnnual: number;
22
+ ivaOnInterest: number;
23
+ openingCommissionPct: number;
24
+ paymentShift: boolean;
25
+ minSciScore: number | null;
26
+ maxSciScore: number | null;
27
+ version: number;
28
+ validFrom: string | null;
29
+ validUntil: string | null;
30
+ status: CreditPlanStatusEnum;
31
+ createdBy: string;
32
+ updatedBy: string;
33
+ createdAt: string;
34
+ updatedAt: string;
35
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,23 @@
1
+ import { FinancierStatusEnum } from '../../enums/FinancierStatusEnum';
2
+ import { FinancierTypeEnum } from '../../enums/FinancierTypeEnum';
3
+ import { ProductTierEnum } from '../../enums/ProductTierEnum';
4
+ /**
5
+ * Shape de salida de una financiera (GET / POST / PUT de /financiers).
6
+ * Los listados devuelven `FinancierResponse[]` ordenados por `displayOrder`.
7
+ */
8
+ export interface FinancierResponse {
9
+ financierId: string;
10
+ code: string;
11
+ name: string;
12
+ type: FinancierTypeEnum;
13
+ displayOrder: number;
14
+ label: string;
15
+ externalRedirectUrl: string | null;
16
+ eligibleTiers: ProductTierEnum[] | null;
17
+ config: Record<string, unknown> | null;
18
+ status: FinancierStatusEnum;
19
+ createdBy: string;
20
+ updatedBy: string;
21
+ createdAt: string;
22
+ updatedAt: string;
23
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Shape de salida del enlace M:N retailer↔plan.
3
+ * Devuelto por activate/deactivate, por GET /retailers/:retailerId/credit-plans y por
4
+ * GET /credit-plans/:planId/active-retailers (lista de `RetailerCreditPlanResponse`).
5
+ */
6
+ export interface RetailerCreditPlanResponse {
7
+ retailerId: string;
8
+ planId: string;
9
+ active: boolean;
10
+ activatedAt: string | null;
11
+ deactivatedAt: string | null;
12
+ createdAt: string;
13
+ updatedAt: string;
14
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });