@fiado/type-kit 3.187.0 → 3.189.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 (44) hide show
  1. package/_test_/unit/retailOrg/enums/ZoneStatusEnum.test.ts +14 -1
  2. package/bin/loanConfig/dtos/Parameter.d.ts +0 -2
  3. package/bin/loanConfig/dtos/Parameter.js +0 -6
  4. package/bin/loanConfig/dtos/responses/ParameterResponse.d.ts +0 -2
  5. package/bin/loanConfig/index.d.ts +0 -1
  6. package/bin/loanConfig/index.js +0 -1
  7. package/bin/retailOrg/enums/ZoneStatusEnum.d.ts +13 -1
  8. package/bin/retailOrg/enums/ZoneStatusEnum.js +13 -1
  9. package/package.json +1 -1
  10. package/src/loanConfig/dtos/Parameter.ts +0 -5
  11. package/src/loanConfig/dtos/responses/ParameterResponse.ts +0 -2
  12. package/src/loanConfig/index.ts +0 -1
  13. package/src/retailOrg/enums/ZoneStatusEnum.ts +13 -1
  14. package/bin/benefitCenter/enums/BenefitFlowEnum.d.ts +0 -11
  15. package/bin/benefitCenter/enums/BenefitFlowEnum.js +0 -15
  16. package/bin/cognitoBackofficeConnector/dtos/MfaPoolConfig.d.ts +0 -7
  17. package/bin/cognitoBackofficeConnector/dtos/MfaPoolConfig.js +0 -36
  18. package/bin/cognitoBackofficeConnector/dtos/PoolConfigResponse.d.ts +0 -20
  19. package/bin/cognitoBackofficeConnector/dtos/PoolConfigResponse.js +0 -11
  20. package/bin/cognitoBackofficeConnector/dtos/PoolsListResponse.d.ts +0 -4
  21. package/bin/cognitoBackofficeConnector/dtos/PoolsListResponse.js +0 -6
  22. package/bin/cognitoBackofficeConnector/validators/MfaTypesRequiresOne.d.ts +0 -17
  23. package/bin/cognitoBackofficeConnector/validators/MfaTypesRequiresOne.js +0 -39
  24. package/bin/loanConfig/enums/ModifiableByRoleEnum.d.ts +0 -11
  25. package/bin/loanConfig/enums/ModifiableByRoleEnum.js +0 -15
  26. package/bin/places/dtos/CashInFeeDto.d.ts +0 -17
  27. package/bin/places/dtos/CashInFeeDto.js +0 -12
  28. package/bin/rbac/enums/PoolKind.d.ts +0 -16
  29. package/bin/rbac/enums/PoolKind.js +0 -20
  30. package/bin/rbac/index.d.ts +0 -1
  31. package/bin/rbac/index.js +0 -17
  32. package/bin/walletFunding/dtos/CancelFundingReferenceRequest.d.ts +0 -5
  33. package/bin/walletFunding/dtos/CancelFundingReferenceRequest.js +0 -31
  34. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.d.ts +0 -7
  35. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.js +0 -6
  36. package/bin/walletFunding/dtos/CancelFundingRequest.d.ts +0 -11
  37. package/bin/walletFunding/dtos/CancelFundingRequest.js +0 -33
  38. package/bin/walletFunding/dtos/CancelFundingResponse.d.ts +0 -14
  39. package/bin/walletFunding/dtos/CancelFundingResponse.js +0 -12
  40. package/bin/walletFunding/dtos/CancelWalletFundingRequest.d.ts +0 -3
  41. package/bin/walletFunding/dtos/CancelWalletFundingRequest.js +0 -21
  42. package/bin/walletFunding/dtos/CancelWalletFundingResponse.d.ts +0 -7
  43. package/bin/walletFunding/dtos/CancelWalletFundingResponse.js +0 -6
  44. package/src/loanConfig/enums/ModifiableByRoleEnum.ts +0 -11
@@ -3,12 +3,25 @@ import { ZoneStatusEnum } from '../../../../src/retailOrg/enums/ZoneStatusEnum';
3
3
  describe('ZoneStatusEnum', () => {
4
4
  it('contiene exactamente los estados del contrato con value === key', () => {
5
5
  expect(ZoneStatusEnum.ACTIVE).toBe('ACTIVE');
6
+ expect(ZoneStatusEnum.SUSPENDED).toBe('SUSPENDED');
6
7
  expect(ZoneStatusEnum.INACTIVE).toBe('INACTIVE');
7
8
  });
8
9
 
9
10
  it('no tiene estados de más', () => {
10
11
  expect(Object.values(ZoneStatusEnum).sort()).toEqual(
11
- ['ACTIVE', 'INACTIVE'],
12
+ ['ACTIVE', 'INACTIVE', 'SUSPENDED'],
12
13
  );
13
14
  });
15
+
16
+ // F1 2026-07-16: `SUSPENDED` se agregó para poder expresar la SUSPENSIÓN POR CASCADA que el spec
17
+ // exige en dos lugares (componente 04 §Lógica: "suspender un retailer SUSPENDE efectivamente a sus
18
+ // zonas/stores/users por lectura, auto-reversible"; flow 03 §118: "cascade: las queries de zonas/
19
+ // stores/users filtran por retailer.status='ACTIVE'"). Sin él, la zona solo podía reportar INACTIVE
20
+ // — que significa soft-delete — y una zona suspendida por su padre aparecía BORRADA.
21
+ // Verificado en dev: con el retailer SUSPENDED, los stores reportaban SUSPENDED y las zonas ACTIVE.
22
+ it('está alineado con los otros status del dominio (ACTIVE|SUSPENDED|INACTIVE)', () => {
23
+ // SUSPENDED = suspensión reversible por cascada del padre. INACTIVE = baja (soft-delete).
24
+ // Son semánticamente distintos: no se pueden colapsar en uno solo.
25
+ expect(ZoneStatusEnum.SUSPENDED).not.toBe(ZoneStatusEnum.INACTIVE);
26
+ });
14
27
  });
@@ -1,4 +1,3 @@
1
- import { ModifiableByRoleEnum } from '../enums/ModifiableByRoleEnum';
2
1
  import { ParameterTypeEnum } from '../enums/ParameterTypeEnum';
3
2
  import { ParameterValueTypeEnum } from '../enums/ParameterValueTypeEnum';
4
3
  /**
@@ -14,7 +13,6 @@ export declare class Parameter {
14
13
  valueType: ParameterValueTypeEnum;
15
14
  defaultValue: string;
16
15
  description: string;
17
- modifiableBy: ModifiableByRoleEnum;
18
16
  lastModifiedByUserId: string;
19
17
  createdBy: string;
20
18
  updatedBy: string;
@@ -13,7 +13,6 @@ exports.Parameter = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
15
  const regex_1 = require("../../helpers/constans/regex");
16
- const ModifiableByRoleEnum_1 = require("../enums/ModifiableByRoleEnum");
17
16
  const ParameterTypeEnum_1 = require("../enums/ParameterTypeEnum");
18
17
  const ParameterValueTypeEnum_1 = require("../enums/ParameterValueTypeEnum");
19
18
  /**
@@ -59,11 +58,6 @@ __decorate([
59
58
  (0, class_validator_1.IsString)(),
60
59
  __metadata("design:type", String)
61
60
  ], Parameter.prototype, "description", void 0);
62
- __decorate([
63
- (0, class_transformer_1.Expose)(),
64
- (0, class_validator_1.IsEnum)(ModifiableByRoleEnum_1.ModifiableByRoleEnum),
65
- __metadata("design:type", String)
66
- ], Parameter.prototype, "modifiableBy", void 0);
67
61
  __decorate([
68
62
  (0, class_transformer_1.Expose)(),
69
63
  (0, class_validator_1.IsString)(),
@@ -1,4 +1,3 @@
1
- import { ModifiableByRoleEnum } from '../../enums/ModifiableByRoleEnum';
2
1
  import { ParameterTypeEnum } from '../../enums/ParameterTypeEnum';
3
2
  import { ParameterValueTypeEnum } from '../../enums/ParameterValueTypeEnum';
4
3
  /** Shape de salida de un parámetro. `effectiveValue` = value ?? defaultValue. */
@@ -11,7 +10,6 @@ export interface ParameterResponse {
11
10
  valueType: ParameterValueTypeEnum;
12
11
  defaultValue: string;
13
12
  description: string;
14
- modifiableBy: ModifiableByRoleEnum;
15
13
  lastModifiedByUserId: string;
16
14
  createdAt: string;
17
15
  updatedAt: string;
@@ -1,6 +1,5 @@
1
1
  export * from './enums/ParameterTypeEnum';
2
2
  export * from './enums/ParameterValueTypeEnum';
3
- export * from './enums/ModifiableByRoleEnum';
4
3
  export * from './dtos/Parameter';
5
4
  export * from './dtos/requests/UpdateParameterRequest';
6
5
  export * from './dtos/requests/BulkUpdateParametersRequest';
@@ -16,7 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./enums/ParameterTypeEnum"), exports);
18
18
  __exportStar(require("./enums/ParameterValueTypeEnum"), exports);
19
- __exportStar(require("./enums/ModifiableByRoleEnum"), exports);
20
19
  // Entity DTOs
21
20
  __exportStar(require("./dtos/Parameter"), exports);
22
21
  // Request DTOs
@@ -1,11 +1,23 @@
1
1
  /**
2
2
  * Estado operativo de una zona comercial de un retailer.
3
+ *
4
+ * Alineado con `RetailerStatusEnum` / `StoreStatusEnum` / `RetailUserStatusEnum`: los cuatro comparten
5
+ * ACTIVE | SUSPENDED | INACTIVE. `SUSPENDED` se agregó (F1, 2026-07-16) porque Zone era el ÚNICO que no
6
+ * podía expresar la SUSPENSIÓN POR CASCADA: el spec pide que suspender un retailer suspenda POR LECTURA
7
+ * a sus zonas/stores/users (`estadoEfectivo = propio AND cadena de padres`, auto-reversible al
8
+ * reactivar, sin fan-out de escrituras). Sin `SUSPENDED`, la zona solo podía reportar `INACTIVE` — que
9
+ * acá significa **soft-delete** — así que una zona suspendida por su padre aparecería BORRADA.
10
+ * Verificado en dev: con el retailer SUSPENDED, sus stores reportaban SUSPENDED y sus zonas seguían
11
+ * ACTIVE (fuga de la regla de negocio).
12
+ *
3
13
  * @enum {string}
4
14
  *
5
15
  * @property {string} ACTIVE - Zona activa y operando.
6
- * @property {string} INACTIVE - Zona inactiva.
16
+ * @property {string} SUSPENDED - Suspendida por cascada del padre (REVERSIBLE — no es una baja).
17
+ * @property {string} INACTIVE - Zona dada de baja (soft-delete).
7
18
  */
8
19
  export declare enum ZoneStatusEnum {
9
20
  ACTIVE = "ACTIVE",
21
+ SUSPENDED = "SUSPENDED",
10
22
  INACTIVE = "INACTIVE"
11
23
  }
@@ -3,13 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZoneStatusEnum = void 0;
4
4
  /**
5
5
  * Estado operativo de una zona comercial de un retailer.
6
+ *
7
+ * Alineado con `RetailerStatusEnum` / `StoreStatusEnum` / `RetailUserStatusEnum`: los cuatro comparten
8
+ * ACTIVE | SUSPENDED | INACTIVE. `SUSPENDED` se agregó (F1, 2026-07-16) porque Zone era el ÚNICO que no
9
+ * podía expresar la SUSPENSIÓN POR CASCADA: el spec pide que suspender un retailer suspenda POR LECTURA
10
+ * a sus zonas/stores/users (`estadoEfectivo = propio AND cadena de padres`, auto-reversible al
11
+ * reactivar, sin fan-out de escrituras). Sin `SUSPENDED`, la zona solo podía reportar `INACTIVE` — que
12
+ * acá significa **soft-delete** — así que una zona suspendida por su padre aparecería BORRADA.
13
+ * Verificado en dev: con el retailer SUSPENDED, sus stores reportaban SUSPENDED y sus zonas seguían
14
+ * ACTIVE (fuga de la regla de negocio).
15
+ *
6
16
  * @enum {string}
7
17
  *
8
18
  * @property {string} ACTIVE - Zona activa y operando.
9
- * @property {string} INACTIVE - Zona inactiva.
19
+ * @property {string} SUSPENDED - Suspendida por cascada del padre (REVERSIBLE — no es una baja).
20
+ * @property {string} INACTIVE - Zona dada de baja (soft-delete).
10
21
  */
11
22
  var ZoneStatusEnum;
12
23
  (function (ZoneStatusEnum) {
13
24
  ZoneStatusEnum["ACTIVE"] = "ACTIVE";
25
+ ZoneStatusEnum["SUSPENDED"] = "SUSPENDED";
14
26
  ZoneStatusEnum["INACTIVE"] = "INACTIVE";
15
27
  })(ZoneStatusEnum || (exports.ZoneStatusEnum = ZoneStatusEnum = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.187.0",
3
+ "version": "3.189.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -1,7 +1,6 @@
1
1
  import { Expose } from 'class-transformer';
2
2
  import { IsEnum, IsOptional, IsString, Matches } from 'class-validator';
3
3
  import { regexIso8601 } from '../../helpers/constans/regex';
4
- import { ModifiableByRoleEnum } from '../enums/ModifiableByRoleEnum';
5
4
  import { ParameterTypeEnum } from '../enums/ParameterTypeEnum';
6
5
  import { ParameterValueTypeEnum } from '../enums/ParameterValueTypeEnum';
7
6
 
@@ -40,10 +39,6 @@ export class Parameter {
40
39
  @IsString()
41
40
  description!: string;
42
41
 
43
- @Expose()
44
- @IsEnum(ModifiableByRoleEnum)
45
- modifiableBy!: ModifiableByRoleEnum;
46
-
47
42
  @Expose()
48
43
  @IsString()
49
44
  lastModifiedByUserId!: string;
@@ -1,4 +1,3 @@
1
- import { ModifiableByRoleEnum } from '../../enums/ModifiableByRoleEnum';
2
1
  import { ParameterTypeEnum } from '../../enums/ParameterTypeEnum';
3
2
  import { ParameterValueTypeEnum } from '../../enums/ParameterValueTypeEnum';
4
3
 
@@ -12,7 +11,6 @@ export interface ParameterResponse {
12
11
  valueType: ParameterValueTypeEnum;
13
12
  defaultValue: string;
14
13
  description: string;
15
- modifiableBy: ModifiableByRoleEnum;
16
14
  lastModifiedByUserId: string;
17
15
  createdAt: string;
18
16
  updatedAt: string;
@@ -1,6 +1,5 @@
1
1
  export * from './enums/ParameterTypeEnum';
2
2
  export * from './enums/ParameterValueTypeEnum';
3
- export * from './enums/ModifiableByRoleEnum';
4
3
 
5
4
  // Entity DTOs
6
5
  export * from './dtos/Parameter';
@@ -1,11 +1,23 @@
1
1
  /**
2
2
  * Estado operativo de una zona comercial de un retailer.
3
+ *
4
+ * Alineado con `RetailerStatusEnum` / `StoreStatusEnum` / `RetailUserStatusEnum`: los cuatro comparten
5
+ * ACTIVE | SUSPENDED | INACTIVE. `SUSPENDED` se agregó (F1, 2026-07-16) porque Zone era el ÚNICO que no
6
+ * podía expresar la SUSPENSIÓN POR CASCADA: el spec pide que suspender un retailer suspenda POR LECTURA
7
+ * a sus zonas/stores/users (`estadoEfectivo = propio AND cadena de padres`, auto-reversible al
8
+ * reactivar, sin fan-out de escrituras). Sin `SUSPENDED`, la zona solo podía reportar `INACTIVE` — que
9
+ * acá significa **soft-delete** — así que una zona suspendida por su padre aparecería BORRADA.
10
+ * Verificado en dev: con el retailer SUSPENDED, sus stores reportaban SUSPENDED y sus zonas seguían
11
+ * ACTIVE (fuga de la regla de negocio).
12
+ *
3
13
  * @enum {string}
4
14
  *
5
15
  * @property {string} ACTIVE - Zona activa y operando.
6
- * @property {string} INACTIVE - Zona inactiva.
16
+ * @property {string} SUSPENDED - Suspendida por cascada del padre (REVERSIBLE — no es una baja).
17
+ * @property {string} INACTIVE - Zona dada de baja (soft-delete).
7
18
  */
8
19
  export enum ZoneStatusEnum {
9
20
  ACTIVE = 'ACTIVE',
21
+ SUSPENDED = 'SUSPENDED',
10
22
  INACTIVE = 'INACTIVE',
11
23
  }
@@ -1,11 +0,0 @@
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
- }
@@ -1,15 +0,0 @@
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 = {}));
@@ -1,7 +0,0 @@
1
- declare const ALLOWED_MFA_TYPES: readonly ["SOFTWARE_TOKEN_MFA"];
2
- export type AllowedMfaType = (typeof ALLOWED_MFA_TYPES)[number];
3
- export declare class MfaPoolConfig {
4
- requireMfa: boolean;
5
- mfaTypes: AllowedMfaType[];
6
- }
7
- export {};
@@ -1,36 +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.MfaPoolConfig = void 0;
13
- const class_transformer_1 = require("class-transformer");
14
- const class_validator_1 = require("class-validator");
15
- const MfaTypesRequiresOne_1 = require("../validators/MfaTypesRequiresOne");
16
- // EMAIL_OTP removido (3.41.0): el cognito-backoffice-connector no provisiona
17
- // EmailMfaConfiguration a nivel pool (requiere infra SES que no está montada
18
- // y la integración con messages-lambda aún no tiene diseño). Ver TD-020 +
19
- // DEC-001 en cognito-backoffice-connector/docs/. Si se reintroduce, agregar
20
- // 'EMAIL_OTP' a este array.
21
- const ALLOWED_MFA_TYPES = ['SOFTWARE_TOKEN_MFA'];
22
- class MfaPoolConfig {
23
- }
24
- exports.MfaPoolConfig = MfaPoolConfig;
25
- __decorate([
26
- (0, class_transformer_1.Expose)(),
27
- (0, class_validator_1.IsBoolean)(),
28
- __metadata("design:type", Boolean)
29
- ], MfaPoolConfig.prototype, "requireMfa", void 0);
30
- __decorate([
31
- (0, class_transformer_1.Expose)(),
32
- (0, class_validator_1.IsArray)(),
33
- (0, class_validator_1.IsIn)(ALLOWED_MFA_TYPES, { each: true }),
34
- (0, class_validator_1.Validate)(MfaTypesRequiresOne_1.MfaTypesRequiresOne),
35
- __metadata("design:type", Array)
36
- ], MfaPoolConfig.prototype, "mfaTypes", void 0);
@@ -1,20 +0,0 @@
1
- import { PoolKind } from '../../rbac/enums/PoolKind';
2
- /**
3
- * Shape del `PoolConfigRow` expuesto al caller (BFF M18 / otros lambdas Fiado).
4
- * Refleja la configuración de un Cognito User Pool registrado en la tabla
5
- * `PoolConfigs_GT` del lambda `cognito-backoffice-connector`.
6
- */
7
- export declare class PoolConfigResponse {
8
- userPoolId: string;
9
- userPoolArn: string;
10
- region: string;
11
- poolKind: PoolKind;
12
- displayName: string;
13
- appClients: Record<string, {
14
- clientId: string;
15
- clientName: string;
16
- }>;
17
- status: 'active' | 'deprecated';
18
- createdAt: number;
19
- updatedAt: number;
20
- }
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PoolConfigResponse = void 0;
4
- /**
5
- * Shape del `PoolConfigRow` expuesto al caller (BFF M18 / otros lambdas Fiado).
6
- * Refleja la configuración de un Cognito User Pool registrado en la tabla
7
- * `PoolConfigs_GT` del lambda `cognito-backoffice-connector`.
8
- */
9
- class PoolConfigResponse {
10
- }
11
- exports.PoolConfigResponse = PoolConfigResponse;
@@ -1,4 +0,0 @@
1
- import { PoolConfigResponse } from './PoolConfigResponse';
2
- export declare class PoolsListResponse {
3
- pools: PoolConfigResponse[];
4
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PoolsListResponse = void 0;
4
- class PoolsListResponse {
5
- }
6
- exports.PoolsListResponse = PoolsListResponse;
@@ -1,17 +0,0 @@
1
- import { ValidatorConstraintInterface, ValidationArguments } from 'class-validator';
2
- /**
3
- * Cross-field validator: si `requireMfa: true`, entonces `mfaTypes` debe tener
4
- * al menos 1 elemento. Si `requireMfa: false`, `mfaTypes` puede ser vacío.
5
- *
6
- * Razón: cuando el pool nace con MFA habilitado, el connector llama
7
- * `SetUserPoolMfaConfigCommand` con la lista de tipos del DTO. Si el array
8
- * llega vacío con `requireMfa: true`, el SDK rechaza con InvalidParameterException
9
- * y el pool queda en estado inconsistente (MfaConfiguration:'ON' sin tipos).
10
- * Mejor rechazar en validación del DTO antes de tocar AWS.
11
- *
12
- * Ver pivote v1.4.1 TD-017 cerrado + spec doc §1 R3.
13
- */
14
- export declare class MfaTypesRequiresOne implements ValidatorConstraintInterface {
15
- validate(mfaTypes: unknown, args: ValidationArguments): boolean;
16
- defaultMessage(): string;
17
- }
@@ -1,39 +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
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.MfaTypesRequiresOne = void 0;
10
- const class_validator_1 = require("class-validator");
11
- /**
12
- * Cross-field validator: si `requireMfa: true`, entonces `mfaTypes` debe tener
13
- * al menos 1 elemento. Si `requireMfa: false`, `mfaTypes` puede ser vacío.
14
- *
15
- * Razón: cuando el pool nace con MFA habilitado, el connector llama
16
- * `SetUserPoolMfaConfigCommand` con la lista de tipos del DTO. Si el array
17
- * llega vacío con `requireMfa: true`, el SDK rechaza con InvalidParameterException
18
- * y el pool queda en estado inconsistente (MfaConfiguration:'ON' sin tipos).
19
- * Mejor rechazar en validación del DTO antes de tocar AWS.
20
- *
21
- * Ver pivote v1.4.1 TD-017 cerrado + spec doc §1 R3.
22
- */
23
- let MfaTypesRequiresOne = class MfaTypesRequiresOne {
24
- validate(mfaTypes, args) {
25
- const obj = args.object;
26
- if (obj.requireMfa === true) {
27
- return Array.isArray(mfaTypes) && mfaTypes.length >= 1;
28
- }
29
- // requireMfa: false → cualquier mfaTypes pasa.
30
- return true;
31
- }
32
- defaultMessage() {
33
- return 'mfaTypes requiere al menos un tipo cuando requireMfa=true';
34
- }
35
- };
36
- exports.MfaTypesRequiresOne = MfaTypesRequiresOne;
37
- exports.MfaTypesRequiresOne = MfaTypesRequiresOne = __decorate([
38
- (0, class_validator_1.ValidatorConstraint)({ name: 'MfaTypesRequiresOneWhenMfaRequired', async: false })
39
- ], MfaTypesRequiresOne);
@@ -1,11 +0,0 @@
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
- }
@@ -1,15 +0,0 @@
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 = {}));
@@ -1,17 +0,0 @@
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
- }
@@ -1,12 +0,0 @@
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,16 +0,0 @@
1
- /**
2
- * Tipo de User Pool de Cognito desde la perspectiva del modelo RBAC Fiado.
3
- *
4
- * Origen: spec del proyecto `cognito-backoffice-connector` (Fase 0, componente 01
5
- * documento `docs/superpowers/specs/2026-05-26-cognito-connector-decisiones-pendientes-design.md`).
6
- *
7
- * Decisión (TD-003): el proyecto converge en estos 2 valores. El documento componente 03
8
- * lista 3 valores (incluyendo una variante adicional) pero queda como outlier — la
9
- * decisión vigente en los 6 docs restantes y en el plan de implementación es 2 valores:
10
- * - BACKOFFICE_PLATFORM — pool del backoffice de plataforma (cross-tenant)
11
- * - BACKOFFICE_TENANT — pool por tenant (multi-tenant isolation)
12
- */
13
- export declare enum PoolKind {
14
- BACKOFFICE_PLATFORM = "BACKOFFICE_PLATFORM",
15
- BACKOFFICE_TENANT = "BACKOFFICE_TENANT"
16
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PoolKind = void 0;
4
- /**
5
- * Tipo de User Pool de Cognito desde la perspectiva del modelo RBAC Fiado.
6
- *
7
- * Origen: spec del proyecto `cognito-backoffice-connector` (Fase 0, componente 01
8
- * documento `docs/superpowers/specs/2026-05-26-cognito-connector-decisiones-pendientes-design.md`).
9
- *
10
- * Decisión (TD-003): el proyecto converge en estos 2 valores. El documento componente 03
11
- * lista 3 valores (incluyendo una variante adicional) pero queda como outlier — la
12
- * decisión vigente en los 6 docs restantes y en el plan de implementación es 2 valores:
13
- * - BACKOFFICE_PLATFORM — pool del backoffice de plataforma (cross-tenant)
14
- * - BACKOFFICE_TENANT — pool por tenant (multi-tenant isolation)
15
- */
16
- var PoolKind;
17
- (function (PoolKind) {
18
- PoolKind["BACKOFFICE_PLATFORM"] = "BACKOFFICE_PLATFORM";
19
- PoolKind["BACKOFFICE_TENANT"] = "BACKOFFICE_TENANT";
20
- })(PoolKind || (exports.PoolKind = PoolKind = {}));
@@ -1 +0,0 @@
1
- export * from './enums/PoolKind';
package/bin/rbac/index.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./enums/PoolKind"), exports);
@@ -1,5 +0,0 @@
1
- export declare class CancelFundingReferenceRequest {
2
- fundingId: string;
3
- directoryId: string;
4
- idempotencyKey: string;
5
- }
@@ -1,31 +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.CancelFundingReferenceRequest = void 0;
13
- const class_validator_1 = require("class-validator");
14
- class CancelFundingReferenceRequest {
15
- }
16
- exports.CancelFundingReferenceRequest = CancelFundingReferenceRequest;
17
- __decorate([
18
- (0, class_validator_1.IsString)(),
19
- (0, class_validator_1.MaxLength)(64),
20
- __metadata("design:type", String)
21
- ], CancelFundingReferenceRequest.prototype, "fundingId", void 0);
22
- __decorate([
23
- (0, class_validator_1.IsString)(),
24
- (0, class_validator_1.MaxLength)(64),
25
- __metadata("design:type", String)
26
- ], CancelFundingReferenceRequest.prototype, "directoryId", void 0);
27
- __decorate([
28
- (0, class_validator_1.IsString)(),
29
- (0, class_validator_1.MaxLength)(64),
30
- __metadata("design:type", String)
31
- ], CancelFundingReferenceRequest.prototype, "idempotencyKey", void 0);
@@ -1,7 +0,0 @@
1
- import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
2
- import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
3
- export declare class CancelFundingReferenceResponse {
4
- fundingId: string;
5
- status: BenefitPaymentStatusEnum;
6
- errorCode?: WalletFundingErrorCodeEnum;
7
- }
@@ -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
- * `fundingId` viaja en el path, `directoryId` se resuelve del JWT.
4
- * `providerModuleName` permite al marketplace rutear al publisher correcto
5
- * sin tener que persistir el mapping (el wallet-app sabe el moduleName
6
- * porque vino en la respuesta del authorize).
7
- */
8
- export declare class CancelFundingRequest {
9
- idempotencyKey: string;
10
- providerModuleName: string;
11
- }
@@ -1,33 +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.CancelFundingRequest = void 0;
13
- const class_validator_1 = require("class-validator");
14
- /**
15
- * Request del cancel via Centro de Beneficios (spec 13 v2.0).
16
- * `fundingId` viaja en el path, `directoryId` se resuelve del JWT.
17
- * `providerModuleName` permite al marketplace rutear al publisher correcto
18
- * sin tener que persistir el mapping (el wallet-app sabe el moduleName
19
- * porque vino en la respuesta del authorize).
20
- */
21
- class CancelFundingRequest {
22
- }
23
- exports.CancelFundingRequest = CancelFundingRequest;
24
- __decorate([
25
- (0, class_validator_1.IsString)(),
26
- (0, class_validator_1.MaxLength)(64),
27
- __metadata("design:type", String)
28
- ], CancelFundingRequest.prototype, "idempotencyKey", void 0);
29
- __decorate([
30
- (0, class_validator_1.IsString)(),
31
- (0, class_validator_1.MaxLength)(128),
32
- __metadata("design:type", String)
33
- ], CancelFundingRequest.prototype, "providerModuleName", void 0);
@@ -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
- fundingId: 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
- fundingId?: 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;
@@ -1,11 +0,0 @@
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 enum ModifiableByRoleEnum {
8
- SUPER_ADMIN = 'super_admin',
9
- SOFOM_ADMIN = 'sofom_admin',
10
- RETAILER_ADMIN = 'retailer_admin',
11
- }