@fiado/type-kit 3.184.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.
- package/bin/cognitoBackofficeConnector/dtos/MfaPoolConfig.d.ts +7 -0
- package/bin/cognitoBackofficeConnector/dtos/MfaPoolConfig.js +36 -0
- package/bin/cognitoBackofficeConnector/dtos/PoolConfigResponse.d.ts +20 -0
- package/bin/cognitoBackofficeConnector/dtos/PoolConfigResponse.js +11 -0
- package/bin/cognitoBackofficeConnector/dtos/PoolsListResponse.d.ts +4 -0
- package/bin/cognitoBackofficeConnector/dtos/PoolsListResponse.js +6 -0
- package/bin/cognitoBackofficeConnector/validators/MfaTypesRequiresOne.d.ts +17 -0
- package/bin/cognitoBackofficeConnector/validators/MfaTypesRequiresOne.js +39 -0
- package/bin/index.d.ts +2 -0
- package/bin/index.js +6 -1
- package/bin/loanConfig/dtos/Parameter.d.ts +23 -0
- package/bin/loanConfig/dtos/Parameter.js +93 -0
- package/bin/loanConfig/dtos/requests/BulkGetParametersRequest.d.ts +9 -0
- package/bin/{platformRbac/dtos/ResendSelfRegisterOtpRequest.js → loanConfig/dtos/requests/BulkGetParametersRequest.js} +20 -16
- package/bin/loanConfig/dtos/requests/BulkUpdateParametersRequest.d.ts +11 -0
- package/bin/loanConfig/dtos/requests/BulkUpdateParametersRequest.js +52 -0
- package/bin/loanConfig/dtos/requests/UpdateParameterRequest.d.ts +8 -0
- package/bin/{platformRbac/dtos/ResendOtpRequest.js → loanConfig/dtos/requests/UpdateParameterRequest.js} +10 -13
- package/bin/loanConfig/dtos/responses/ParameterResponse.d.ts +28 -0
- package/bin/loanConfig/dtos/responses/ParameterResponse.js +2 -0
- package/bin/loanConfig/enums/ModifiableByRoleEnum.d.ts +11 -0
- package/bin/loanConfig/enums/ModifiableByRoleEnum.js +15 -0
- package/bin/loanConfig/enums/ParameterTypeEnum.d.ts +20 -0
- package/bin/loanConfig/enums/ParameterTypeEnum.js +24 -0
- package/bin/loanConfig/enums/ParameterValueTypeEnum.d.ts +11 -0
- package/bin/loanConfig/enums/ParameterValueTypeEnum.js +15 -0
- package/bin/loanConfig/index.d.ts +8 -0
- package/bin/loanConfig/index.js +27 -0
- package/bin/loanOfferings/dtos/CreditPlan.d.ts +52 -0
- package/bin/loanOfferings/dtos/CreditPlan.js +184 -0
- package/bin/loanOfferings/dtos/Financier.d.ts +30 -0
- package/bin/loanOfferings/dtos/Financier.js +103 -0
- package/bin/loanOfferings/dtos/RetailerCreditPlan.d.ts +15 -0
- package/bin/loanOfferings/dtos/RetailerCreditPlan.js +71 -0
- package/bin/loanOfferings/dtos/requests/ChangeCreditPlanStatusRequest.d.ts +8 -0
- package/bin/loanOfferings/dtos/requests/ChangeCreditPlanStatusRequest.js +27 -0
- package/bin/loanOfferings/dtos/requests/ChangeFinancierStatusRequest.d.ts +8 -0
- package/bin/loanOfferings/dtos/requests/ChangeFinancierStatusRequest.js +27 -0
- package/bin/loanOfferings/dtos/requests/CreateCreditPlanRequest.d.ts +27 -0
- package/bin/loanOfferings/dtos/requests/CreateCreditPlanRequest.js +137 -0
- package/bin/loanOfferings/dtos/requests/CreateFinancierRequest.d.ts +17 -0
- package/bin/loanOfferings/dtos/requests/CreateFinancierRequest.js +70 -0
- package/bin/loanOfferings/dtos/requests/ReorderFinancierRequest.d.ts +7 -0
- package/bin/loanOfferings/dtos/requests/ReorderFinancierRequest.js +27 -0
- package/bin/loanOfferings/dtos/requests/SimulateCreditPlanRequest.d.ts +11 -0
- package/bin/loanOfferings/dtos/requests/SimulateCreditPlanRequest.js +49 -0
- package/bin/loanOfferings/dtos/requests/UpdateCreditPlanRequest.d.ts +25 -0
- package/bin/loanOfferings/dtos/requests/UpdateCreditPlanRequest.js +134 -0
- package/bin/loanOfferings/dtos/requests/UpdateFinancierRequest.d.ts +12 -0
- package/bin/loanOfferings/dtos/requests/UpdateFinancierRequest.js +53 -0
- package/bin/loanOfferings/dtos/responses/CreditPlanResponse.d.ts +35 -0
- package/bin/loanOfferings/dtos/responses/CreditPlanResponse.js +2 -0
- package/bin/loanOfferings/dtos/responses/FinancierResponse.d.ts +23 -0
- package/bin/loanOfferings/dtos/responses/FinancierResponse.js +2 -0
- package/bin/loanOfferings/dtos/responses/RetailerCreditPlanResponse.d.ts +14 -0
- package/bin/loanOfferings/dtos/responses/RetailerCreditPlanResponse.js +2 -0
- package/bin/loanOfferings/dtos/responses/SimulationResultResponse.d.ts +44 -0
- package/bin/loanOfferings/dtos/responses/SimulationResultResponse.js +2 -0
- package/bin/loanOfferings/enums/CreditPlanLevelEnum.d.ts +12 -0
- package/bin/loanOfferings/enums/CreditPlanLevelEnum.js +16 -0
- package/bin/loanOfferings/enums/CreditPlanStatusEnum.d.ts +8 -0
- package/bin/loanOfferings/enums/CreditPlanStatusEnum.js +12 -0
- package/bin/loanOfferings/enums/FinancierStatusEnum.d.ts +9 -0
- package/bin/loanOfferings/enums/FinancierStatusEnum.js +13 -0
- package/bin/loanOfferings/enums/FinancierTypeEnum.d.ts +9 -0
- package/bin/loanOfferings/enums/FinancierTypeEnum.js +13 -0
- package/bin/loanOfferings/enums/ProductTierEnum.d.ts +15 -0
- package/bin/loanOfferings/enums/ProductTierEnum.js +19 -0
- package/bin/loanOfferings/enums/SaleTypeEnum.d.ts +13 -0
- package/bin/loanOfferings/enums/SaleTypeEnum.js +17 -0
- package/bin/loanOfferings/index.d.ts +21 -0
- package/bin/loanOfferings/index.js +41 -0
- package/bin/rbac/enums/PoolKind.d.ts +16 -0
- package/bin/rbac/enums/PoolKind.js +20 -0
- package/bin/rbac/index.d.ts +1 -0
- package/bin/rbac/index.js +17 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceRequest.d.ts +5 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceRequest.js +31 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceResponse.d.ts +7 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceResponse.js +6 -0
- package/bin/walletFunding/dtos/CancelFundingRequest.d.ts +11 -0
- package/bin/walletFunding/dtos/CancelFundingRequest.js +33 -0
- package/bin/walletFunding/dtos/CancelFundingResponse.d.ts +14 -0
- package/bin/walletFunding/dtos/CancelFundingResponse.js +12 -0
- package/bin/walletFunding/dtos/CancelWalletFundingRequest.d.ts +3 -0
- package/bin/walletFunding/dtos/CancelWalletFundingRequest.js +21 -0
- package/bin/walletFunding/dtos/CancelWalletFundingResponse.d.ts +7 -0
- package/bin/walletFunding/dtos/CancelWalletFundingResponse.js +6 -0
- package/package.json +1 -1
- package/src/index.ts +5 -0
- package/src/loanConfig/dtos/Parameter.ts +68 -0
- package/src/loanConfig/dtos/requests/BulkGetParametersRequest.ts +23 -0
- package/src/loanConfig/dtos/requests/BulkUpdateParametersRequest.ts +33 -0
- package/src/loanConfig/dtos/requests/UpdateParameterRequest.ts +18 -0
- package/src/loanConfig/dtos/responses/ParameterResponse.ts +28 -0
- package/src/loanConfig/enums/ModifiableByRoleEnum.ts +11 -0
- package/src/loanConfig/enums/ParameterTypeEnum.ts +20 -0
- package/src/loanConfig/enums/ParameterValueTypeEnum.ts +11 -0
- package/src/loanConfig/index.ts +14 -0
- package/src/loanOfferings/dtos/CreditPlan.ts +171 -0
- package/src/loanOfferings/dtos/Financier.ts +91 -0
- package/src/loanOfferings/dtos/RetailerCreditPlan.ts +49 -0
- package/src/loanOfferings/dtos/requests/ChangeCreditPlanStatusRequest.ts +13 -0
- package/src/loanOfferings/dtos/requests/ChangeFinancierStatusRequest.ts +13 -0
- package/src/loanOfferings/dtos/requests/CreateCreditPlanRequest.ts +118 -0
- package/src/loanOfferings/dtos/requests/CreateFinancierRequest.ts +57 -0
- package/src/loanOfferings/dtos/requests/ReorderFinancierRequest.ts +13 -0
- package/src/loanOfferings/dtos/requests/SimulateCreditPlanRequest.ts +32 -0
- package/src/loanOfferings/dtos/requests/UpdateCreditPlanRequest.ts +117 -0
- package/src/loanOfferings/dtos/requests/UpdateFinancierRequest.ts +41 -0
- package/src/loanOfferings/dtos/responses/CreditPlanResponse.ts +36 -0
- package/src/loanOfferings/dtos/responses/FinancierResponse.ts +24 -0
- package/src/loanOfferings/dtos/responses/RetailerCreditPlanResponse.ts +14 -0
- package/src/loanOfferings/dtos/responses/SimulationResultResponse.ts +45 -0
- package/src/loanOfferings/enums/CreditPlanLevelEnum.ts +12 -0
- package/src/loanOfferings/enums/CreditPlanStatusEnum.ts +8 -0
- package/src/loanOfferings/enums/FinancierStatusEnum.ts +9 -0
- package/src/loanOfferings/enums/FinancierTypeEnum.ts +9 -0
- package/src/loanOfferings/enums/ProductTierEnum.ts +15 -0
- package/src/loanOfferings/enums/SaleTypeEnum.ts +13 -0
- package/src/loanOfferings/index.ts +28 -0
- package/bin/platformRbac/dtos/ResendOtpRequest.d.ts +0 -22
- package/bin/platformRbac/dtos/ResendSelfRegisterOtpRequest.d.ts +0 -11
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Un renglón de la tabla de amortización (M2 §3.3). Todos los montos en cents.
|
|
3
|
+
*/
|
|
4
|
+
export interface AmortizationRowResponse {
|
|
5
|
+
/** Número de cuota semanal (1-based). */
|
|
6
|
+
week: number;
|
|
7
|
+
capitalCents: number;
|
|
8
|
+
interestCents: number;
|
|
9
|
+
/** IVA 16% sobre el interés de la cuota. */
|
|
10
|
+
ivaCents: number;
|
|
11
|
+
/** capital + interés + IVA de la cuota. */
|
|
12
|
+
totalPaymentCents: number;
|
|
13
|
+
/** Saldo insoluto de capital tras aplicar la cuota. */
|
|
14
|
+
remainingBalanceCents: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Resultado del simulador de cuota (POST /private/credit-plans/:planId/simulate,
|
|
18
|
+
* GET /credit-plans/:planId/simulator). Amortización francesa + IVA 16% + comisión de apertura + CAT.
|
|
19
|
+
*
|
|
20
|
+
* NOTA (supuesto F1): `catAnnual` se calcula con la metodología estándar CONDUSEF (TIR anualizada)
|
|
21
|
+
* — pendiente de confirmar fórmula/ejemplos oficiales con Jaime/M2.
|
|
22
|
+
*/
|
|
23
|
+
export interface SimulationResultResponse {
|
|
24
|
+
planId: string;
|
|
25
|
+
planCode: string;
|
|
26
|
+
productPriceCents: number;
|
|
27
|
+
downPaymentPct: number;
|
|
28
|
+
downPaymentCents: number;
|
|
29
|
+
/** Capital financiado = precio − enganche (antes de comisión de apertura). */
|
|
30
|
+
financedAmountCents: number;
|
|
31
|
+
openingCommissionCents: number;
|
|
32
|
+
termWeeks: number;
|
|
33
|
+
tnaAnnual: number;
|
|
34
|
+
/** Cuota semanal sin IVA (capital + interés), constante en amortización francesa. */
|
|
35
|
+
weeklyPaymentSinIvaCents: number;
|
|
36
|
+
totalCapitalCents: number;
|
|
37
|
+
totalInterestCents: number;
|
|
38
|
+
totalIvaCents: number;
|
|
39
|
+
/** Total a pagar = capital + interés + IVA (+ comisión de apertura). */
|
|
40
|
+
totalToPayCents: number;
|
|
41
|
+
/** Costo Anual Total (decimal, ej. 2.87 = 287%). Metodología estándar CONDUSEF (supuesto). */
|
|
42
|
+
catAnnual: number;
|
|
43
|
+
schedule: AmortizationRowResponse[];
|
|
44
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nivel de cliente al que aplica un plan de crédito SureKeep (M6 §4/§5 · modelo-datos §6.1).
|
|
3
|
+
* `ALL` = plan que aplica a todos los niveles (Jaime modela EMPLEADO como tipo de venta
|
|
4
|
+
* con nivel "todos", no como un nivel propio — corrección 2026-07-10).
|
|
5
|
+
* @enum {string}
|
|
6
|
+
*/
|
|
7
|
+
export declare enum CreditPlanLevelEnum {
|
|
8
|
+
BRONZE = "BRONZE",
|
|
9
|
+
SILVER = "SILVER",
|
|
10
|
+
GOLD = "GOLD",
|
|
11
|
+
ALL = "ALL"
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreditPlanLevelEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Nivel de cliente al que aplica un plan de crédito SureKeep (M6 §4/§5 · modelo-datos §6.1).
|
|
6
|
+
* `ALL` = plan que aplica a todos los niveles (Jaime modela EMPLEADO como tipo de venta
|
|
7
|
+
* con nivel "todos", no como un nivel propio — corrección 2026-07-10).
|
|
8
|
+
* @enum {string}
|
|
9
|
+
*/
|
|
10
|
+
var CreditPlanLevelEnum;
|
|
11
|
+
(function (CreditPlanLevelEnum) {
|
|
12
|
+
CreditPlanLevelEnum["BRONZE"] = "BRONZE";
|
|
13
|
+
CreditPlanLevelEnum["SILVER"] = "SILVER";
|
|
14
|
+
CreditPlanLevelEnum["GOLD"] = "GOLD";
|
|
15
|
+
CreditPlanLevelEnum["ALL"] = "ALL";
|
|
16
|
+
})(CreditPlanLevelEnum || (exports.CreditPlanLevelEnum = CreditPlanLevelEnum = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreditPlanStatusEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Estado de un plan de crédito (modelo-datos §6.1). Soft-delete vía status (nunca DELETE físico).
|
|
6
|
+
* @enum {string}
|
|
7
|
+
*/
|
|
8
|
+
var CreditPlanStatusEnum;
|
|
9
|
+
(function (CreditPlanStatusEnum) {
|
|
10
|
+
CreditPlanStatusEnum["ACTIVE"] = "ACTIVE";
|
|
11
|
+
CreditPlanStatusEnum["INACTIVE"] = "INACTIVE";
|
|
12
|
+
})(CreditPlanStatusEnum || (exports.CreditPlanStatusEnum = CreditPlanStatusEnum = {}));
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FinancierStatusEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Estado de una financiera (modelo-datos §6.3). Desactivar la quita del wizard sin afectar
|
|
6
|
+
* créditos existentes (M6 §6).
|
|
7
|
+
* @enum {string}
|
|
8
|
+
*/
|
|
9
|
+
var FinancierStatusEnum;
|
|
10
|
+
(function (FinancierStatusEnum) {
|
|
11
|
+
FinancierStatusEnum["ACTIVE"] = "ACTIVE";
|
|
12
|
+
FinancierStatusEnum["INACTIVE"] = "INACTIVE";
|
|
13
|
+
})(FinancierStatusEnum || (exports.FinancierStatusEnum = FinancierStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipo de financiera (M6 §6 · modelo-datos §6.3). `INTERNAL` = SureKeep (SOFOM propia);
|
|
3
|
+
* `EXTERNAL` = financiera de terceros con derivación por URL (PayJoy / KREDIYA / LESPAGO).
|
|
4
|
+
* @enum {string}
|
|
5
|
+
*/
|
|
6
|
+
export declare enum FinancierTypeEnum {
|
|
7
|
+
INTERNAL = "INTERNAL",
|
|
8
|
+
EXTERNAL = "EXTERNAL"
|
|
9
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FinancierTypeEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Tipo de financiera (M6 §6 · modelo-datos §6.3). `INTERNAL` = SureKeep (SOFOM propia);
|
|
6
|
+
* `EXTERNAL` = financiera de terceros con derivación por URL (PayJoy / KREDIYA / LESPAGO).
|
|
7
|
+
* @enum {string}
|
|
8
|
+
*/
|
|
9
|
+
var FinancierTypeEnum;
|
|
10
|
+
(function (FinancierTypeEnum) {
|
|
11
|
+
FinancierTypeEnum["INTERNAL"] = "INTERNAL";
|
|
12
|
+
FinancierTypeEnum["EXTERNAL"] = "EXTERNAL";
|
|
13
|
+
})(FinancierTypeEnum || (exports.FinancierTypeEnum = FinancierTypeEnum = {}));
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gama del equipo (modelo-datos §4.1 `RetailProduct.tier` · §6.1 `eligibleTiers`).
|
|
3
|
+
*
|
|
4
|
+
* NOTA (supuesto F1): conceptualmente esta gama pertenece al dominio de catálogo retail
|
|
5
|
+
* (`retail-catalog-business`), cuyo dominio type-kit aún no existe. Se define aquí para poder
|
|
6
|
+
* tipar `CreditPlan.eligibleTiers` y `Financier.eligibleTiers` sin bloquear. Al publicarse el
|
|
7
|
+
* dominio `retailCatalog`, consolidar allí y reexportar (coordinar con la pista Retail).
|
|
8
|
+
* @enum {string}
|
|
9
|
+
*/
|
|
10
|
+
export declare enum ProductTierEnum {
|
|
11
|
+
LOW = "LOW",
|
|
12
|
+
MID = "MID",
|
|
13
|
+
HIGH = "HIGH",
|
|
14
|
+
PREMIUM = "PREMIUM"
|
|
15
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProductTierEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Gama del equipo (modelo-datos §4.1 `RetailProduct.tier` · §6.1 `eligibleTiers`).
|
|
6
|
+
*
|
|
7
|
+
* NOTA (supuesto F1): conceptualmente esta gama pertenece al dominio de catálogo retail
|
|
8
|
+
* (`retail-catalog-business`), cuyo dominio type-kit aún no existe. Se define aquí para poder
|
|
9
|
+
* tipar `CreditPlan.eligibleTiers` y `Financier.eligibleTiers` sin bloquear. Al publicarse el
|
|
10
|
+
* dominio `retailCatalog`, consolidar allí y reexportar (coordinar con la pista Retail).
|
|
11
|
+
* @enum {string}
|
|
12
|
+
*/
|
|
13
|
+
var ProductTierEnum;
|
|
14
|
+
(function (ProductTierEnum) {
|
|
15
|
+
ProductTierEnum["LOW"] = "LOW";
|
|
16
|
+
ProductTierEnum["MID"] = "MID";
|
|
17
|
+
ProductTierEnum["HIGH"] = "HIGH";
|
|
18
|
+
ProductTierEnum["PREMIUM"] = "PREMIUM";
|
|
19
|
+
})(ProductTierEnum || (exports.ProductTierEnum = ProductTierEnum = {}));
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipo de venta al que aplica un plan de crédito (M6 §4 · modelo-datos §6.1).
|
|
3
|
+
* Un plan puede configurarse para uno o más tipos (por eso `CreditPlan.saleTypes` es array).
|
|
4
|
+
* @enum {string}
|
|
5
|
+
*/
|
|
6
|
+
export declare enum SaleTypeEnum {
|
|
7
|
+
/** Cliente sin historial previo con SureKeep (primera compra). */
|
|
8
|
+
NEW = "NEW",
|
|
9
|
+
/** Cliente que ya tuvo un crédito con SureKeep (recompra / renovación). */
|
|
10
|
+
REPURCHASE = "REPURCHASE",
|
|
11
|
+
/** Empleado de VentasLuga que compra para uso personal (condiciones preferenciales). */
|
|
12
|
+
EMPLOYEE = "EMPLOYEE"
|
|
13
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SaleTypeEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Tipo de venta al que aplica un plan de crédito (M6 §4 · modelo-datos §6.1).
|
|
6
|
+
* Un plan puede configurarse para uno o más tipos (por eso `CreditPlan.saleTypes` es array).
|
|
7
|
+
* @enum {string}
|
|
8
|
+
*/
|
|
9
|
+
var SaleTypeEnum;
|
|
10
|
+
(function (SaleTypeEnum) {
|
|
11
|
+
/** Cliente sin historial previo con SureKeep (primera compra). */
|
|
12
|
+
SaleTypeEnum["NEW"] = "NEW";
|
|
13
|
+
/** Cliente que ya tuvo un crédito con SureKeep (recompra / renovación). */
|
|
14
|
+
SaleTypeEnum["REPURCHASE"] = "REPURCHASE";
|
|
15
|
+
/** Empleado de VentasLuga que compra para uso personal (condiciones preferenciales). */
|
|
16
|
+
SaleTypeEnum["EMPLOYEE"] = "EMPLOYEE";
|
|
17
|
+
})(SaleTypeEnum || (exports.SaleTypeEnum = SaleTypeEnum = {}));
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from './enums/CreditPlanLevelEnum';
|
|
2
|
+
export * from './enums/SaleTypeEnum';
|
|
3
|
+
export * from './enums/ProductTierEnum';
|
|
4
|
+
export * from './enums/CreditPlanStatusEnum';
|
|
5
|
+
export * from './enums/FinancierTypeEnum';
|
|
6
|
+
export * from './enums/FinancierStatusEnum';
|
|
7
|
+
export * from './dtos/CreditPlan';
|
|
8
|
+
export * from './dtos/Financier';
|
|
9
|
+
export * from './dtos/RetailerCreditPlan';
|
|
10
|
+
export * from './dtos/requests/CreateCreditPlanRequest';
|
|
11
|
+
export * from './dtos/requests/UpdateCreditPlanRequest';
|
|
12
|
+
export * from './dtos/requests/ChangeCreditPlanStatusRequest';
|
|
13
|
+
export * from './dtos/requests/SimulateCreditPlanRequest';
|
|
14
|
+
export * from './dtos/requests/CreateFinancierRequest';
|
|
15
|
+
export * from './dtos/requests/UpdateFinancierRequest';
|
|
16
|
+
export * from './dtos/requests/ChangeFinancierStatusRequest';
|
|
17
|
+
export * from './dtos/requests/ReorderFinancierRequest';
|
|
18
|
+
export * from './dtos/responses/CreditPlanResponse';
|
|
19
|
+
export * from './dtos/responses/FinancierResponse';
|
|
20
|
+
export * from './dtos/responses/RetailerCreditPlanResponse';
|
|
21
|
+
export * from './dtos/responses/SimulationResultResponse';
|
|
@@ -0,0 +1,41 @@
|
|
|
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/CreditPlanLevelEnum"), exports);
|
|
19
|
+
__exportStar(require("./enums/SaleTypeEnum"), exports);
|
|
20
|
+
__exportStar(require("./enums/ProductTierEnum"), exports);
|
|
21
|
+
__exportStar(require("./enums/CreditPlanStatusEnum"), exports);
|
|
22
|
+
__exportStar(require("./enums/FinancierTypeEnum"), exports);
|
|
23
|
+
__exportStar(require("./enums/FinancierStatusEnum"), exports);
|
|
24
|
+
// Entity DTOs
|
|
25
|
+
__exportStar(require("./dtos/CreditPlan"), exports);
|
|
26
|
+
__exportStar(require("./dtos/Financier"), exports);
|
|
27
|
+
__exportStar(require("./dtos/RetailerCreditPlan"), exports);
|
|
28
|
+
// Request DTOs
|
|
29
|
+
__exportStar(require("./dtos/requests/CreateCreditPlanRequest"), exports);
|
|
30
|
+
__exportStar(require("./dtos/requests/UpdateCreditPlanRequest"), exports);
|
|
31
|
+
__exportStar(require("./dtos/requests/ChangeCreditPlanStatusRequest"), exports);
|
|
32
|
+
__exportStar(require("./dtos/requests/SimulateCreditPlanRequest"), exports);
|
|
33
|
+
__exportStar(require("./dtos/requests/CreateFinancierRequest"), exports);
|
|
34
|
+
__exportStar(require("./dtos/requests/UpdateFinancierRequest"), exports);
|
|
35
|
+
__exportStar(require("./dtos/requests/ChangeFinancierStatusRequest"), exports);
|
|
36
|
+
__exportStar(require("./dtos/requests/ReorderFinancierRequest"), exports);
|
|
37
|
+
// Response DTOs
|
|
38
|
+
__exportStar(require("./dtos/responses/CreditPlanResponse"), exports);
|
|
39
|
+
__exportStar(require("./dtos/responses/FinancierResponse"), exports);
|
|
40
|
+
__exportStar(require("./dtos/responses/RetailerCreditPlanResponse"), exports);
|
|
41
|
+
__exportStar(require("./dtos/responses/SimulationResultResponse"), exports);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipo de User Pool de Cognito desde la perspectiva del modelo RBAC Fiado.
|
|
3
|
+
*
|
|
4
|
+
* Origen: spec del proyecto `cognito-backoffice-connector` (Fase 0, componente 01
|
|
5
|
+
* documento `docs/superpowers/specs/2026-05-26-cognito-connector-decisiones-pendientes-design.md`).
|
|
6
|
+
*
|
|
7
|
+
* Decisión (TD-003): el proyecto converge en estos 2 valores. El documento componente 03
|
|
8
|
+
* lista 3 valores (incluyendo una variante adicional) pero queda como outlier — la
|
|
9
|
+
* decisión vigente en los 6 docs restantes y en el plan de implementación es 2 valores:
|
|
10
|
+
* - BACKOFFICE_PLATFORM — pool del backoffice de plataforma (cross-tenant)
|
|
11
|
+
* - BACKOFFICE_TENANT — pool por tenant (multi-tenant isolation)
|
|
12
|
+
*/
|
|
13
|
+
export declare enum PoolKind {
|
|
14
|
+
BACKOFFICE_PLATFORM = "BACKOFFICE_PLATFORM",
|
|
15
|
+
BACKOFFICE_TENANT = "BACKOFFICE_TENANT"
|
|
16
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PoolKind = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Tipo de User Pool de Cognito desde la perspectiva del modelo RBAC Fiado.
|
|
6
|
+
*
|
|
7
|
+
* Origen: spec del proyecto `cognito-backoffice-connector` (Fase 0, componente 01
|
|
8
|
+
* documento `docs/superpowers/specs/2026-05-26-cognito-connector-decisiones-pendientes-design.md`).
|
|
9
|
+
*
|
|
10
|
+
* Decisión (TD-003): el proyecto converge en estos 2 valores. El documento componente 03
|
|
11
|
+
* lista 3 valores (incluyendo una variante adicional) pero queda como outlier — la
|
|
12
|
+
* decisión vigente en los 6 docs restantes y en el plan de implementación es 2 valores:
|
|
13
|
+
* - BACKOFFICE_PLATFORM — pool del backoffice de plataforma (cross-tenant)
|
|
14
|
+
* - BACKOFFICE_TENANT — pool por tenant (multi-tenant isolation)
|
|
15
|
+
*/
|
|
16
|
+
var PoolKind;
|
|
17
|
+
(function (PoolKind) {
|
|
18
|
+
PoolKind["BACKOFFICE_PLATFORM"] = "BACKOFFICE_PLATFORM";
|
|
19
|
+
PoolKind["BACKOFFICE_TENANT"] = "BACKOFFICE_TENANT";
|
|
20
|
+
})(PoolKind || (exports.PoolKind = PoolKind = {}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './enums/PoolKind';
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
__exportStar(require("./enums/PoolKind"), exports);
|
|
@@ -0,0 +1,31 @@
|
|
|
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.CancelFundingReferenceRequest = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
class CancelFundingReferenceRequest {
|
|
15
|
+
}
|
|
16
|
+
exports.CancelFundingReferenceRequest = CancelFundingReferenceRequest;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, class_validator_1.IsString)(),
|
|
19
|
+
(0, class_validator_1.MaxLength)(64),
|
|
20
|
+
__metadata("design:type", String)
|
|
21
|
+
], CancelFundingReferenceRequest.prototype, "fundingId", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
(0, class_validator_1.IsString)(),
|
|
24
|
+
(0, class_validator_1.MaxLength)(64),
|
|
25
|
+
__metadata("design:type", String)
|
|
26
|
+
], CancelFundingReferenceRequest.prototype, "directoryId", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, class_validator_1.IsString)(),
|
|
29
|
+
(0, class_validator_1.MaxLength)(64),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], CancelFundingReferenceRequest.prototype, "idempotencyKey", void 0);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
|
|
2
|
+
import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
|
|
3
|
+
export declare class CancelFundingReferenceResponse {
|
|
4
|
+
fundingId: string;
|
|
5
|
+
status: BenefitPaymentStatusEnum;
|
|
6
|
+
errorCode?: WalletFundingErrorCodeEnum;
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request del cancel via Centro de Beneficios (spec 13 v2.0).
|
|
3
|
+
* `fundingId` viaja en el path, `directoryId` se resuelve del JWT.
|
|
4
|
+
* `providerModuleName` permite al marketplace rutear al publisher correcto
|
|
5
|
+
* sin tener que persistir el mapping (el wallet-app sabe el moduleName
|
|
6
|
+
* porque vino en la respuesta del authorize).
|
|
7
|
+
*/
|
|
8
|
+
export declare class CancelFundingRequest {
|
|
9
|
+
idempotencyKey: string;
|
|
10
|
+
providerModuleName: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
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.CancelFundingRequest = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
/**
|
|
15
|
+
* Request del cancel via Centro de Beneficios (spec 13 v2.0).
|
|
16
|
+
* `fundingId` viaja en el path, `directoryId` se resuelve del JWT.
|
|
17
|
+
* `providerModuleName` permite al marketplace rutear al publisher correcto
|
|
18
|
+
* sin tener que persistir el mapping (el wallet-app sabe el moduleName
|
|
19
|
+
* porque vino en la respuesta del authorize).
|
|
20
|
+
*/
|
|
21
|
+
class CancelFundingRequest {
|
|
22
|
+
}
|
|
23
|
+
exports.CancelFundingRequest = CancelFundingRequest;
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_validator_1.IsString)(),
|
|
26
|
+
(0, class_validator_1.MaxLength)(64),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], CancelFundingRequest.prototype, "idempotencyKey", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, class_validator_1.IsString)(),
|
|
31
|
+
(0, class_validator_1.MaxLength)(128),
|
|
32
|
+
__metadata("design:type", String)
|
|
33
|
+
], CancelFundingRequest.prototype, "providerModuleName", void 0);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
|
|
2
|
+
import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
|
|
3
|
+
/**
|
|
4
|
+
* Response del cancel via Centro de Beneficios (spec 13 v2.0).
|
|
5
|
+
* `status` reusa `BenefitPaymentStatusEnum` (APPROVED = cancel aceptado;
|
|
6
|
+
* REJECTED = no se pudo) para consistencia con `CancelFundingReferenceResponse`
|
|
7
|
+
* (marketplace ↔ connector). Idempotente: re-cancelar devuelve APPROVED.
|
|
8
|
+
*/
|
|
9
|
+
export declare class CancelFundingResponse {
|
|
10
|
+
fundingId: string;
|
|
11
|
+
status: BenefitPaymentStatusEnum;
|
|
12
|
+
errorCode?: WalletFundingErrorCodeEnum;
|
|
13
|
+
message?: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CancelFundingResponse = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Response del cancel via Centro de Beneficios (spec 13 v2.0).
|
|
6
|
+
* `status` reusa `BenefitPaymentStatusEnum` (APPROVED = cancel aceptado;
|
|
7
|
+
* REJECTED = no se pudo) para consistencia con `CancelFundingReferenceResponse`
|
|
8
|
+
* (marketplace ↔ connector). Idempotente: re-cancelar devuelve APPROVED.
|
|
9
|
+
*/
|
|
10
|
+
class CancelFundingResponse {
|
|
11
|
+
}
|
|
12
|
+
exports.CancelFundingResponse = CancelFundingResponse;
|
|
@@ -0,0 +1,21 @@
|
|
|
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.CancelWalletFundingRequest = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
class CancelWalletFundingRequest {
|
|
15
|
+
}
|
|
16
|
+
exports.CancelWalletFundingRequest = CancelWalletFundingRequest;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, class_validator_1.IsString)(),
|
|
19
|
+
(0, class_validator_1.MaxLength)(64),
|
|
20
|
+
__metadata("design:type", String)
|
|
21
|
+
], CancelWalletFundingRequest.prototype, "idempotencyKey", void 0);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
|
|
2
|
+
import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
|
|
3
|
+
export declare class CancelWalletFundingResponse {
|
|
4
|
+
status: BenefitPaymentStatusEnum;
|
|
5
|
+
errorCode?: WalletFundingErrorCodeEnum;
|
|
6
|
+
fundingId?: string;
|
|
7
|
+
}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -103,5 +103,10 @@ export * as EmailVerification from './emailVerification';
|
|
|
103
103
|
// RetailOrg: DTOs/enums del lambda retail-org-business (SureKeep Fase 1 — pista Retail).
|
|
104
104
|
// Dominio de retailers → zonas → tiendas → usuarios retail.
|
|
105
105
|
export * as RetailOrg from './retailOrg';
|
|
106
|
+
// LoanConfig: DTOs/enums del lambda loan-config-business (comp 09 — parámetros operativos del SOFOM).
|
|
107
|
+
export * as LoanConfig from './loanConfig';
|
|
108
|
+
// LoanOfferings: DTOs/enums del lambda loan-offerings-business (comp 07 — planes de crédito,
|
|
109
|
+
// financieras, M:N retailer↔plan y simulador de cuota; SureKeep Fase 1 — pista Loan).
|
|
110
|
+
export * as LoanOfferings from './loanOfferings';
|
|
106
111
|
export * from './messaging';
|
|
107
112
|
export * from './complaint';
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Expose } from 'class-transformer';
|
|
2
|
+
import { IsEnum, IsOptional, IsString, Matches } from 'class-validator';
|
|
3
|
+
import { regexIso8601 } from '../../helpers/constans/regex';
|
|
4
|
+
import { ModifiableByRoleEnum } from '../enums/ModifiableByRoleEnum';
|
|
5
|
+
import { ParameterTypeEnum } from '../enums/ParameterTypeEnum';
|
|
6
|
+
import { ParameterValueTypeEnum } from '../enums/ParameterValueTypeEnum';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Parameter — parámetro operativo clave/valor del SOFOM (M6 §8 + §5).
|
|
10
|
+
* Identidad lógica `parameterId = ${paramType}#${key}` (D1). `value` null → aplica `defaultValue`.
|
|
11
|
+
*/
|
|
12
|
+
export class Parameter {
|
|
13
|
+
@Expose()
|
|
14
|
+
@IsString()
|
|
15
|
+
parameterId!: string;
|
|
16
|
+
|
|
17
|
+
@Expose()
|
|
18
|
+
@IsEnum(ParameterTypeEnum)
|
|
19
|
+
paramType!: ParameterTypeEnum;
|
|
20
|
+
|
|
21
|
+
@Expose()
|
|
22
|
+
@IsString()
|
|
23
|
+
key!: string;
|
|
24
|
+
|
|
25
|
+
/** Siempre string; `null` cuando el valor está pendiente de definición por negocio. */
|
|
26
|
+
@Expose()
|
|
27
|
+
@IsOptional()
|
|
28
|
+
@IsString()
|
|
29
|
+
value!: string | null;
|
|
30
|
+
|
|
31
|
+
@Expose()
|
|
32
|
+
@IsEnum(ParameterValueTypeEnum)
|
|
33
|
+
valueType!: ParameterValueTypeEnum;
|
|
34
|
+
|
|
35
|
+
@Expose()
|
|
36
|
+
@IsString()
|
|
37
|
+
defaultValue!: string;
|
|
38
|
+
|
|
39
|
+
@Expose()
|
|
40
|
+
@IsString()
|
|
41
|
+
description!: string;
|
|
42
|
+
|
|
43
|
+
@Expose()
|
|
44
|
+
@IsEnum(ModifiableByRoleEnum)
|
|
45
|
+
modifiableBy!: ModifiableByRoleEnum;
|
|
46
|
+
|
|
47
|
+
@Expose()
|
|
48
|
+
@IsString()
|
|
49
|
+
lastModifiedByUserId!: string;
|
|
50
|
+
|
|
51
|
+
@Expose()
|
|
52
|
+
@IsString()
|
|
53
|
+
createdBy!: string;
|
|
54
|
+
|
|
55
|
+
@Expose()
|
|
56
|
+
@IsString()
|
|
57
|
+
updatedBy!: string;
|
|
58
|
+
|
|
59
|
+
@Expose()
|
|
60
|
+
@IsString()
|
|
61
|
+
@Matches(regexIso8601, { message: 'createdAt debe ser una fecha ISO 8601' })
|
|
62
|
+
createdAt!: string;
|
|
63
|
+
|
|
64
|
+
@Expose()
|
|
65
|
+
@IsString()
|
|
66
|
+
@Matches(regexIso8601, { message: 'updatedAt debe ser una fecha ISO 8601' })
|
|
67
|
+
updatedAt!: string;
|
|
68
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Expose, Type } from 'class-transformer';
|
|
2
|
+
import { ArrayNotEmpty, IsArray, IsEnum, IsString, ValidateNested } from 'class-validator';
|
|
3
|
+
import { ParameterTypeEnum } from '../../enums/ParameterTypeEnum';
|
|
4
|
+
|
|
5
|
+
export class ParameterKeyRef {
|
|
6
|
+
@Expose()
|
|
7
|
+
@IsEnum(ParameterTypeEnum)
|
|
8
|
+
paramType!: ParameterTypeEnum;
|
|
9
|
+
|
|
10
|
+
@Expose()
|
|
11
|
+
@IsString()
|
|
12
|
+
key!: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** Body de POST /private/parameters/bulk-get — hot path para consumers (cachean 5 min). */
|
|
16
|
+
export class BulkGetParametersRequest {
|
|
17
|
+
@Expose()
|
|
18
|
+
@IsArray()
|
|
19
|
+
@ArrayNotEmpty()
|
|
20
|
+
@ValidateNested({ each: true })
|
|
21
|
+
@Type(() => ParameterKeyRef)
|
|
22
|
+
items!: ParameterKeyRef[];
|
|
23
|
+
}
|