@fiado/type-kit 3.178.0 → 3.179.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.
@@ -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;
@@ -1,5 +1,6 @@
1
1
  import { PermissionScope } from '../enums/PermissionScope';
2
2
  import { ApplicationPermission } from './ApplicationPermission';
3
+ import { SeedRole } from './Application';
3
4
  /**
4
5
  * DEC-RBAC-092: al actualizar el `scope` de un permiso del catálogo de una app, el backend recalcula
5
6
  * en cascada el scope de los roles que lo usan en todos los tenants de esa app y REPORTA (no modifica)
@@ -43,3 +44,28 @@ export interface UpdateApplicationPermissionResponse {
43
44
  permission: ApplicationPermission;
44
45
  cascade?: CascadeReport;
45
46
  }
47
+ /**
48
+ * DEC-RBAC-106: cascade de los ROLES DE NEGOCIO de una app a todos sus tenants. Al editar los
49
+ * `seedRoles` de la app (`ApplicationManager.update`), el backend diffea viejo vs nuevo (excluyendo los
50
+ * ids de rol de sistema canónicos) y propaga el delta a los silos: overwrite (created/updated) o
51
+ * soft-delete (deleted). Best-effort por silo, mismo criterio que DEC-RBAC-092.
52
+ */
53
+ /** Delta de `seedRoles` de negocio calculado por el diff (ya sin los ids de sistema canónicos). */
54
+ export interface RoleSeedDiff {
55
+ created: SeedRole[];
56
+ updated: SeedRole[];
57
+ deleted: string[];
58
+ }
59
+ /** Un rol de negocio propagado a un tenant por el cascade (created/updated/softDeleted). */
60
+ export interface RoleCascadeChange {
61
+ tenantId: string;
62
+ roleId: string;
63
+ }
64
+ /** Resumen del cascade de roles de negocio (DEC-RBAC-106). Reutiliza los tipos de DEC-RBAC-092. */
65
+ export interface RoleCascadeReport {
66
+ created: RoleCascadeChange[];
67
+ updated: RoleCascadeChange[];
68
+ softDeleted: RoleCascadeChange[];
69
+ inconsistentAssignments: InconsistentAssignment[];
70
+ failedTenants: CascadeTenantFailure[];
71
+ }
@@ -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
+ }
@@ -9,25 +9,28 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CancelFundingRequest = void 0;
12
+ exports.ResendOtpRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
13
14
  const class_validator_1 = require("class-validator");
14
15
  /**
15
- * Request del cancel via Centro de Beneficios (spec 13 v2.0).
16
- * `reference` 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).
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).
20
21
  */
21
- class CancelFundingRequest {
22
+ class ResendOtpRequest {
22
23
  }
23
- exports.CancelFundingRequest = CancelFundingRequest;
24
+ exports.ResendOtpRequest = ResendOtpRequest;
24
25
  __decorate([
25
- (0, class_validator_1.IsString)(),
26
- (0, class_validator_1.MaxLength)(64),
26
+ (0, class_transformer_1.Expose)(),
27
+ (0, class_validator_1.IsEmail)(),
28
+ (0, class_validator_1.IsNotEmpty)(),
27
29
  __metadata("design:type", String)
28
- ], CancelFundingRequest.prototype, "idempotencyKey", void 0);
30
+ ], ResendOtpRequest.prototype, "email", void 0);
29
31
  __decorate([
32
+ (0, class_transformer_1.Expose)(),
30
33
  (0, class_validator_1.IsString)(),
31
- (0, class_validator_1.MaxLength)(128),
34
+ (0, class_validator_1.IsNotEmpty)(),
32
35
  __metadata("design:type", String)
33
- ], CancelFundingRequest.prototype, "providerModuleName", void 0);
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
+ }
@@ -9,23 +9,28 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CancelFundingReferenceRequest = void 0;
12
+ exports.ResendSelfRegisterOtpRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
13
14
  const class_validator_1 = require("class-validator");
14
- class CancelFundingReferenceRequest {
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 {
15
23
  }
16
- exports.CancelFundingReferenceRequest = CancelFundingReferenceRequest;
24
+ exports.ResendSelfRegisterOtpRequest = ResendSelfRegisterOtpRequest;
17
25
  __decorate([
26
+ (0, class_transformer_1.Expose)(),
18
27
  (0, class_validator_1.IsString)(),
19
- (0, class_validator_1.MaxLength)(64),
28
+ (0, class_validator_1.IsNotEmpty)(),
20
29
  __metadata("design:type", String)
21
- ], CancelFundingReferenceRequest.prototype, "reference", void 0);
30
+ ], ResendSelfRegisterOtpRequest.prototype, "tenantId", void 0);
22
31
  __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),
32
+ (0, class_transformer_1.Expose)(),
33
+ (0, class_validator_1.IsEmail)(),
34
+ (0, class_validator_1.IsNotEmpty)(),
30
35
  __metadata("design:type", String)
31
- ], CancelFundingReferenceRequest.prototype, "idempotencyKey", void 0);
36
+ ], ResendSelfRegisterOtpRequest.prototype, "email", void 0);
@@ -44,7 +44,7 @@ export * from './enums/PermissionKind';
44
44
  export type { LevelDef, ApplicationSecurityPolicyDefault, ApplicationBrandingDefault, AutoregisterAllowedRole, AutoregisterConfig, ApplicationDefaults, SeedRole, Application, } from './application/Application';
45
45
  export type { ApplicationPermission } from './application/ApplicationPermission';
46
46
  export type { CreateApplicationRequest, UpdateApplicationRequest, UpsertApplicationPermissionRequest, } from './application/requests';
47
- export type { RoleScopeRecompute, InconsistentAssignment, CascadeTenantFailure, CascadeReport, UpdateApplicationPermissionResponse, } from './application/cascade';
47
+ export type { RoleScopeRecompute, InconsistentAssignment, CascadeTenantFailure, CascadeReport, UpdateApplicationPermissionResponse, RoleSeedDiff, RoleCascadeChange, RoleCascadeReport, } from './application/cascade';
48
48
  export * from './dtos/SelfRegisterStartRequest';
49
49
  export * from './dtos/SelfRegisterVerifyOtpRequest';
50
50
  export * from './dtos/SelfRegisterCompleteRequest';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.178.0",
3
+ "version": "3.179.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -1,5 +1,6 @@
1
1
  import { PermissionScope } from '../enums/PermissionScope';
2
2
  import { ApplicationPermission } from './ApplicationPermission';
3
+ import { SeedRole } from './Application';
3
4
 
4
5
  /**
5
6
  * DEC-RBAC-092: al actualizar el `scope` de un permiso del catálogo de una app, el backend recalcula
@@ -49,3 +50,32 @@ export interface UpdateApplicationPermissionResponse {
49
50
  permission: ApplicationPermission;
50
51
  cascade?: CascadeReport;
51
52
  }
53
+
54
+ /**
55
+ * DEC-RBAC-106: cascade de los ROLES DE NEGOCIO de una app a todos sus tenants. Al editar los
56
+ * `seedRoles` de la app (`ApplicationManager.update`), el backend diffea viejo vs nuevo (excluyendo los
57
+ * ids de rol de sistema canónicos) y propaga el delta a los silos: overwrite (created/updated) o
58
+ * soft-delete (deleted). Best-effort por silo, mismo criterio que DEC-RBAC-092.
59
+ */
60
+
61
+ /** Delta de `seedRoles` de negocio calculado por el diff (ya sin los ids de sistema canónicos). */
62
+ export interface RoleSeedDiff {
63
+ created: SeedRole[];
64
+ updated: SeedRole[];
65
+ deleted: string[]; // roleIds
66
+ }
67
+
68
+ /** Un rol de negocio propagado a un tenant por el cascade (created/updated/softDeleted). */
69
+ export interface RoleCascadeChange {
70
+ tenantId: string;
71
+ roleId: string;
72
+ }
73
+
74
+ /** Resumen del cascade de roles de negocio (DEC-RBAC-106). Reutiliza los tipos de DEC-RBAC-092. */
75
+ export interface RoleCascadeReport {
76
+ created: RoleCascadeChange[];
77
+ updated: RoleCascadeChange[];
78
+ softDeleted: RoleCascadeChange[];
79
+ inconsistentAssignments: InconsistentAssignment[];
80
+ failedTenants: CascadeTenantFailure[];
81
+ }
@@ -112,6 +112,9 @@ export type {
112
112
  CascadeTenantFailure,
113
113
  CascadeReport,
114
114
  UpdateApplicationPermissionResponse,
115
+ RoleSeedDiff,
116
+ RoleCascadeChange,
117
+ RoleCascadeReport,
115
118
  } from './application/cascade';
116
119
 
117
120
  // Autoregistro self-service por tenant (DEC-RBAC-030..034). Los Request llevan decoradores
@@ -1,6 +0,0 @@
1
- export declare class CancelFundingReferenceRequest {
2
- /** Referencia Passport (PK de EqualityFundingReference_GT). */
3
- reference: string;
4
- directoryId: string;
5
- idempotencyKey: string;
6
- }
@@ -1,7 +0,0 @@
1
- import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
2
- import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
3
- export declare class CancelFundingReferenceResponse {
4
- reference: string;
5
- status: BenefitPaymentStatusEnum;
6
- errorCode?: WalletFundingErrorCodeEnum;
7
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CancelFundingReferenceResponse = void 0;
4
- class CancelFundingReferenceResponse {
5
- }
6
- exports.CancelFundingReferenceResponse = CancelFundingReferenceResponse;
@@ -1,11 +0,0 @@
1
- /**
2
- * Request del cancel via Centro de Beneficios (spec 13 v2.0).
3
- * `reference` 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
- }
@@ -1,14 +0,0 @@
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
- reference: string;
11
- status: BenefitPaymentStatusEnum;
12
- errorCode?: WalletFundingErrorCodeEnum;
13
- message?: string;
14
- }
@@ -1,12 +0,0 @@
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;
@@ -1,3 +0,0 @@
1
- export declare class CancelWalletFundingRequest {
2
- idempotencyKey: string;
3
- }
@@ -1,21 +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.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);
@@ -1,7 +0,0 @@
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
- reference?: string;
7
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CancelWalletFundingResponse = void 0;
4
- class CancelWalletFundingResponse {
5
- }
6
- exports.CancelWalletFundingResponse = CancelWalletFundingResponse;