@fiado/type-kit 3.237.0 → 3.239.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/loanCredit/dtos/requests/UpdateActivationChecklistRequest.d.ts +11 -0
- package/bin/loanCredit/dtos/requests/UpdateActivationChecklistRequest.js +46 -0
- package/bin/loanCredit/enums/ClientLevelEnum.d.ts +11 -0
- package/bin/loanCredit/enums/ClientLevelEnum.js +15 -0
- package/bin/retailWizard/dtos/Sale.d.ts +15 -1
- package/bin/retailWizard/dtos/requests/ProfileQuestionsRequest.d.ts +19 -3
- package/bin/retailWizard/dtos/requests/ProfileQuestionsRequest.js +19 -3
- package/package.json +1 -1
- package/src/retailWizard/dtos/Sale.ts +15 -1
- package/src/retailWizard/dtos/requests/ProfileQuestionsRequest.ts +19 -3
- package/bin/identity/enums/SelfieSourceEnum.d.ts +0 -10
- package/bin/identity/enums/SelfieSourceEnum.js +0 -14
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Body de PUT /credits/:creditId/checklist (loan-credit-business). Marca condiciones de activación
|
|
3
|
+
* cumplidas. Solo se mandan las que cambian; en F3 las marcarán los flujos de firma de contrato
|
|
4
|
+
* (`downPayment` + `contractSigned`) y de enrolamiento MDM (`imeiEnrolled` + `lockVerified`).
|
|
5
|
+
*/
|
|
6
|
+
export declare class UpdateActivationChecklistRequest {
|
|
7
|
+
downPayment?: boolean;
|
|
8
|
+
contractSigned?: boolean;
|
|
9
|
+
imeiEnrolled?: boolean;
|
|
10
|
+
lockVerified?: boolean;
|
|
11
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
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.UpdateActivationChecklistRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/**
|
|
16
|
+
* Body de PUT /credits/:creditId/checklist (loan-credit-business). Marca condiciones de activación
|
|
17
|
+
* cumplidas. Solo se mandan las que cambian; en F3 las marcarán los flujos de firma de contrato
|
|
18
|
+
* (`downPayment` + `contractSigned`) y de enrolamiento MDM (`imeiEnrolled` + `lockVerified`).
|
|
19
|
+
*/
|
|
20
|
+
class UpdateActivationChecklistRequest {
|
|
21
|
+
}
|
|
22
|
+
exports.UpdateActivationChecklistRequest = UpdateActivationChecklistRequest;
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_transformer_1.Expose)(),
|
|
25
|
+
(0, class_validator_1.IsOptional)(),
|
|
26
|
+
(0, class_validator_1.IsBoolean)(),
|
|
27
|
+
__metadata("design:type", Boolean)
|
|
28
|
+
], UpdateActivationChecklistRequest.prototype, "downPayment", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, class_transformer_1.Expose)(),
|
|
31
|
+
(0, class_validator_1.IsOptional)(),
|
|
32
|
+
(0, class_validator_1.IsBoolean)(),
|
|
33
|
+
__metadata("design:type", Boolean)
|
|
34
|
+
], UpdateActivationChecklistRequest.prototype, "contractSigned", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, class_transformer_1.Expose)(),
|
|
37
|
+
(0, class_validator_1.IsOptional)(),
|
|
38
|
+
(0, class_validator_1.IsBoolean)(),
|
|
39
|
+
__metadata("design:type", Boolean)
|
|
40
|
+
], UpdateActivationChecklistRequest.prototype, "imeiEnrolled", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, class_transformer_1.Expose)(),
|
|
43
|
+
(0, class_validator_1.IsOptional)(),
|
|
44
|
+
(0, class_validator_1.IsBoolean)(),
|
|
45
|
+
__metadata("design:type", Boolean)
|
|
46
|
+
], UpdateActivationChecklistRequest.prototype, "lockVerified", void 0);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nivel del cliente según su SCI (M7/05_MOTOR §3.2): 21-60 Bronce · 61-80 Plata · 81-100 Oro.
|
|
3
|
+
* Distinto de `CreditPlanLevelEnum` de loanOfferings (que además tiene `ALL` para planes):
|
|
4
|
+
* un CLIENTE nunca es `ALL`.
|
|
5
|
+
* @enum {string}
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ClientLevelEnum {
|
|
8
|
+
BRONZE = "BRONZE",
|
|
9
|
+
SILVER = "SILVER",
|
|
10
|
+
GOLD = "GOLD"
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClientLevelEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Nivel del cliente según su SCI (M7/05_MOTOR §3.2): 21-60 Bronce · 61-80 Plata · 81-100 Oro.
|
|
6
|
+
* Distinto de `CreditPlanLevelEnum` de loanOfferings (que además tiene `ALL` para planes):
|
|
7
|
+
* un CLIENTE nunca es `ALL`.
|
|
8
|
+
* @enum {string}
|
|
9
|
+
*/
|
|
10
|
+
var ClientLevelEnum;
|
|
11
|
+
(function (ClientLevelEnum) {
|
|
12
|
+
ClientLevelEnum["BRONZE"] = "BRONZE";
|
|
13
|
+
ClientLevelEnum["SILVER"] = "SILVER";
|
|
14
|
+
ClientLevelEnum["GOLD"] = "GOLD";
|
|
15
|
+
})(ClientLevelEnum || (exports.ClientLevelEnum = ClientLevelEnum = {}));
|
|
@@ -21,8 +21,22 @@ export interface Sale {
|
|
|
21
21
|
sku: string;
|
|
22
22
|
/** IMEI consumido del silo también en contado (local-first); null en EXTERNAL_REFERRAL (D15). */
|
|
23
23
|
imei: string | null;
|
|
24
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Lo COBRADO en caja al cerrar. En contado == precio del equipo (lo garantiza `registerPayment`);
|
|
26
|
+
* en crédito es SOLO el enganche. ⚠️ Su significado es contrato de `SaleCompletedV1` (La Central,
|
|
27
|
+
* comisión F4): no redefinir — el precio del equipo viaja aparte en `equipmentPriceCents`. 0 en
|
|
28
|
+
* EXTERNAL_REFERRAL.
|
|
29
|
+
*/
|
|
25
30
|
amountCents: number;
|
|
31
|
+
/**
|
|
32
|
+
* Precio de lista del equipo al cerrar (de la reserva de la sesión). En contado coincide con
|
|
33
|
+
* `amountCents`; en crédito es el precio full financiado. `null` en ventas anteriores al campo.
|
|
34
|
+
*/
|
|
35
|
+
equipmentPriceCents: number | null;
|
|
36
|
+
/** Enganche cobrado (solo ventas CREDIT; `null` en contado/externa). */
|
|
37
|
+
downPaymentCents: number | null;
|
|
38
|
+
/** Puntero al crédito SOFOM en loan-credit (solo ventas CREDIT; `null` en contado/externa). */
|
|
39
|
+
creditId: string | null;
|
|
26
40
|
paymentMethod: SalePaymentMethodEnum | null;
|
|
27
41
|
/** `LG-T{storeCode}-VTA-{5hex}-{YYYY}W{ww}` (D11) — único vía `UNIQ#FOLIO`. */
|
|
28
42
|
folio: string;
|
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
* catálogos — mandar un valor fuera de catálogo deja un expediente que ningún backoffice sabe pintar,
|
|
11
11
|
* y nadie lo rechaza en runtime porque del otro lado son strings libres.
|
|
12
12
|
*
|
|
13
|
+
* ⚠️ Dos de los cinco NO usan el catálogo que su nombre sugiere. Está anotado en cada constante:
|
|
14
|
+
* `usageMonthly` sale de `Frequency` (no de `MoneyUsageCategories`) y `beneficialOwner` de `ActMXN`
|
|
15
|
+
* (no de `BeneficialOwnerMXN`). Sale de leer la pantalla real de la app, no de la doc.
|
|
16
|
+
*
|
|
13
17
|
* ⚠️ `beneficialOwner` debe ser `SELF` para que la cuenta pueda abrir: `fiado-card-business` valida
|
|
14
18
|
* exactamente ese valor. `OTHER` ("viene de otra persona") es una respuesta legítima del cliente que
|
|
15
19
|
* BLOQUEA la apertura — la pantalla tiene que advertirlo antes, no descubrirlo después.
|
|
@@ -20,11 +24,23 @@
|
|
|
20
24
|
export declare const MONTHLY_INCOME_VALUES: readonly ["0", "10000", "20000", "50000", "100000", "150000"];
|
|
21
25
|
/** `dataType=ExtraSupport` — apoyo económico extra mensual. */
|
|
22
26
|
export declare const EXTRA_SUPPORT_VALUES: readonly ["0", "2000", "10000", "20000", "50000", "60000"];
|
|
23
|
-
/**
|
|
24
|
-
|
|
27
|
+
/**
|
|
28
|
+
* `dataType=Frequency` — con qué frecuencia va a usar la cuenta ("2 al día", "3 al día"…).
|
|
29
|
+
*
|
|
30
|
+
* ⚠️ El nombre del campo engaña: `MXN_UsageMonthly` NO es "para qué usa el dinero". Es la FRECUENCIA
|
|
31
|
+
* de operaciones, y su catálogo es `Frequency`, no `MoneyUsageCategories`. Verificado contra la
|
|
32
|
+
* pantalla real de la app (`CreateAddressMxScreen`), que manda
|
|
33
|
+
* `MXN_UsageMonthly: selectedPaymentOrPurchaseFrequency.value`.
|
|
34
|
+
*/
|
|
35
|
+
export declare const USAGE_MONTHLY_VALUES: readonly ["60", "90", "150", "180", "210", "240", "270", "300"];
|
|
25
36
|
/** `dataType=PurchaseAmountMaxMXN` — monto máximo por operación. */
|
|
26
37
|
export declare const MAXIMUM_TX_VALUES: readonly ["10000", "100000", "300000"];
|
|
27
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* `dataType=ActMXN` — "¿Actúas por tu propia cuenta?" (`SELF` = "Sí, por mi propia cuenta").
|
|
40
|
+
*
|
|
41
|
+
* ⚠️ NO es `BeneficialOwnerMXN`. Los dos catálogos comparten los valores `SELF`/`OTHER`, pero la
|
|
42
|
+
* pregunta que la app le hace al cliente es la de `ActMXN` y esa es la redacción que debe mostrarse.
|
|
43
|
+
*/
|
|
28
44
|
export declare const BENEFICIAL_OWNER_VALUES: readonly ["SELF", "OTHER"];
|
|
29
45
|
export declare class ProfileQuestionsRequest {
|
|
30
46
|
monthlyIncome: string;
|
|
@@ -24,6 +24,10 @@ const class_validator_1 = require("class-validator");
|
|
|
24
24
|
* catálogos — mandar un valor fuera de catálogo deja un expediente que ningún backoffice sabe pintar,
|
|
25
25
|
* y nadie lo rechaza en runtime porque del otro lado son strings libres.
|
|
26
26
|
*
|
|
27
|
+
* ⚠️ Dos de los cinco NO usan el catálogo que su nombre sugiere. Está anotado en cada constante:
|
|
28
|
+
* `usageMonthly` sale de `Frequency` (no de `MoneyUsageCategories`) y `beneficialOwner` de `ActMXN`
|
|
29
|
+
* (no de `BeneficialOwnerMXN`). Sale de leer la pantalla real de la app, no de la doc.
|
|
30
|
+
*
|
|
27
31
|
* ⚠️ `beneficialOwner` debe ser `SELF` para que la cuenta pueda abrir: `fiado-card-business` valida
|
|
28
32
|
* exactamente ese valor. `OTHER` ("viene de otra persona") es una respuesta legítima del cliente que
|
|
29
33
|
* BLOQUEA la apertura — la pantalla tiene que advertirlo antes, no descubrirlo después.
|
|
@@ -34,11 +38,23 @@ const class_validator_1 = require("class-validator");
|
|
|
34
38
|
exports.MONTHLY_INCOME_VALUES = ['0', '10000', '20000', '50000', '100000', '150000'];
|
|
35
39
|
/** `dataType=ExtraSupport` — apoyo económico extra mensual. */
|
|
36
40
|
exports.EXTRA_SUPPORT_VALUES = ['0', '2000', '10000', '20000', '50000', '60000'];
|
|
37
|
-
/**
|
|
38
|
-
|
|
41
|
+
/**
|
|
42
|
+
* `dataType=Frequency` — con qué frecuencia va a usar la cuenta ("2 al día", "3 al día"…).
|
|
43
|
+
*
|
|
44
|
+
* ⚠️ El nombre del campo engaña: `MXN_UsageMonthly` NO es "para qué usa el dinero". Es la FRECUENCIA
|
|
45
|
+
* de operaciones, y su catálogo es `Frequency`, no `MoneyUsageCategories`. Verificado contra la
|
|
46
|
+
* pantalla real de la app (`CreateAddressMxScreen`), que manda
|
|
47
|
+
* `MXN_UsageMonthly: selectedPaymentOrPurchaseFrequency.value`.
|
|
48
|
+
*/
|
|
49
|
+
exports.USAGE_MONTHLY_VALUES = ['60', '90', '150', '180', '210', '240', '270', '300'];
|
|
39
50
|
/** `dataType=PurchaseAmountMaxMXN` — monto máximo por operación. */
|
|
40
51
|
exports.MAXIMUM_TX_VALUES = ['10000', '100000', '300000'];
|
|
41
|
-
/**
|
|
52
|
+
/**
|
|
53
|
+
* `dataType=ActMXN` — "¿Actúas por tu propia cuenta?" (`SELF` = "Sí, por mi propia cuenta").
|
|
54
|
+
*
|
|
55
|
+
* ⚠️ NO es `BeneficialOwnerMXN`. Los dos catálogos comparten los valores `SELF`/`OTHER`, pero la
|
|
56
|
+
* pregunta que la app le hace al cliente es la de `ActMXN` y esa es la redacción que debe mostrarse.
|
|
57
|
+
*/
|
|
42
58
|
exports.BENEFICIAL_OWNER_VALUES = ['SELF', 'OTHER'];
|
|
43
59
|
class ProfileQuestionsRequest {
|
|
44
60
|
}
|
package/package.json
CHANGED
|
@@ -22,8 +22,22 @@ export interface Sale {
|
|
|
22
22
|
sku: string;
|
|
23
23
|
/** IMEI consumido del silo también en contado (local-first); null en EXTERNAL_REFERRAL (D15). */
|
|
24
24
|
imei: string | null;
|
|
25
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* Lo COBRADO en caja al cerrar. En contado == precio del equipo (lo garantiza `registerPayment`);
|
|
27
|
+
* en crédito es SOLO el enganche. ⚠️ Su significado es contrato de `SaleCompletedV1` (La Central,
|
|
28
|
+
* comisión F4): no redefinir — el precio del equipo viaja aparte en `equipmentPriceCents`. 0 en
|
|
29
|
+
* EXTERNAL_REFERRAL.
|
|
30
|
+
*/
|
|
26
31
|
amountCents: number;
|
|
32
|
+
/**
|
|
33
|
+
* Precio de lista del equipo al cerrar (de la reserva de la sesión). En contado coincide con
|
|
34
|
+
* `amountCents`; en crédito es el precio full financiado. `null` en ventas anteriores al campo.
|
|
35
|
+
*/
|
|
36
|
+
equipmentPriceCents: number | null;
|
|
37
|
+
/** Enganche cobrado (solo ventas CREDIT; `null` en contado/externa). */
|
|
38
|
+
downPaymentCents: number | null;
|
|
39
|
+
/** Puntero al crédito SOFOM en loan-credit (solo ventas CREDIT; `null` en contado/externa). */
|
|
40
|
+
creditId: string | null;
|
|
27
41
|
paymentMethod: SalePaymentMethodEnum | null;
|
|
28
42
|
/** `LG-T{storeCode}-VTA-{5hex}-{YYYY}W{ww}` (D11) — único vía `UNIQ#FOLIO`. */
|
|
29
43
|
folio: string;
|
|
@@ -13,6 +13,10 @@ import { IsIn, IsString } from 'class-validator';
|
|
|
13
13
|
* catálogos — mandar un valor fuera de catálogo deja un expediente que ningún backoffice sabe pintar,
|
|
14
14
|
* y nadie lo rechaza en runtime porque del otro lado son strings libres.
|
|
15
15
|
*
|
|
16
|
+
* ⚠️ Dos de los cinco NO usan el catálogo que su nombre sugiere. Está anotado en cada constante:
|
|
17
|
+
* `usageMonthly` sale de `Frequency` (no de `MoneyUsageCategories`) y `beneficialOwner` de `ActMXN`
|
|
18
|
+
* (no de `BeneficialOwnerMXN`). Sale de leer la pantalla real de la app, no de la doc.
|
|
19
|
+
*
|
|
16
20
|
* ⚠️ `beneficialOwner` debe ser `SELF` para que la cuenta pueda abrir: `fiado-card-business` valida
|
|
17
21
|
* exactamente ese valor. `OTHER` ("viene de otra persona") es una respuesta legítima del cliente que
|
|
18
22
|
* BLOQUEA la apertura — la pantalla tiene que advertirlo antes, no descubrirlo después.
|
|
@@ -26,13 +30,25 @@ export const MONTHLY_INCOME_VALUES = ['0', '10000', '20000', '50000', '100000',
|
|
|
26
30
|
/** `dataType=ExtraSupport` — apoyo económico extra mensual. */
|
|
27
31
|
export const EXTRA_SUPPORT_VALUES = ['0', '2000', '10000', '20000', '50000', '60000'] as const;
|
|
28
32
|
|
|
29
|
-
/**
|
|
30
|
-
|
|
33
|
+
/**
|
|
34
|
+
* `dataType=Frequency` — con qué frecuencia va a usar la cuenta ("2 al día", "3 al día"…).
|
|
35
|
+
*
|
|
36
|
+
* ⚠️ El nombre del campo engaña: `MXN_UsageMonthly` NO es "para qué usa el dinero". Es la FRECUENCIA
|
|
37
|
+
* de operaciones, y su catálogo es `Frequency`, no `MoneyUsageCategories`. Verificado contra la
|
|
38
|
+
* pantalla real de la app (`CreateAddressMxScreen`), que manda
|
|
39
|
+
* `MXN_UsageMonthly: selectedPaymentOrPurchaseFrequency.value`.
|
|
40
|
+
*/
|
|
41
|
+
export const USAGE_MONTHLY_VALUES = ['60', '90', '150', '180', '210', '240', '270', '300'] as const;
|
|
31
42
|
|
|
32
43
|
/** `dataType=PurchaseAmountMaxMXN` — monto máximo por operación. */
|
|
33
44
|
export const MAXIMUM_TX_VALUES = ['10000', '100000', '300000'] as const;
|
|
34
45
|
|
|
35
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* `dataType=ActMXN` — "¿Actúas por tu propia cuenta?" (`SELF` = "Sí, por mi propia cuenta").
|
|
48
|
+
*
|
|
49
|
+
* ⚠️ NO es `BeneficialOwnerMXN`. Los dos catálogos comparten los valores `SELF`/`OTHER`, pero la
|
|
50
|
+
* pregunta que la app le hace al cliente es la de `ActMXN` y esa es la redacción que debe mostrarse.
|
|
51
|
+
*/
|
|
36
52
|
export const BENEFICIAL_OWNER_VALUES = ['SELF', 'OTHER'] as const;
|
|
37
53
|
|
|
38
54
|
export class ProfileQuestionsRequest {
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Con qué criterio se resolvió cuál archivo de S3 es la selfie del usuario.
|
|
3
|
-
* Le dice al consumidor qué tan confiable es el match antes de mandarla a un facematch.
|
|
4
|
-
*/
|
|
5
|
-
export declare enum SelfieSourceEnum {
|
|
6
|
-
/** Matcheó el verificationId de la verificación vigente en People. */
|
|
7
|
-
VERIFICATION = "VERIFICATION",
|
|
8
|
-
/** No hubo match por verificación: se tomó el archivo de selfie más reciente del bucket. */
|
|
9
|
-
LATEST = "LATEST"
|
|
10
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SelfieSourceEnum = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Con qué criterio se resolvió cuál archivo de S3 es la selfie del usuario.
|
|
6
|
-
* Le dice al consumidor qué tan confiable es el match antes de mandarla a un facematch.
|
|
7
|
-
*/
|
|
8
|
-
var SelfieSourceEnum;
|
|
9
|
-
(function (SelfieSourceEnum) {
|
|
10
|
-
/** Matcheó el verificationId de la verificación vigente en People. */
|
|
11
|
-
SelfieSourceEnum["VERIFICATION"] = "VERIFICATION";
|
|
12
|
-
/** No hubo match por verificación: se tomó el archivo de selfie más reciente del bucket. */
|
|
13
|
-
SelfieSourceEnum["LATEST"] = "LATEST";
|
|
14
|
-
})(SelfieSourceEnum || (exports.SelfieSourceEnum = SelfieSourceEnum = {}));
|