@fiado/type-kit 3.203.0 → 3.204.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 (27) hide show
  1. package/bin/benefitCenter/enums/BenefitFlowEnum.d.ts +11 -0
  2. package/bin/benefitCenter/enums/BenefitFlowEnum.js +15 -0
  3. package/bin/index.d.ts +1 -0
  4. package/bin/index.js +6 -2
  5. package/bin/loanConfig/enums/ModifiableByRoleEnum.d.ts +11 -0
  6. package/bin/loanConfig/enums/ModifiableByRoleEnum.js +15 -0
  7. package/bin/places/dtos/CashInFeeDto.d.ts +17 -0
  8. package/bin/places/dtos/CashInFeeDto.js +12 -0
  9. package/bin/platformRbac/dtos/ResendOtpRequest.d.ts +22 -0
  10. package/bin/platformRbac/dtos/ResendOtpRequest.js +36 -0
  11. package/bin/platformRbac/dtos/ResendSelfRegisterOtpRequest.d.ts +11 -0
  12. package/bin/platformRbac/dtos/ResendSelfRegisterOtpRequest.js +36 -0
  13. package/bin/shortlink/dtos/requests/CreateShortLinkRequest.d.ts +20 -0
  14. package/bin/shortlink/dtos/requests/CreateShortLinkRequest.js +62 -0
  15. package/bin/shortlink/dtos/responses/CreateShortLinkResponse.d.ts +10 -0
  16. package/bin/shortlink/dtos/responses/CreateShortLinkResponse.js +31 -0
  17. package/bin/shortlink/index.d.ts +2 -0
  18. package/bin/shortlink/index.js +20 -0
  19. package/package.json +1 -1
  20. package/src/index.ts +4 -0
  21. package/src/shortlink/dtos/requests/CreateShortLinkRequest.ts +47 -0
  22. package/src/shortlink/dtos/responses/CreateShortLinkResponse.ts +18 -0
  23. package/src/shortlink/index.ts +5 -0
  24. package/bin/loanCredit/dtos/requests/UpdateActivationChecklistRequest.d.ts +0 -11
  25. package/bin/loanCredit/dtos/requests/UpdateActivationChecklistRequest.js +0 -46
  26. package/bin/loanCredit/enums/ClientLevelEnum.d.ts +0 -11
  27. 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 = {}));
package/bin/index.d.ts CHANGED
@@ -94,6 +94,7 @@ export * as RetailCards from './retailCards';
94
94
  export * as RetailCustomer from './retailCustomer';
95
95
  export * as RetailWizard from './retailWizard';
96
96
  export * as LoanConfig from './loanConfig';
97
+ export * as Shortlink from './shortlink';
97
98
  export * as LoanOfferings from './loanOfferings';
98
99
  export * as LoanCollectorAssignment from './loanCollectorAssignment';
99
100
  export * as LoanCredit from './loanCredit';
package/bin/index.js CHANGED
@@ -37,8 +37,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.Device = exports.Observations = exports.IssuanceBusiness = exports.Blacklist = exports.CentralPayments = exports.Helpdesk = exports.FiadoApiResponse = exports.Auth = exports.LegalDocumentsBusiness = exports.Role = exports.STPAccount = exports.RiskProfile = exports.FraudPreventionEngine = exports.BBVARst = exports.Stp = exports.BenefitCenter = exports.BankAccount = exports.P2pContact = exports.CreditContract = exports.Contract = exports.ProductCatalog = exports.ContactInfo = exports.TransactionAnalytics = exports.Transaction = exports.TransactionProcessor = exports.GenericMessage = exports.EventBridgeMessage = exports.SessionActivity = exports.NotificationMessages = exports.ServicePayment = exports.Header = exports.Identity = exports.UserTags = exports.Group = exports.File = exports.ExchangeRate = exports.Directory = exports.Currency = exports.Country = exports.Card = exports.Authentication = exports.AppContent = exports.App = exports.Offices = exports.Places = exports.Address = exports.Beneficiary = exports.Activity = exports.Account = exports.Crypto = void 0;
40
- exports.LoanScoring = exports.LoanCredit = exports.LoanCollectorAssignment = exports.LoanOfferings = exports.LoanConfig = exports.RetailWizard = exports.RetailCustomer = exports.RetailCards = exports.RetailCatalog = exports.RetailOrg = exports.EmailVerification = exports.NetworkConnector = exports.Modelias = exports.TotpSecurity = exports.Passport = exports.WalletFunding = exports.Remittance = exports.PlatformRbac = exports.CognitoBackofficeConnector = exports.TwilioConnector = exports.MessagesConnector = exports.Mdm = exports.MilestoneBusiness = exports.CirculoCredito = exports.CreditStatements = exports.Sentry = exports.AiEngine = exports.Funnel = exports.TeamsConnector = exports.PlatformErrorEvents = exports.CustomerFile = exports.CreditBackoffice = exports.CreditDashboard = exports.CreditEngine = exports.Credit = exports.ComissionBusiness = exports.ReferralBusiness = exports.ZendeskMessaging = exports.NotificationWS = exports.Event = exports.PayrollBusiness = exports.Cnbv = exports.DirectorySetting = exports.InvoiceCollector = exports.Collector = exports.Pricelist = exports.Company = exports.Services = exports.AccountIssuanceBusiness = exports.AppSelectionData = void 0;
41
- exports.Kyc = void 0;
40
+ exports.LoanCredit = exports.LoanCollectorAssignment = exports.LoanOfferings = exports.Shortlink = exports.LoanConfig = exports.RetailWizard = exports.RetailCustomer = exports.RetailCards = exports.RetailCatalog = exports.RetailOrg = exports.EmailVerification = exports.NetworkConnector = exports.Modelias = exports.TotpSecurity = exports.Passport = exports.WalletFunding = exports.Remittance = exports.PlatformRbac = exports.CognitoBackofficeConnector = exports.TwilioConnector = exports.MessagesConnector = exports.Mdm = exports.MilestoneBusiness = exports.CirculoCredito = exports.CreditStatements = exports.Sentry = exports.AiEngine = exports.Funnel = exports.TeamsConnector = exports.PlatformErrorEvents = exports.CustomerFile = exports.CreditBackoffice = exports.CreditDashboard = exports.CreditEngine = exports.Credit = exports.ComissionBusiness = exports.ReferralBusiness = exports.ZendeskMessaging = exports.NotificationWS = exports.Event = exports.PayrollBusiness = exports.Cnbv = exports.DirectorySetting = exports.InvoiceCollector = exports.Collector = exports.Pricelist = exports.Company = exports.Services = exports.AccountIssuanceBusiness = exports.AppSelectionData = void 0;
41
+ exports.Kyc = exports.LoanScoring = void 0;
42
42
  exports.Crypto = __importStar(require("./crypto"));
43
43
  exports.Account = __importStar(require("./account"));
44
44
  exports.Activity = __importStar(require("./activity"));
@@ -158,6 +158,10 @@ exports.RetailCustomer = __importStar(require("./retailCustomer"));
158
158
  exports.RetailWizard = __importStar(require("./retailWizard"));
159
159
  // LoanConfig: DTOs/enums del lambda loan-config-business (comp 09 — parámetros operativos del SOFOM).
160
160
  exports.LoanConfig = __importStar(require("./loanConfig"));
161
+ // Shortlink: DTOs del lambda shortlink-business (acortador de URLs). Se consume M2M por su endpoint
162
+ // privado POST /private/links. En SureKeep Fase 2 lo usan el QR de instalación de la app (paso 09, D9)
163
+ // y el link de KYC CUSTOMER_LINK (paso 02, QR en tablet o SMS).
164
+ exports.Shortlink = __importStar(require("./shortlink"));
161
165
  // LoanOfferings: DTOs/enums del lambda loan-offerings-business (comp 07 — planes de crédito,
162
166
  // financieras, M:N retailer↔plan y simulador de cuota; SureKeep Fase 1 — pista Loan).
163
167
  exports.LoanOfferings = __importStar(require("./loanOfferings"));
@@ -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);
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Creación de un short link vía el endpoint privado M2M de `shortlink-business`
3
+ * (`POST /private/links`). SureKeep Fase 2 — pista Retail.
4
+ *
5
+ * Ojo con `expireAt`: es opcional en el tipo pero **obligatorio de facto**. El manager del
6
+ * lambda destino rechaza con `INVALID_EXPIRE_AT` si falta o si ya venció. Se deja opcional
7
+ * para no romper a un caller que use un default propio, pero mándalo siempre.
8
+ */
9
+ export declare class CreateShortLinkRequest {
10
+ /** URL destino. Debe ser HTTPS: el destino rechaza `http://` con `INVALID_DESTINATION_URL`. */
11
+ destination: string;
12
+ /** Epoch en **segundos** (no milisegundos). Debe ser futuro. */
13
+ expireAt?: number;
14
+ /** Quién pidió el link. En M2M conviene el nombre del lambda caller. */
15
+ createdBy?: string;
16
+ notes?: string;
17
+ directoryId?: string;
18
+ /** Código vanity. Si se omite, el destino genera uno Base62 único. */
19
+ code?: string;
20
+ }
@@ -0,0 +1,62 @@
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.CreateShortLinkRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ /**
16
+ * Creación de un short link vía el endpoint privado M2M de `shortlink-business`
17
+ * (`POST /private/links`). SureKeep Fase 2 — pista Retail.
18
+ *
19
+ * Ojo con `expireAt`: es opcional en el tipo pero **obligatorio de facto**. El manager del
20
+ * lambda destino rechaza con `INVALID_EXPIRE_AT` si falta o si ya venció. Se deja opcional
21
+ * para no romper a un caller que use un default propio, pero mándalo siempre.
22
+ */
23
+ class CreateShortLinkRequest {
24
+ }
25
+ exports.CreateShortLinkRequest = CreateShortLinkRequest;
26
+ __decorate([
27
+ (0, class_transformer_1.Expose)(),
28
+ (0, class_validator_1.IsString)(),
29
+ (0, class_validator_1.IsNotEmpty)(),
30
+ (0, class_validator_1.IsUrl)({ require_protocol: true, protocols: ['https'] }),
31
+ __metadata("design:type", String)
32
+ ], CreateShortLinkRequest.prototype, "destination", void 0);
33
+ __decorate([
34
+ (0, class_transformer_1.Expose)(),
35
+ (0, class_validator_1.IsOptional)(),
36
+ (0, class_validator_1.IsNumber)(),
37
+ __metadata("design:type", Number)
38
+ ], CreateShortLinkRequest.prototype, "expireAt", void 0);
39
+ __decorate([
40
+ (0, class_transformer_1.Expose)(),
41
+ (0, class_validator_1.IsOptional)(),
42
+ (0, class_validator_1.IsString)(),
43
+ __metadata("design:type", String)
44
+ ], CreateShortLinkRequest.prototype, "createdBy", void 0);
45
+ __decorate([
46
+ (0, class_transformer_1.Expose)(),
47
+ (0, class_validator_1.IsOptional)(),
48
+ (0, class_validator_1.IsString)(),
49
+ __metadata("design:type", String)
50
+ ], CreateShortLinkRequest.prototype, "notes", void 0);
51
+ __decorate([
52
+ (0, class_transformer_1.Expose)(),
53
+ (0, class_validator_1.IsOptional)(),
54
+ (0, class_validator_1.IsString)(),
55
+ __metadata("design:type", String)
56
+ ], CreateShortLinkRequest.prototype, "directoryId", void 0);
57
+ __decorate([
58
+ (0, class_transformer_1.Expose)(),
59
+ (0, class_validator_1.IsOptional)(),
60
+ (0, class_validator_1.IsString)(),
61
+ __metadata("design:type", String)
62
+ ], CreateShortLinkRequest.prototype, "code", void 0);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Respuesta de `POST /private/links` de `shortlink-business`.
3
+ * Verificado contra Dev (2026-07-21): `{"id":"zJCeg7O","shortUrl":"https://.../go/zJCeg7O"}`.
4
+ */
5
+ export declare class CreateShortLinkResponse {
6
+ /** Código corto generado. Es la última parte del `shortUrl`. */
7
+ id: string;
8
+ /** URL corta completa, lista para mandar por SMS o pintar como QR. */
9
+ shortUrl: string;
10
+ }
@@ -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.CreateShortLinkResponse = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ /**
16
+ * Respuesta de `POST /private/links` de `shortlink-business`.
17
+ * Verificado contra Dev (2026-07-21): `{"id":"zJCeg7O","shortUrl":"https://.../go/zJCeg7O"}`.
18
+ */
19
+ class CreateShortLinkResponse {
20
+ }
21
+ exports.CreateShortLinkResponse = CreateShortLinkResponse;
22
+ __decorate([
23
+ (0, class_transformer_1.Expose)(),
24
+ (0, class_validator_1.IsString)(),
25
+ __metadata("design:type", String)
26
+ ], CreateShortLinkResponse.prototype, "id", void 0);
27
+ __decorate([
28
+ (0, class_transformer_1.Expose)(),
29
+ (0, class_validator_1.IsString)(),
30
+ __metadata("design:type", String)
31
+ ], CreateShortLinkResponse.prototype, "shortUrl", void 0);
@@ -0,0 +1,2 @@
1
+ export * from './dtos/requests/CreateShortLinkRequest';
2
+ export * from './dtos/responses/CreateShortLinkResponse';
@@ -0,0 +1,20 @@
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
+ // Request DTOs (input validado por endpoint)
18
+ __exportStar(require("./dtos/requests/CreateShortLinkRequest"), exports);
19
+ // Response DTOs
20
+ __exportStar(require("./dtos/responses/CreateShortLinkResponse"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.203.0",
3
+ "version": "3.204.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
package/src/index.ts CHANGED
@@ -117,6 +117,10 @@ export * as RetailCustomer from './retailCustomer';
117
117
  export * as RetailWizard from './retailWizard';
118
118
  // LoanConfig: DTOs/enums del lambda loan-config-business (comp 09 — parámetros operativos del SOFOM).
119
119
  export * as LoanConfig from './loanConfig';
120
+ // Shortlink: DTOs del lambda shortlink-business (acortador de URLs). Se consume M2M por su endpoint
121
+ // privado POST /private/links. En SureKeep Fase 2 lo usan el QR de instalación de la app (paso 09, D9)
122
+ // y el link de KYC CUSTOMER_LINK (paso 02, QR en tablet o SMS).
123
+ export * as Shortlink from './shortlink';
120
124
  // LoanOfferings: DTOs/enums del lambda loan-offerings-business (comp 07 — planes de crédito,
121
125
  // financieras, M:N retailer↔plan y simulador de cuota; SureKeep Fase 1 — pista Loan).
122
126
  export * as LoanOfferings from './loanOfferings';
@@ -0,0 +1,47 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { IsNotEmpty, IsNumber, IsOptional, IsString, IsUrl } from 'class-validator';
3
+
4
+ /**
5
+ * Creación de un short link vía el endpoint privado M2M de `shortlink-business`
6
+ * (`POST /private/links`). SureKeep Fase 2 — pista Retail.
7
+ *
8
+ * Ojo con `expireAt`: es opcional en el tipo pero **obligatorio de facto**. El manager del
9
+ * lambda destino rechaza con `INVALID_EXPIRE_AT` si falta o si ya venció. Se deja opcional
10
+ * para no romper a un caller que use un default propio, pero mándalo siempre.
11
+ */
12
+ export class CreateShortLinkRequest {
13
+ /** URL destino. Debe ser HTTPS: el destino rechaza `http://` con `INVALID_DESTINATION_URL`. */
14
+ @Expose()
15
+ @IsString()
16
+ @IsNotEmpty()
17
+ @IsUrl({ require_protocol: true, protocols: ['https'] })
18
+ destination!: string;
19
+
20
+ /** Epoch en **segundos** (no milisegundos). Debe ser futuro. */
21
+ @Expose()
22
+ @IsOptional()
23
+ @IsNumber()
24
+ expireAt?: number;
25
+
26
+ /** Quién pidió el link. En M2M conviene el nombre del lambda caller. */
27
+ @Expose()
28
+ @IsOptional()
29
+ @IsString()
30
+ createdBy?: string;
31
+
32
+ @Expose()
33
+ @IsOptional()
34
+ @IsString()
35
+ notes?: string;
36
+
37
+ @Expose()
38
+ @IsOptional()
39
+ @IsString()
40
+ directoryId?: string;
41
+
42
+ /** Código vanity. Si se omite, el destino genera uno Base62 único. */
43
+ @Expose()
44
+ @IsOptional()
45
+ @IsString()
46
+ code?: string;
47
+ }
@@ -0,0 +1,18 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { IsString } from 'class-validator';
3
+
4
+ /**
5
+ * Respuesta de `POST /private/links` de `shortlink-business`.
6
+ * Verificado contra Dev (2026-07-21): `{"id":"zJCeg7O","shortUrl":"https://.../go/zJCeg7O"}`.
7
+ */
8
+ export class CreateShortLinkResponse {
9
+ /** Código corto generado. Es la última parte del `shortUrl`. */
10
+ @Expose()
11
+ @IsString()
12
+ id!: string;
13
+
14
+ /** URL corta completa, lista para mandar por SMS o pintar como QR. */
15
+ @Expose()
16
+ @IsString()
17
+ shortUrl!: string;
18
+ }
@@ -0,0 +1,5 @@
1
+ // Request DTOs (input validado por endpoint)
2
+ export * from './dtos/requests/CreateShortLinkRequest';
3
+
4
+ // Response DTOs
5
+ export * from './dtos/responses/CreateShortLinkResponse';
@@ -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 = {}));