@fiado/type-kit 3.175.0 → 3.177.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 (108) hide show
  1. package/_test_/unit/modelias/ModeliasScoreRequestDto.test.ts +25 -0
  2. package/_test_/unit/platformRbac/auth/PrepareChallengeRequest.test.ts +1 -1
  3. package/bin/index.d.ts +2 -0
  4. package/bin/index.js +8 -1
  5. package/bin/modelias/ModeliasScoreRequestDto.d.ts +15 -0
  6. package/bin/modelias/ModeliasScoreRequestDto.js +53 -0
  7. package/bin/modelias/ModeliasScoreResponseDto.d.ts +25 -0
  8. package/bin/modelias/ModeliasScoreResponseDto.js +12 -0
  9. package/bin/modelias/index.d.ts +2 -0
  10. package/bin/{rbac → modelias}/index.js +2 -1
  11. package/bin/passport/dtos/GetPassportPaymentRequest.d.ts +8 -0
  12. package/bin/{walletFunding/dtos/CancelWalletFundingRequest.js → passport/dtos/GetPassportPaymentRequest.js} +9 -4
  13. package/bin/passport/dtos/GetPassportPaymentResponse.d.ts +17 -0
  14. package/bin/passport/dtos/GetPassportPaymentResponse.js +11 -0
  15. package/bin/passport/dtos/GetPassportServiceStateResponse.d.ts +11 -0
  16. package/bin/passport/dtos/GetPassportServiceStateResponse.js +13 -0
  17. package/bin/passport/dtos/ListPassportAlertsRequest.d.ts +5 -0
  18. package/bin/{walletFunding/dtos/CancelFundingReferenceRequest.js → passport/dtos/ListPassportAlertsRequest.js} +7 -16
  19. package/bin/passport/dtos/ListPassportAlertsResponse.d.ts +6 -0
  20. package/bin/passport/dtos/ListPassportAlertsResponse.js +6 -0
  21. package/bin/passport/dtos/ListPassportPaymentsRequest.d.ts +33 -0
  22. package/bin/passport/dtos/ListPassportPaymentsRequest.js +87 -0
  23. package/bin/passport/dtos/ListPassportPaymentsResponse.d.ts +12 -0
  24. package/bin/passport/dtos/ListPassportPaymentsResponse.js +6 -0
  25. package/bin/passport/dtos/index.d.ts +7 -0
  26. package/bin/passport/dtos/index.js +23 -0
  27. package/bin/passport/entities/PassportAlertRow.d.ts +28 -0
  28. package/bin/passport/entities/PassportAlertRow.js +15 -0
  29. package/bin/passport/entities/PassportAlertTotals.d.ts +10 -0
  30. package/bin/passport/entities/PassportAlertTotals.js +9 -0
  31. package/bin/passport/entities/PassportClientInfo.d.ts +15 -0
  32. package/bin/passport/entities/PassportClientInfo.js +11 -0
  33. package/bin/passport/entities/PassportPaymentRow.d.ts +41 -0
  34. package/bin/passport/entities/PassportPaymentRow.js +13 -0
  35. package/bin/passport/entities/PassportPaymentTotals.d.ts +19 -0
  36. package/bin/passport/entities/PassportPaymentTotals.js +11 -0
  37. package/bin/passport/entities/PassportReferenceInfo.d.ts +20 -0
  38. package/bin/passport/entities/PassportReferenceInfo.js +11 -0
  39. package/bin/passport/entities/PassportServiceState.d.ts +19 -0
  40. package/bin/passport/entities/PassportServiceState.js +11 -0
  41. package/bin/passport/entities/index.d.ts +7 -0
  42. package/bin/passport/entities/index.js +23 -0
  43. package/bin/passport/enums/PassportAlertSeverityEnum.d.ts +16 -0
  44. package/bin/passport/enums/PassportAlertSeverityEnum.js +20 -0
  45. package/bin/passport/enums/PassportAlertStatusEnum.d.ts +13 -0
  46. package/bin/passport/enums/PassportAlertStatusEnum.js +17 -0
  47. package/bin/passport/enums/PassportAlertTypeEnum.d.ts +19 -0
  48. package/bin/passport/enums/PassportAlertTypeEnum.js +23 -0
  49. package/bin/passport/enums/PassportPaymentSortColEnum.d.ts +14 -0
  50. package/bin/passport/enums/PassportPaymentSortColEnum.js +18 -0
  51. package/bin/passport/enums/SortDirEnum.d.ts +8 -0
  52. package/bin/passport/enums/SortDirEnum.js +12 -0
  53. package/bin/passport/enums/index.d.ts +5 -0
  54. package/bin/passport/enums/index.js +21 -0
  55. package/bin/passport/index.d.ts +3 -0
  56. package/bin/passport/index.js +19 -0
  57. package/bin/platformRbac/dtos/ResendOtpRequest.d.ts +22 -0
  58. package/bin/{walletFunding/dtos/CancelFundingRequest.js → platformRbac/dtos/ResendOtpRequest.js} +16 -13
  59. package/bin/platformRbac/dtos/ResendSelfRegisterOtpRequest.d.ts +11 -0
  60. package/bin/{cognitoBackofficeConnector/dtos/MfaPoolConfig.js → platformRbac/dtos/ResendSelfRegisterOtpRequest.js} +18 -18
  61. package/package.json +1 -1
  62. package/src/index.ts +7 -0
  63. package/src/modelias/ModeliasScoreRequestDto.ts +29 -0
  64. package/src/modelias/ModeliasScoreResponseDto.ts +26 -0
  65. package/src/modelias/index.ts +2 -0
  66. package/src/passport/dtos/GetPassportPaymentRequest.ts +10 -0
  67. package/src/passport/dtos/GetPassportPaymentResponse.ts +18 -0
  68. package/src/passport/dtos/GetPassportServiceStateResponse.ts +12 -0
  69. package/src/passport/dtos/ListPassportAlertsRequest.ts +7 -0
  70. package/src/passport/dtos/ListPassportAlertsResponse.ts +7 -0
  71. package/src/passport/dtos/ListPassportPaymentsRequest.ts +47 -0
  72. package/src/passport/dtos/ListPassportPaymentsResponse.ts +13 -0
  73. package/src/passport/dtos/index.ts +7 -0
  74. package/src/passport/entities/PassportAlertRow.ts +29 -0
  75. package/src/passport/entities/PassportAlertTotals.ts +10 -0
  76. package/src/passport/entities/PassportClientInfo.ts +16 -0
  77. package/src/passport/entities/PassportPaymentRow.ts +42 -0
  78. package/src/passport/entities/PassportPaymentTotals.ts +19 -0
  79. package/src/passport/entities/PassportReferenceInfo.ts +21 -0
  80. package/src/passport/entities/PassportServiceState.ts +20 -0
  81. package/src/passport/entities/index.ts +7 -0
  82. package/src/passport/enums/PassportAlertSeverityEnum.ts +16 -0
  83. package/src/passport/enums/PassportAlertStatusEnum.ts +13 -0
  84. package/src/passport/enums/PassportAlertTypeEnum.ts +19 -0
  85. package/src/passport/enums/PassportPaymentSortColEnum.ts +14 -0
  86. package/src/passport/enums/SortDirEnum.ts +8 -0
  87. package/src/passport/enums/index.ts +5 -0
  88. package/src/passport/index.ts +3 -0
  89. package/src/platformRbac/auth/PrepareChallengeRequest.ts +1 -1
  90. package/bin/cognitoBackofficeConnector/dtos/MfaPoolConfig.d.ts +0 -7
  91. package/bin/cognitoBackofficeConnector/dtos/PoolConfigResponse.d.ts +0 -20
  92. package/bin/cognitoBackofficeConnector/dtos/PoolConfigResponse.js +0 -11
  93. package/bin/cognitoBackofficeConnector/dtos/PoolsListResponse.d.ts +0 -4
  94. package/bin/cognitoBackofficeConnector/dtos/PoolsListResponse.js +0 -6
  95. package/bin/cognitoBackofficeConnector/validators/MfaTypesRequiresOne.d.ts +0 -17
  96. package/bin/cognitoBackofficeConnector/validators/MfaTypesRequiresOne.js +0 -39
  97. package/bin/rbac/enums/PoolKind.d.ts +0 -16
  98. package/bin/rbac/enums/PoolKind.js +0 -20
  99. package/bin/rbac/index.d.ts +0 -1
  100. package/bin/walletFunding/dtos/CancelFundingReferenceRequest.d.ts +0 -5
  101. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.d.ts +0 -7
  102. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.js +0 -6
  103. package/bin/walletFunding/dtos/CancelFundingRequest.d.ts +0 -11
  104. package/bin/walletFunding/dtos/CancelFundingResponse.d.ts +0 -14
  105. package/bin/walletFunding/dtos/CancelFundingResponse.js +0 -12
  106. package/bin/walletFunding/dtos/CancelWalletFundingRequest.d.ts +0 -3
  107. package/bin/walletFunding/dtos/CancelWalletFundingResponse.d.ts +0 -7
  108. package/bin/walletFunding/dtos/CancelWalletFundingResponse.js +0 -6
@@ -0,0 +1,10 @@
1
+ import { IsString, MaxLength } from "class-validator";
2
+
3
+ /**
4
+ * Request del detalle de un pago. `paymentId` viaja como path param en el
5
+ * endpoint público del centro de beneficios; este DTO lo modela para el
6
+ * cliente tipado y para validación cuando el manager lo recibe.
7
+ */
8
+ export class GetPassportPaymentRequest {
9
+ @IsString() @MaxLength(64) paymentId!: string;
10
+ }
@@ -0,0 +1,18 @@
1
+ import { PassportClientInfo } from "../entities/PassportClientInfo";
2
+ import { PassportPaymentRow } from "../entities/PassportPaymentRow";
3
+ import { PassportReferenceInfo } from "../entities/PassportReferenceInfo";
4
+
5
+ /**
6
+ * Response del detalle de un pago para el modal del BackOffice.
7
+ * Trae el pago + Referencia + Cliente + otros pagos recientes del mismo
8
+ * Cliente para contexto operativo. Un solo request en vez de tres separados.
9
+ */
10
+ export class GetPassportPaymentResponse {
11
+ payment!: PassportPaymentRow;
12
+ /** Puede ser null si el pago vino sin Referencia asociada (caso borde). */
13
+ reference?: PassportReferenceInfo | null;
14
+ /** Puede ser null si el DirectoryId no resolvió en `AccountPagoConfiado_GT`. */
15
+ client?: PassportClientInfo | null;
16
+ /** Últimos pagos del mismo Cliente, orden desc por fecha, máximo 8. */
17
+ otherPayments!: PassportPaymentRow[];
18
+ }
@@ -0,0 +1,12 @@
1
+ import { PassportServiceState } from "../entities/PassportServiceState";
2
+
3
+ /**
4
+ * Response del widget del Cap en el header del BackOffice.
5
+ *
6
+ * Es un wrapper delgado sobre `PassportServiceState` para dejar espacio a
7
+ * campos futuros (por ejemplo, historial reciente de cambios de estado) sin
8
+ * romper compatibilidad del contrato público.
9
+ */
10
+ export class GetPassportServiceStateResponse {
11
+ state!: PassportServiceState;
12
+ }
@@ -0,0 +1,7 @@
1
+ import { IsEnum, IsOptional } from "class-validator";
2
+ import { PassportAlertStatusEnum } from "../enums/PassportAlertStatusEnum";
3
+
4
+ export class ListPassportAlertsRequest {
5
+ /** Default OPEN cuando el manager no recibe filtro. */
6
+ @IsOptional() @IsEnum(PassportAlertStatusEnum) status?: PassportAlertStatusEnum;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { PassportAlertRow } from "../entities/PassportAlertRow";
2
+ import { PassportAlertTotals } from "../entities/PassportAlertTotals";
3
+
4
+ export class ListPassportAlertsResponse {
5
+ items!: PassportAlertRow[];
6
+ totals!: PassportAlertTotals;
7
+ }
@@ -0,0 +1,47 @@
1
+ import {
2
+ IsBoolean, IsDateString, IsEnum, IsInt, IsOptional, IsString,
3
+ Max, MaxLength, Min,
4
+ } from "class-validator";
5
+ import { Type } from "class-transformer";
6
+ import { WalletFundingPaymentStatusEnum } from "../../walletFunding/enums/WalletFundingPaymentStatusEnum";
7
+ import { PassportPaymentSortColEnum } from "../enums/PassportPaymentSortColEnum";
8
+ import { SortDirEnum } from "../enums/SortDirEnum";
9
+
10
+ /**
11
+ * Request del listado paginado de pagos del BackOffice.
12
+ *
13
+ * Consumido por:
14
+ * - GET /backoffice/passport/payments (centro de beneficios, público con Cognito).
15
+ * - GET /passport/payments (equality-connector, privado VPCe).
16
+ *
17
+ * Los query params llegan como string desde API Gateway; los transformers
18
+ * @Type() se encargan de castear a boolean/number cuando aplique.
19
+ */
20
+ export class ListPassportPaymentsRequest {
21
+ /** Búsqueda libre en clientName, paymentId, referenceCode. */
22
+ @IsOptional() @IsString() @MaxLength(128) q?: string;
23
+
24
+ @IsOptional() @IsEnum(WalletFundingPaymentStatusEnum)
25
+ status?: WalletFundingPaymentStatusEnum;
26
+
27
+ /** Nombre del centro de pago (Oxxo, 7-Eleven, etc.). */
28
+ @IsOptional() @IsString() @MaxLength(64) center?: string;
29
+
30
+ @IsOptional() @IsDateString() dateFrom?: string;
31
+ @IsOptional() @IsDateString() dateTo?: string;
32
+
33
+ /**
34
+ * Cuando true, devuelve solo pagos con problema (stuck, rejected, failed,
35
+ * queued for refund). El backend define exactamente qué cuenta como
36
+ * problema; el frontend no lo replica.
37
+ */
38
+ @IsOptional() @IsBoolean() @Type(() => Boolean) problemsOnly?: boolean;
39
+
40
+ @IsOptional() @IsEnum(PassportPaymentSortColEnum) sortBy?: PassportPaymentSortColEnum;
41
+ @IsOptional() @IsEnum(SortDirEnum) sortDir?: SortDirEnum;
42
+
43
+ @IsOptional() @IsInt() @Min(1) @Max(100) @Type(() => Number) limit?: number;
44
+
45
+ /** Cursor opaco (base64 del LastEvaluatedKey de DDB). */
46
+ @IsOptional() @IsString() @MaxLength(2048) cursor?: string;
47
+ }
@@ -0,0 +1,13 @@
1
+ import { PassportPaymentRow } from "../entities/PassportPaymentRow";
2
+ import { PassportPaymentTotals } from "../entities/PassportPaymentTotals";
3
+
4
+ export class ListPassportPaymentsResponse {
5
+ items!: PassportPaymentRow[];
6
+ /** Cursor opaco para la siguiente página. Null cuando no hay más resultados. */
7
+ nextCursor?: string | null;
8
+ /**
9
+ * Agregados sobre TODO el subconjunto filtrado — no sobre la página.
10
+ * Alimenta sublabels de tabs y contadores.
11
+ */
12
+ totals!: PassportPaymentTotals;
13
+ }
@@ -0,0 +1,7 @@
1
+ export * from "./GetPassportPaymentRequest";
2
+ export * from "./GetPassportPaymentResponse";
3
+ export * from "./GetPassportServiceStateResponse";
4
+ export * from "./ListPassportAlertsRequest";
5
+ export * from "./ListPassportAlertsResponse";
6
+ export * from "./ListPassportPaymentsRequest";
7
+ export * from "./ListPassportPaymentsResponse";
@@ -0,0 +1,29 @@
1
+ import { PassportAlertSeverityEnum } from "../enums/PassportAlertSeverityEnum";
2
+ import { PassportAlertStatusEnum } from "../enums/PassportAlertStatusEnum";
3
+ import { PassportAlertTypeEnum } from "../enums/PassportAlertTypeEnum";
4
+
5
+ /**
6
+ * Alerta operativa del servicio Cash In visible en el tab Alertas del
7
+ * BackOffice.
8
+ *
9
+ * Fase 1: se calcula al vuelo en el manager — cada llamada al endpoint
10
+ * regenera la lista desde estados actuales de pagos + estado del servicio.
11
+ * El campo `alertId` es determinista (por ejemplo `stuck-<paymentId>`) para
12
+ * que la UI pueda usarlo como key sin colisiones entre llamadas.
13
+ */
14
+ export class PassportAlertRow {
15
+ alertId!: string;
16
+ alertType!: PassportAlertTypeEnum;
17
+ severity!: PassportAlertSeverityEnum;
18
+ status!: PassportAlertStatusEnum;
19
+ /** ISO datetime del momento en que la condición se detectó (en Fase 1 = now del manager). */
20
+ createdAt!: string;
21
+ /** Mensaje descriptivo para el operador. */
22
+ message!: string;
23
+ /** ID del pago asociado, si la alerta viene de un pago concreto. */
24
+ paymentId?: string | null;
25
+ /** ID de la Referencia asociada, si aplica. */
26
+ referenceId?: string | null;
27
+ /** Destinatario sugerido (Servicio a Clientes, Operaciones, etc.). */
28
+ destination!: string;
29
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Agregados de la lista de alertas — alimenta el sublabel del tab Alertas.
3
+ */
4
+ export class PassportAlertTotals {
5
+ count!: number;
6
+ /** Cantidad de alertas con severidad CRITICAL. */
7
+ criticalCount!: number;
8
+ /** ISO datetime de la alerta más reciente. Null si no hay alertas. */
9
+ mostRecentAt?: string | null;
10
+ }
@@ -0,0 +1,16 @@
1
+ import { AccountLevelEnum } from "../../account/enums/AccountLevelEnum";
2
+
3
+ /**
4
+ * Datos básicos del Cliente Fiado visibles en el modal de detalle del
5
+ * BackOffice. Sirve para que Servicio a Clientes confirme la identidad de
6
+ * quien llama y contextualice el pago.
7
+ */
8
+ export class PassportClientInfo {
9
+ directoryId!: string;
10
+ name!: string;
11
+ email!: string;
12
+ phone!: string;
13
+ accountLevel!: AccountLevelEnum;
14
+ /** ISO datetime del alta del Cliente en Fiado. */
15
+ registeredAt!: string;
16
+ }
@@ -0,0 +1,42 @@
1
+ import { WalletFundingPaymentStatusEnum } from "../../walletFunding/enums/WalletFundingPaymentStatusEnum";
2
+
3
+ /**
4
+ * Fila desnormalizada de un pago Cash In que la pantalla operativa del
5
+ * BackOffice consume en la tabla de Actividad / Problemas.
6
+ *
7
+ * Combina lo mínimo de `EqualityFundingPayment_GT`, `EqualityFundingReference_GT`
8
+ * y `AccountPagoConfiado_GT` para renderizar la fila sin joins en el cliente.
9
+ */
10
+ export class PassportPaymentRow {
11
+ /** ID del pago tal como lo emite el proveedor (equalityTransactionNumber). */
12
+ paymentId!: string;
13
+ /** DirectoryId del Cliente Fiado. */
14
+ clientId!: string;
15
+ /** Nombre visible del Cliente Fiado — desnormalizado desde AccountPagoConfiado. */
16
+ clientName!: string;
17
+ /** ID del centro de pago (proveedor). */
18
+ centerId!: string;
19
+ /** Nombre visible del centro (Oxxo, 7-Eleven, Kiosko, etc.). */
20
+ centerName!: string;
21
+ /** ID interno de la Referencia usada para el pago. */
22
+ referenceId!: string;
23
+ /** Código de Referencia visible al Cliente (13-15 caracteres, ej. SKP-100003). */
24
+ referenceCode!: string;
25
+ /** ISO datetime de la consulta / primer aviso del pago. */
26
+ date!: string;
27
+ /** Monto bruto entregado en el punto de pago (puede ser null en estados terminales sin monto). */
28
+ grossAmount?: number | null;
29
+ /** Comisión del proveedor. Puede ser null si aún no se calculó. */
30
+ commission?: number | null;
31
+ /** Monto neto acreditado al wallet CFPE del Cliente. */
32
+ netAmount?: number | null;
33
+ status!: WalletFundingPaymentStatusEnum;
34
+ /** ISO datetime del momento en que el pago quedó APPLIED. */
35
+ appliedAt?: string | null;
36
+ /** Código del rechazo cuando status = REJECTED/FAILED/QUEUED_FOR_REFUND. */
37
+ rejectionCode?: string | null;
38
+ /** Folio de autorización devuelto al proveedor cuando aplica. */
39
+ providerAuthorizationCode?: string | null;
40
+ /** Nombre lógico del proveedor que originó el pago (equality | stp | ...). */
41
+ provider!: string;
42
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Agregados del subconjunto de pagos que matchean los filtros del toolbar
3
+ * — se calculan sobre TODO el subconjunto, no sobre la página.
4
+ * Alimenta los sublabels de los tabs Actividad y Problemas.
5
+ */
6
+ export class PassportPaymentTotals {
7
+ /** Total de pagos en el subconjunto. */
8
+ count!: number;
9
+ /** Suma del monto bruto. */
10
+ grossSum!: number;
11
+ /** Suma del monto neto acreditado. */
12
+ netSum!: number;
13
+ /**
14
+ * Suma del monto bruto de los pagos con problema en el subconjunto
15
+ * (stuck consultados + queued for refund). Alimenta el sublabel
16
+ * "$X en riesgo" del tab Problemas.
17
+ */
18
+ atRiskSum!: number;
19
+ }
@@ -0,0 +1,21 @@
1
+ import { WalletFundingReferenceStatusEnum } from "../../walletFunding/enums/WalletFundingReferenceStatusEnum";
2
+ import { WalletFundingModeEnum } from "../../walletFunding/enums/WalletFundingModeEnum";
3
+
4
+ /**
5
+ * Datos de la Referencia asociada a un pago — se muestra en el modal de
6
+ * detalle del BackOffice para que Servicio a Clientes le explique al
7
+ * Cliente qué Referencia usó, cuándo se generó y cuándo vence.
8
+ */
9
+ export class PassportReferenceInfo {
10
+ referenceId!: string;
11
+ /** Código visible al Cliente. */
12
+ referenceCode!: string;
13
+ centerId!: string;
14
+ centerName!: string;
15
+ createdAt!: string;
16
+ expiresAt!: string;
17
+ status!: WalletFundingReferenceStatusEnum;
18
+ /** Monto de la Referencia. Puede ser null cuando el mode es OPEN. */
19
+ amount?: number | null;
20
+ mode!: WalletFundingModeEnum;
21
+ }
@@ -0,0 +1,20 @@
1
+ import { ServiceStateEnum } from "../../walletFunding/enums/ServiceStateEnum";
2
+
3
+ /**
4
+ * Estado global del servicio Cash In para el widget del Cap en el header
5
+ * del BackOffice. Se calcula desde `AggregateExposureState_GT` + el snapshot
6
+ * del monto reservado en el momento del pedido.
7
+ */
8
+ export class PassportServiceState {
9
+ /** Tope prudencial FSA. */
10
+ capThreshold!: number;
11
+ /** Monto actualmente reservado contra el cap. */
12
+ currentExposureAmount!: number;
13
+ /** Umbral a partir del cual se activa el semáforo ámbar. */
14
+ alertThreshold!: number;
15
+ /** Umbral para reactivar el servicio tras SUSPENDED. */
16
+ reactivationThreshold!: number;
17
+ serviceState!: ServiceStateEnum;
18
+ /** Porcentaje del cap usado (0-100+, calculado en el manager). */
19
+ usedPct!: number;
20
+ }
@@ -0,0 +1,7 @@
1
+ export * from "./PassportAlertRow";
2
+ export * from "./PassportAlertTotals";
3
+ export * from "./PassportClientInfo";
4
+ export * from "./PassportPaymentRow";
5
+ export * from "./PassportPaymentTotals";
6
+ export * from "./PassportReferenceInfo";
7
+ export * from "./PassportServiceState";
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Severidad de una alerta operativa del servicio Cash In (Passport).
3
+ *
4
+ * Se usa para colorear el pill en la tabla de alertas del BackOffice y para
5
+ * priorizar la atención de Servicio a Clientes.
6
+ */
7
+ export enum PassportAlertSeverityEnum {
8
+ /** Info — evento notable pero sin acción requerida. */
9
+ LOW = "LOW",
10
+ /** Requiere revisión en el día. */
11
+ MEDIUM = "MEDIUM",
12
+ /** Requiere atención inmediata de Servicio a Clientes. */
13
+ HIGH = "HIGH",
14
+ /** Servicio caído o riesgo operativo mayor — escalar a Operaciones. */
15
+ CRITICAL = "CRITICAL",
16
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Estado de una alerta operativa del servicio Cash In (Passport).
3
+ *
4
+ * En la Fase 1 (alertas calculadas al vuelo) solo existen alertas OPEN — no
5
+ * hay ciclo de resolución explícito. Cuando el manager vuelve a correr y la
6
+ * condición ya no aplica, la alerta desaparece de la lista.
7
+ */
8
+ export enum PassportAlertStatusEnum {
9
+ /** Condición activa — Servicio a Clientes debe verla. */
10
+ OPEN = "OPEN",
11
+ /** Condición ya resuelta — solo aparece en históricos (Fase 2). */
12
+ RESOLVED = "RESOLVED",
13
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Tipos de alerta que puede generar el servicio Cash In (Passport).
3
+ *
4
+ * En la Fase 1 las alertas se calculan al vuelo desde el estado de los
5
+ * pagos y del cap agregado — no hay tabla persistida. Cuando se materialice
6
+ * la tabla, el mismo enum se usa como discriminador de la fila.
7
+ */
8
+ export enum PassportAlertTypeEnum {
9
+ /** Pago en CONSULTED sin transicionar a APPLIED/REJECTED tras el umbral. */
10
+ PAYMENT_STUCK = "PAYMENT_STUCK",
11
+ /** Pago en QUEUED_FOR_REFUND — cliente ya gastó el dinero, Ops resuelve. */
12
+ PAYMENT_QUEUED_FOR_REFUND = "PAYMENT_QUEUED_FOR_REFUND",
13
+ /** Servicio Cash In suspendido — cap agregado alcanzado. */
14
+ SERVICE_SUSPENDED = "SERVICE_SUSPENDED",
15
+ /** Exposición ≥ 80% del cap — cerca del umbral de suspensión. */
16
+ EXPOSURE_HIGH = "EXPOSURE_HIGH",
17
+ /** El proveedor rechazó un pago que el connector había pre-aprobado. */
18
+ PROVIDER_REJECTED_APPROVED = "PROVIDER_REJECTED_APPROVED",
19
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Columnas ordenables de la tabla de pagos del BackOffice (Passport).
3
+ * Refleja el `sortBy` query param del endpoint GET /backoffice/passport/payments.
4
+ */
5
+ export enum PassportPaymentSortColEnum {
6
+ DATE = "date",
7
+ CLIENT_NAME = "clientName",
8
+ CENTER_NAME = "centerName",
9
+ REFERENCE_CODE = "referenceCode",
10
+ GROSS_AMOUNT = "grossAmount",
11
+ COMMISSION = "commission",
12
+ NET_AMOUNT = "netAmount",
13
+ STATUS = "status",
14
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Dirección de orden usada en listados paginados del BackOffice.
3
+ * Se comparte entre módulos — no vive bajo un dominio específico.
4
+ */
5
+ export enum SortDirEnum {
6
+ ASC = "asc",
7
+ DESC = "desc",
8
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./PassportAlertSeverityEnum";
2
+ export * from "./PassportAlertStatusEnum";
3
+ export * from "./PassportAlertTypeEnum";
4
+ export * from "./PassportPaymentSortColEnum";
5
+ export * from "./SortDirEnum";
@@ -0,0 +1,3 @@
1
+ export * from "./dtos";
2
+ export * from "./entities";
3
+ export * from "./enums";
@@ -8,7 +8,7 @@ export class PrepareChallengeRequest {
8
8
  @IsEnum(ChallengeNameEnum)
9
9
  challengeName!: ChallengeNameEnum;
10
10
 
11
- // DEC-RBAC-093: email OPCIONAL y robusto a string vacío. Un usuario phone-primario (sin email)
11
+ // DEC-RBAC-094: email OPCIONAL y robusto a string vacío. Un usuario phone-primario (sin email)
12
12
  // hace login MFA (SMS_OTP/TOTP) sin email; el trigger CreateAuthChallenge ya no manda ''. Se usa
13
13
  // @ValidateIf (no @IsOptional) porque @IsOptional NO saltea '' — acá necesitamos que undefined,
14
14
  // null y '' NO rompan la validación. Cuando email SÍ trae valor no vacío, debe ser un email válido.
@@ -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,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,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';
@@ -1,5 +0,0 @@
1
- export declare class CancelFundingReferenceRequest {
2
- fundingId: string;
3
- directoryId: string;
4
- idempotencyKey: string;
5
- }
@@ -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,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
- }