@fiado/type-kit 3.211.0 → 3.213.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/benefitCenter/enums/BenefitFlowEnum.d.ts +11 -0
- package/bin/benefitCenter/enums/BenefitFlowEnum.js +15 -0
- package/bin/directory/dtos/DeleteByDirectoryResponse.d.ts +10 -0
- package/bin/directory/dtos/DeleteByDirectoryResponse.js +27 -0
- package/bin/directory/index.d.ts +1 -0
- package/bin/directory/index.js +1 -0
- package/bin/kyc/events/KycVerificationChangedV1.d.ts +16 -0
- package/bin/kyc/events/KycVerificationChangedV1.js +16 -0
- package/bin/loanConfig/enums/ModifiableByRoleEnum.d.ts +11 -0
- package/bin/loanConfig/enums/ModifiableByRoleEnum.js +15 -0
- package/bin/places/dtos/CashInFeeDto.d.ts +17 -0
- package/bin/places/dtos/CashInFeeDto.js +12 -0
- package/bin/platformRbac/dtos/ResendOtpRequest.d.ts +22 -0
- package/bin/platformRbac/dtos/ResendOtpRequest.js +36 -0
- package/bin/platformRbac/dtos/ResendSelfRegisterOtpRequest.d.ts +11 -0
- package/bin/platformRbac/dtos/ResendSelfRegisterOtpRequest.js +36 -0
- package/package.json +1 -1
- package/src/directory/dtos/DeleteByDirectoryResponse.ts +14 -0
- package/src/directory/index.ts +1 -0
- package/src/kyc/events/KycVerificationChangedV1.ts +20 -0
- package/bin/loanCredit/dtos/requests/UpdateActivationChecklistRequest.d.ts +0 -11
- package/bin/loanCredit/dtos/requests/UpdateActivationChecklistRequest.js +0 -46
- package/bin/loanCredit/enums/ClientLevelEnum.d.ts +0 -11
- package/bin/loanCredit/enums/ClientLevelEnum.js +0 -15
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare enum BenefitFlowEnum {
|
|
2
|
+
TOPUPS = "TOPUPS",
|
|
3
|
+
BILL_PAYMENT = "BILL_PAYMENT",
|
|
4
|
+
CREDIT = "CREDIT",
|
|
5
|
+
INSURANCE = "INSURANCE",
|
|
6
|
+
DONATION = "DONATION",
|
|
7
|
+
PHARMACY = "PHARMACY",
|
|
8
|
+
REMITTANCE = "REMITTANCE",
|
|
9
|
+
/** Fondeo de wallet PCF con efectivo via provider externo (Equality/Passport, OpenPay, …) — spec 13. */
|
|
10
|
+
WALLET_FUNDING = "WALLET_FUNDING"
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BenefitFlowEnum = void 0;
|
|
4
|
+
var BenefitFlowEnum;
|
|
5
|
+
(function (BenefitFlowEnum) {
|
|
6
|
+
BenefitFlowEnum["TOPUPS"] = "TOPUPS";
|
|
7
|
+
BenefitFlowEnum["BILL_PAYMENT"] = "BILL_PAYMENT";
|
|
8
|
+
BenefitFlowEnum["CREDIT"] = "CREDIT";
|
|
9
|
+
BenefitFlowEnum["INSURANCE"] = "INSURANCE";
|
|
10
|
+
BenefitFlowEnum["DONATION"] = "DONATION";
|
|
11
|
+
BenefitFlowEnum["PHARMACY"] = "PHARMACY";
|
|
12
|
+
BenefitFlowEnum["REMITTANCE"] = "REMITTANCE";
|
|
13
|
+
/** Fondeo de wallet PCF con efectivo via provider externo (Equality/Passport, OpenPay, …) — spec 13. */
|
|
14
|
+
BenefitFlowEnum["WALLET_FUNDING"] = "WALLET_FUNDING";
|
|
15
|
+
})(BenefitFlowEnum || (exports.BenefitFlowEnum = BenefitFlowEnum = {}));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Respuesta estándar del endpoint privado `privateDeleteByDirectoryId`
|
|
3
|
+
* (DELETE /private/directory/{directoryId}) que cada lambda de dominio expone
|
|
4
|
+
* para el borrado en cascada de todo su rastro asociado a un directoryId.
|
|
5
|
+
*
|
|
6
|
+
* Idempotente: si no hay registros para ese directoryId, deletedCount = 0.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DeleteByDirectoryResponse {
|
|
9
|
+
deletedCount: number;
|
|
10
|
+
}
|
|
@@ -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.DeleteByDirectoryResponse = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
/**
|
|
15
|
+
* Respuesta estándar del endpoint privado `privateDeleteByDirectoryId`
|
|
16
|
+
* (DELETE /private/directory/{directoryId}) que cada lambda de dominio expone
|
|
17
|
+
* para el borrado en cascada de todo su rastro asociado a un directoryId.
|
|
18
|
+
*
|
|
19
|
+
* Idempotente: si no hay registros para ese directoryId, deletedCount = 0.
|
|
20
|
+
*/
|
|
21
|
+
class DeleteByDirectoryResponse {
|
|
22
|
+
}
|
|
23
|
+
exports.DeleteByDirectoryResponse = DeleteByDirectoryResponse;
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_validator_1.IsNumber)(),
|
|
26
|
+
__metadata("design:type", Number)
|
|
27
|
+
], DeleteByDirectoryResponse.prototype, "deletedCount", void 0);
|
package/bin/directory/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from './dtos/DirectoryBackofficeResponse';
|
|
|
5
5
|
export * from './dtos/DirectoryBackofficeUpdateRequest';
|
|
6
6
|
export * from './dtos/CreateDirectoryUserEventRequest';
|
|
7
7
|
export * from './dtos/CreateDirectoryUserEventResponse';
|
|
8
|
+
export * from './dtos/DeleteByDirectoryResponse';
|
|
8
9
|
export * from './dtos/External';
|
|
9
10
|
export * from './enums/TypeOfDirectoryId';
|
|
10
11
|
export * from './enums/DirectoryBackofficeStatusEnum';
|
package/bin/directory/index.js
CHANGED
|
@@ -22,6 +22,7 @@ __exportStar(require("./dtos/DirectoryBackofficeResponse"), exports);
|
|
|
22
22
|
__exportStar(require("./dtos/DirectoryBackofficeUpdateRequest"), exports);
|
|
23
23
|
__exportStar(require("./dtos/CreateDirectoryUserEventRequest"), exports);
|
|
24
24
|
__exportStar(require("./dtos/CreateDirectoryUserEventResponse"), exports);
|
|
25
|
+
__exportStar(require("./dtos/DeleteByDirectoryResponse"), exports);
|
|
25
26
|
__exportStar(require("./dtos/External"), exports);
|
|
26
27
|
//enums
|
|
27
28
|
__exportStar(require("./enums/TypeOfDirectoryId"), exports);
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { IdentificationDocumentStatus } from '../../identity/enums/IdentificationDocumentStatus';
|
|
2
2
|
import { KycVerificationStatusEnum } from '../enums/KycVerificationStatusEnum';
|
|
3
3
|
import { KycSubChecks } from '../dtos/KycSubChecks';
|
|
4
|
+
import { KycPersonData } from '../dtos/responses/KycPersonData';
|
|
5
|
+
import { AddressBase } from '../../address/dtos/AddressBase';
|
|
4
6
|
/**
|
|
5
7
|
* Cambio terminal de una verificación KYC, tal como lo publica `kyc-metamap-webhook` directo en
|
|
6
8
|
* `RetailKycInboundQueue` (el webhook manda un `SendMessage` cuando la verificación pasa a COMPLETED).
|
|
@@ -42,4 +44,18 @@ export declare class KycVerificationChangedV1 {
|
|
|
42
44
|
* HIT → oficial de cumplimiento, mala foto → reintento) vive del lado de SureKeep, NO aquí.
|
|
43
45
|
*/
|
|
44
46
|
subChecks?: KycSubChecks;
|
|
47
|
+
/**
|
|
48
|
+
* Identidad del cliente extraída del INE por `kyc-metamap-webhook` en el `verification_completed`.
|
|
49
|
+
* OPCIONAL y aditivo: un mensaje viejo sin `person` sigue validando. El consumer (SureKeep) la usa
|
|
50
|
+
* para el upsert del customer — sin ella el upsert falla en el boundary (`DatosKycIncompletos`),
|
|
51
|
+
* porque el estado autoritativo de `getByDirectory` no siempre trae la persona consolidada a tiempo.
|
|
52
|
+
* ⚠️ PII: nunca loguear esta estructura.
|
|
53
|
+
*/
|
|
54
|
+
person?: KycPersonData;
|
|
55
|
+
/**
|
|
56
|
+
* Domicilio del INE ya ESTRUCTURADO por `places-business` (paso 02e), listo para copiarse a
|
|
57
|
+
* `RetailCustomer.address` en el upsert. OPCIONAL y aditivo: el webhook lo puebla cuando la OCR trae
|
|
58
|
+
* domicilio y `places` resuelve; si no, el upsert corre sin dirección y se completa después. ⚠️ PII.
|
|
59
|
+
*/
|
|
60
|
+
address?: AddressBase;
|
|
45
61
|
}
|
|
@@ -15,6 +15,8 @@ const class_validator_1 = require("class-validator");
|
|
|
15
15
|
const IdentificationDocumentStatus_1 = require("../../identity/enums/IdentificationDocumentStatus");
|
|
16
16
|
const KycVerificationStatusEnum_1 = require("../enums/KycVerificationStatusEnum");
|
|
17
17
|
const KycSubChecks_1 = require("../dtos/KycSubChecks");
|
|
18
|
+
const KycPersonData_1 = require("../dtos/responses/KycPersonData");
|
|
19
|
+
const AddressBase_1 = require("../../address/dtos/AddressBase");
|
|
18
20
|
/**
|
|
19
21
|
* Cambio terminal de una verificación KYC, tal como lo publica `kyc-metamap-webhook` directo en
|
|
20
22
|
* `RetailKycInboundQueue` (el webhook manda un `SendMessage` cuando la verificación pasa a COMPLETED).
|
|
@@ -82,3 +84,17 @@ __decorate([
|
|
|
82
84
|
(0, class_transformer_1.Type)(() => KycSubChecks_1.KycSubChecks),
|
|
83
85
|
__metadata("design:type", KycSubChecks_1.KycSubChecks)
|
|
84
86
|
], KycVerificationChangedV1.prototype, "subChecks", void 0);
|
|
87
|
+
__decorate([
|
|
88
|
+
(0, class_transformer_1.Expose)(),
|
|
89
|
+
(0, class_validator_1.IsOptional)(),
|
|
90
|
+
(0, class_validator_1.ValidateNested)(),
|
|
91
|
+
(0, class_transformer_1.Type)(() => KycPersonData_1.KycPersonData),
|
|
92
|
+
__metadata("design:type", KycPersonData_1.KycPersonData)
|
|
93
|
+
], KycVerificationChangedV1.prototype, "person", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
(0, class_transformer_1.Expose)(),
|
|
96
|
+
(0, class_validator_1.IsOptional)(),
|
|
97
|
+
(0, class_validator_1.ValidateNested)(),
|
|
98
|
+
(0, class_transformer_1.Type)(() => AddressBase_1.AddressBase),
|
|
99
|
+
__metadata("design:type", AddressBase_1.AddressBase)
|
|
100
|
+
], KycVerificationChangedV1.prototype, "address", void 0);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rol RBAC mínimo que puede modificar un parámetro (RBAC a nivel de parámetro, modelo-datos §8).
|
|
3
|
+
* `retailer_admin` = "Admin VentasLuga" de M6 §8. Valores = identificadores de rol de RBAC F0.
|
|
4
|
+
* TD-004: confirmar mapeo super_admin ↔ platform_super_admin con el naming real de F0.
|
|
5
|
+
* @enum {string}
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ModifiableByRoleEnum {
|
|
8
|
+
SUPER_ADMIN = "super_admin",
|
|
9
|
+
SOFOM_ADMIN = "sofom_admin",
|
|
10
|
+
RETAILER_ADMIN = "retailer_admin"
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModifiableByRoleEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Rol RBAC mínimo que puede modificar un parámetro (RBAC a nivel de parámetro, modelo-datos §8).
|
|
6
|
+
* `retailer_admin` = "Admin VentasLuga" de M6 §8. Valores = identificadores de rol de RBAC F0.
|
|
7
|
+
* TD-004: confirmar mapeo super_admin ↔ platform_super_admin con el naming real de F0.
|
|
8
|
+
* @enum {string}
|
|
9
|
+
*/
|
|
10
|
+
var ModifiableByRoleEnum;
|
|
11
|
+
(function (ModifiableByRoleEnum) {
|
|
12
|
+
ModifiableByRoleEnum["SUPER_ADMIN"] = "super_admin";
|
|
13
|
+
ModifiableByRoleEnum["SOFOM_ADMIN"] = "sofom_admin";
|
|
14
|
+
ModifiableByRoleEnum["RETAILER_ADMIN"] = "retailer_admin";
|
|
15
|
+
})(ModifiableByRoleEnum || (exports.ModifiableByRoleEnum = ModifiableByRoleEnum = {}));
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CurrencyId } from '../../currency/enums/CurrencyId';
|
|
2
|
+
/**
|
|
3
|
+
* Comisión que cobra un punto de cash-in (lo que el lambda MUESTRA, no cobra).
|
|
4
|
+
* - GreenDot (US): representativo por cadena → `fixed` + `cap` (cada tienda cobra hasta el tope).
|
|
5
|
+
* - Passport (MX): por red → `fixed` + `percentage`.
|
|
6
|
+
* Response DTO — sin decoradores de validación.
|
|
7
|
+
*/
|
|
8
|
+
export declare class CashInFeeDto {
|
|
9
|
+
/** Comisión fija, en la moneda del país. */
|
|
10
|
+
fixed?: number;
|
|
11
|
+
/** Porcentaje del monto depositado (0–100). */
|
|
12
|
+
percentage?: number;
|
|
13
|
+
/** Tope máximo de comisión (GreenDot: el asociado cobra hasta este cap). */
|
|
14
|
+
cap?: number;
|
|
15
|
+
/** Moneda del fee: USD (GreenDot) | MXN (Passport). */
|
|
16
|
+
currency: CurrencyId;
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CashInFeeDto = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Comisión que cobra un punto de cash-in (lo que el lambda MUESTRA, no cobra).
|
|
6
|
+
* - GreenDot (US): representativo por cadena → `fixed` + `cap` (cada tienda cobra hasta el tope).
|
|
7
|
+
* - Passport (MX): por red → `fixed` + `percentage`.
|
|
8
|
+
* Response DTO — sin decoradores de validación.
|
|
9
|
+
*/
|
|
10
|
+
class CashInFeeDto {
|
|
11
|
+
}
|
|
12
|
+
exports.CashInFeeDto = CashInFeeDto;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { MfaMethodEnum } from '../enums/MfaMethodEnum';
|
|
2
|
+
/**
|
|
3
|
+
* Body del POST /auth/resend-otp (público, anónimo). DEC-RBAC-054.
|
|
4
|
+
* Reenvía el OTP del login re-disparando el challenge real CUSTOM_AUTH (EMAIL_OTP) para la
|
|
5
|
+
* identidad SIN password. `tenantId` obligatorio (DEC-064 — el picker ya lo resolvió, NO "solo email").
|
|
6
|
+
* El email se normaliza lowercase server-side. Postura anti-enumeración: respuesta 200 genérica
|
|
7
|
+
* siempre, sin filtrar existencia (ver AuthLoginManager.resendChallengeOtp).
|
|
8
|
+
*/
|
|
9
|
+
export declare class ResendOtpRequest {
|
|
10
|
+
email: string;
|
|
11
|
+
tenantId: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Respuesta del resend-otp. `session`/`mfaMethod` frescos del nuevo challenge CUSTOM_AUTH.
|
|
15
|
+
* Plain sin validators (no validamos lo que mandamos al cliente — fiado-validation-and-dtos § 7).
|
|
16
|
+
* Ambos opcionales: en los caminos de rechazo silencioso (anti-enumeración) o ramas sin CUSTOM_AUTH
|
|
17
|
+
* el server responde 200 genérico sin session ni método.
|
|
18
|
+
*/
|
|
19
|
+
export interface ResendOtpResponse {
|
|
20
|
+
session?: string;
|
|
21
|
+
mfaMethod?: MfaMethodEnum;
|
|
22
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
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.ResendOtpRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/**
|
|
16
|
+
* Body del POST /auth/resend-otp (público, anónimo). DEC-RBAC-054.
|
|
17
|
+
* Reenvía el OTP del login re-disparando el challenge real CUSTOM_AUTH (EMAIL_OTP) para la
|
|
18
|
+
* identidad SIN password. `tenantId` obligatorio (DEC-064 — el picker ya lo resolvió, NO "solo email").
|
|
19
|
+
* El email se normaliza lowercase server-side. Postura anti-enumeración: respuesta 200 genérica
|
|
20
|
+
* siempre, sin filtrar existencia (ver AuthLoginManager.resendChallengeOtp).
|
|
21
|
+
*/
|
|
22
|
+
class ResendOtpRequest {
|
|
23
|
+
}
|
|
24
|
+
exports.ResendOtpRequest = ResendOtpRequest;
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_transformer_1.Expose)(),
|
|
27
|
+
(0, class_validator_1.IsEmail)(),
|
|
28
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], ResendOtpRequest.prototype, "email", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_transformer_1.Expose)(),
|
|
33
|
+
(0, class_validator_1.IsString)(),
|
|
34
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], ResendOtpRequest.prototype, "tenantId", void 0);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Body del POST /self-register/resend-otp (público, anónimo). DEC-RBAC-054.
|
|
3
|
+
* Re-envía el OTP del autoregistro (mecanismo messages-business, NO Cognito) tras validar un
|
|
4
|
+
* `pending` existente. Misma postura anti-enumeración del start. El email se normaliza lowercase
|
|
5
|
+
* server-side. DTO propio por endpoint (NO reusa SelfRegisterStartRequest, que exige roleId/scope/
|
|
6
|
+
* scopeRef, ni SelfRegisterVerifyOtpRequest, que exige otp).
|
|
7
|
+
*/
|
|
8
|
+
export declare class ResendSelfRegisterOtpRequest {
|
|
9
|
+
tenantId: string;
|
|
10
|
+
email: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
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.ResendSelfRegisterOtpRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/**
|
|
16
|
+
* Body del POST /self-register/resend-otp (público, anónimo). DEC-RBAC-054.
|
|
17
|
+
* Re-envía el OTP del autoregistro (mecanismo messages-business, NO Cognito) tras validar un
|
|
18
|
+
* `pending` existente. Misma postura anti-enumeración del start. El email se normaliza lowercase
|
|
19
|
+
* server-side. DTO propio por endpoint (NO reusa SelfRegisterStartRequest, que exige roleId/scope/
|
|
20
|
+
* scopeRef, ni SelfRegisterVerifyOtpRequest, que exige otp).
|
|
21
|
+
*/
|
|
22
|
+
class ResendSelfRegisterOtpRequest {
|
|
23
|
+
}
|
|
24
|
+
exports.ResendSelfRegisterOtpRequest = ResendSelfRegisterOtpRequest;
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_transformer_1.Expose)(),
|
|
27
|
+
(0, class_validator_1.IsString)(),
|
|
28
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], ResendSelfRegisterOtpRequest.prototype, "tenantId", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_transformer_1.Expose)(),
|
|
33
|
+
(0, class_validator_1.IsEmail)(),
|
|
34
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], ResendSelfRegisterOtpRequest.prototype, "email", void 0);
|
package/package.json
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IsNumber } from "class-validator";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Respuesta estándar del endpoint privado `privateDeleteByDirectoryId`
|
|
5
|
+
* (DELETE /private/directory/{directoryId}) que cada lambda de dominio expone
|
|
6
|
+
* para el borrado en cascada de todo su rastro asociado a un directoryId.
|
|
7
|
+
*
|
|
8
|
+
* Idempotente: si no hay registros para ese directoryId, deletedCount = 0.
|
|
9
|
+
*/
|
|
10
|
+
export class DeleteByDirectoryResponse {
|
|
11
|
+
|
|
12
|
+
@IsNumber()
|
|
13
|
+
deletedCount: number;
|
|
14
|
+
}
|
package/src/directory/index.ts
CHANGED
|
@@ -7,6 +7,7 @@ export * from './dtos/DirectoryBackofficeResponse';
|
|
|
7
7
|
export * from './dtos/DirectoryBackofficeUpdateRequest';
|
|
8
8
|
export * from './dtos/CreateDirectoryUserEventRequest';
|
|
9
9
|
export * from './dtos/CreateDirectoryUserEventResponse';
|
|
10
|
+
export * from './dtos/DeleteByDirectoryResponse';
|
|
10
11
|
|
|
11
12
|
export * from './dtos/External';
|
|
12
13
|
|
|
@@ -3,6 +3,8 @@ import { IsEnum, IsISO8601, IsNotEmpty, IsOptional, IsString, ValidateNested } f
|
|
|
3
3
|
import { IdentificationDocumentStatus } from '../../identity/enums/IdentificationDocumentStatus';
|
|
4
4
|
import { KycVerificationStatusEnum } from '../enums/KycVerificationStatusEnum';
|
|
5
5
|
import { KycSubChecks } from '../dtos/KycSubChecks';
|
|
6
|
+
import { KycPersonData } from '../dtos/responses/KycPersonData';
|
|
7
|
+
import { AddressBase } from '../../address/dtos/AddressBase';
|
|
6
8
|
|
|
7
9
|
/**
|
|
8
10
|
* Cambio terminal de una verificación KYC, tal como lo publica `kyc-metamap-webhook` directo en
|
|
@@ -60,4 +62,22 @@ export class KycVerificationChangedV1 {
|
|
|
60
62
|
*/
|
|
61
63
|
@Expose() @IsOptional() @ValidateNested() @Type(() => KycSubChecks)
|
|
62
64
|
subChecks?: KycSubChecks;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Identidad del cliente extraída del INE por `kyc-metamap-webhook` en el `verification_completed`.
|
|
68
|
+
* OPCIONAL y aditivo: un mensaje viejo sin `person` sigue validando. El consumer (SureKeep) la usa
|
|
69
|
+
* para el upsert del customer — sin ella el upsert falla en el boundary (`DatosKycIncompletos`),
|
|
70
|
+
* porque el estado autoritativo de `getByDirectory` no siempre trae la persona consolidada a tiempo.
|
|
71
|
+
* ⚠️ PII: nunca loguear esta estructura.
|
|
72
|
+
*/
|
|
73
|
+
@Expose() @IsOptional() @ValidateNested() @Type(() => KycPersonData)
|
|
74
|
+
person?: KycPersonData;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Domicilio del INE ya ESTRUCTURADO por `places-business` (paso 02e), listo para copiarse a
|
|
78
|
+
* `RetailCustomer.address` en el upsert. OPCIONAL y aditivo: el webhook lo puebla cuando la OCR trae
|
|
79
|
+
* domicilio y `places` resuelve; si no, el upsert corre sin dirección y se completa después. ⚠️ PII.
|
|
80
|
+
*/
|
|
81
|
+
@Expose() @IsOptional() @ValidateNested() @Type(() => AddressBase)
|
|
82
|
+
address?: AddressBase;
|
|
63
83
|
}
|
|
@@ -1,11 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
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);
|
|
@@ -1,11 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
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 = {}));
|