@fiado/type-kit 3.453.0 → 3.455.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 (84) hide show
  1. package/_test_/unit/platformRbac/dtos/levelEntityAdminDtos.test.ts +60 -0
  2. package/_test_/unit/platformRbac/dtos/tenantRoleAdminDtos.test.ts +64 -0
  3. package/_test_/unit/platformRbac/dtos/tenantUserAdminDtos.test.ts +128 -0
  4. package/bin/platformRbac/dtos/AssignTenantRoleRequest.d.ts +13 -0
  5. package/bin/platformRbac/dtos/AssignTenantRoleRequest.js +57 -0
  6. package/bin/platformRbac/dtos/AssignTenantRoleResponse.d.ts +4 -0
  7. package/bin/platformRbac/dtos/AssignTenantRoleResponse.js +2 -0
  8. package/bin/platformRbac/dtos/CreateTenantUserResponse.d.ts +8 -0
  9. package/bin/platformRbac/dtos/DeleteLevelEntityRequest.d.ts +4 -0
  10. package/bin/platformRbac/dtos/DeleteLevelEntityRequest.js +24 -0
  11. package/bin/platformRbac/dtos/DeleteLevelEntityResponse.d.ts +4 -0
  12. package/bin/platformRbac/dtos/DeleteLevelEntityResponse.js +2 -0
  13. package/bin/platformRbac/dtos/DeleteTenantUserRequest.d.ts +4 -0
  14. package/bin/platformRbac/dtos/DeleteTenantUserRequest.js +24 -0
  15. package/bin/platformRbac/dtos/DisableTenantUserRequest.d.ts +7 -0
  16. package/bin/platformRbac/dtos/DisableTenantUserRequest.js +27 -0
  17. package/bin/platformRbac/dtos/EnableTenantUserRequest.d.ts +7 -0
  18. package/bin/platformRbac/dtos/EnableTenantUserRequest.js +27 -0
  19. package/bin/platformRbac/dtos/GetTenantUserResponse.d.ts +10 -0
  20. package/bin/platformRbac/dtos/GetTenantUserResponse.js +2 -0
  21. package/bin/platformRbac/dtos/LevelEntityResponse.d.ts +14 -0
  22. package/bin/platformRbac/dtos/LevelEntityResponse.js +2 -0
  23. package/bin/platformRbac/dtos/ListLevelEntitiesResponse.d.ts +8 -0
  24. package/bin/platformRbac/dtos/ListLevelEntitiesResponse.js +2 -0
  25. package/bin/platformRbac/dtos/ListTenantRolesResponse.d.ts +5 -0
  26. package/bin/platformRbac/dtos/ListTenantRolesResponse.js +2 -0
  27. package/bin/platformRbac/dtos/ListTenantUsersResponse.d.ts +8 -0
  28. package/bin/platformRbac/dtos/ListTenantUsersResponse.js +2 -0
  29. package/bin/platformRbac/dtos/ResetTenantUserMfaRequest.d.ts +7 -0
  30. package/bin/platformRbac/dtos/ResetTenantUserMfaRequest.js +27 -0
  31. package/bin/platformRbac/dtos/ResetTenantUserPasswordRequest.d.ts +7 -0
  32. package/bin/platformRbac/dtos/ResetTenantUserPasswordRequest.js +27 -0
  33. package/bin/platformRbac/dtos/ResetTenantUserPasswordResponse.d.ts +7 -0
  34. package/bin/platformRbac/dtos/ResetTenantUserPasswordResponse.js +2 -0
  35. package/bin/platformRbac/dtos/RevokeTenantRoleRequest.d.ts +5 -0
  36. package/bin/platformRbac/dtos/RevokeTenantRoleRequest.js +32 -0
  37. package/bin/platformRbac/dtos/RevokeTenantRoleResponse.d.ts +4 -0
  38. package/bin/platformRbac/dtos/RevokeTenantRoleResponse.js +2 -0
  39. package/bin/platformRbac/dtos/TenantRoleResponse.d.ts +20 -0
  40. package/bin/platformRbac/dtos/TenantRoleResponse.js +2 -0
  41. package/bin/platformRbac/dtos/TenantUserAckResponse.d.ts +7 -0
  42. package/bin/platformRbac/dtos/TenantUserAckResponse.js +2 -0
  43. package/bin/platformRbac/dtos/TenantUserAssignmentResponse.d.ts +14 -0
  44. package/bin/platformRbac/dtos/TenantUserAssignmentResponse.js +2 -0
  45. package/bin/platformRbac/dtos/TenantUserListItemResponse.d.ts +9 -0
  46. package/bin/platformRbac/dtos/TenantUserListItemResponse.js +2 -0
  47. package/bin/platformRbac/dtos/TenantUserResponse.d.ts +29 -0
  48. package/bin/platformRbac/dtos/TenantUserResponse.js +2 -0
  49. package/bin/platformRbac/dtos/UpdateLevelEntityRequest.d.ts +8 -0
  50. package/bin/platformRbac/dtos/UpdateLevelEntityRequest.js +35 -0
  51. package/bin/platformRbac/dtos/UpdateTenantUserRequest.d.ts +8 -0
  52. package/bin/platformRbac/dtos/UpdateTenantUserRequest.js +35 -0
  53. package/bin/platformRbac/index.d.ts +25 -1
  54. package/bin/platformRbac/index.js +11 -1
  55. package/bin/transaction/dtos/TransactionCreateRequest.d.ts +12 -0
  56. package/bin/transaction/dtos/TransactionCreateRequest.js +5 -0
  57. package/package.json +1 -1
  58. package/src/platformRbac/dtos/AssignTenantRoleRequest.ts +16 -0
  59. package/src/platformRbac/dtos/AssignTenantRoleResponse.ts +4 -0
  60. package/src/platformRbac/dtos/CreateTenantUserResponse.ts +13 -0
  61. package/src/platformRbac/dtos/DeleteLevelEntityRequest.ts +7 -0
  62. package/src/platformRbac/dtos/DeleteLevelEntityResponse.ts +4 -0
  63. package/src/platformRbac/dtos/DeleteTenantUserRequest.ts +7 -0
  64. package/src/platformRbac/dtos/DisableTenantUserRequest.ts +10 -0
  65. package/src/platformRbac/dtos/EnableTenantUserRequest.ts +10 -0
  66. package/src/platformRbac/dtos/GetTenantUserResponse.ts +11 -0
  67. package/src/platformRbac/dtos/LevelEntityResponse.ts +14 -0
  68. package/src/platformRbac/dtos/ListLevelEntitiesResponse.ts +9 -0
  69. package/src/platformRbac/dtos/ListTenantRolesResponse.ts +6 -0
  70. package/src/platformRbac/dtos/ListTenantUsersResponse.ts +9 -0
  71. package/src/platformRbac/dtos/ResetTenantUserMfaRequest.ts +10 -0
  72. package/src/platformRbac/dtos/ResetTenantUserPasswordRequest.ts +10 -0
  73. package/src/platformRbac/dtos/ResetTenantUserPasswordResponse.ts +7 -0
  74. package/src/platformRbac/dtos/RevokeTenantRoleRequest.ts +10 -0
  75. package/src/platformRbac/dtos/RevokeTenantRoleResponse.ts +4 -0
  76. package/src/platformRbac/dtos/TenantRoleResponse.ts +21 -0
  77. package/src/platformRbac/dtos/TenantUserAckResponse.ts +7 -0
  78. package/src/platformRbac/dtos/TenantUserAssignmentResponse.ts +17 -0
  79. package/src/platformRbac/dtos/TenantUserListItemResponse.ts +10 -0
  80. package/src/platformRbac/dtos/TenantUserResponse.ts +30 -0
  81. package/src/platformRbac/dtos/UpdateLevelEntityRequest.ts +11 -0
  82. package/src/platformRbac/dtos/UpdateTenantUserRequest.ts +11 -0
  83. package/src/platformRbac/index.ts +30 -2
  84. package/src/transaction/dtos/TransactionCreateRequest.ts +15 -0
@@ -0,0 +1,30 @@
1
+ /** Estados posibles de un usuario del tenant en el RBAC. */
2
+ export type TenantUserStatusValue = 'INVITED' | 'ACTIVE' | 'SUSPENDED' | 'LOCKED' | 'OFFBOARDED' | 'DELETED';
3
+
4
+ /** Origen del alta del usuario en el RBAC. */
5
+ export type TenantUserSourceValue = 'cognito_trigger' | 'admin_create' | 'self_register';
6
+
7
+ /**
8
+ * Proyección pública de un usuario del tenant (SharedUser del RBAC), con sus campos personalizados
9
+ * y las marcas de su última sesión y su último sync desde Cognito.
10
+ */
11
+ export interface TenantUserResponse {
12
+ cognitoSub: string;
13
+ // DEC-RBAC-079: ausente en un tenant phone-primary sin identificador secundario.
14
+ email?: string;
15
+ displayName: string;
16
+ phone?: string;
17
+ tenantId: string;
18
+ status: TenantUserStatusValue;
19
+ userPoolId?: string;
20
+ retailerId?: string;
21
+ storeIds?: string[];
22
+ source?: TenantUserSourceValue;
23
+ createdAt: number;
24
+ updatedAt: number;
25
+ createdBy?: string;
26
+ updatedBy?: string;
27
+ lastLoginAt?: number;
28
+ lastSyncedFromCognito?: number;
29
+ customFields?: { [key: string]: string };
30
+ }
@@ -0,0 +1,11 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { IsNotEmpty, IsOptional, IsString, MaxLength } from 'class-validator';
3
+
4
+ /**
5
+ * Body del PUT que renombra un grupo. `tenantId`, `level` y el id del grupo viajan en el path.
6
+ * `actedBy` es el cognitoSub de quien accionó en el backoffice — es lo único que queda en la auditoría.
7
+ */
8
+ export class UpdateLevelEntityRequest {
9
+ @Expose() @IsOptional() @IsString() @IsNotEmpty() @MaxLength(120) displayName?: string;
10
+ @Expose() @IsString() @IsNotEmpty() actedBy!: string;
11
+ }
@@ -0,0 +1,11 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { IsNotEmpty, IsOptional, IsString, MaxLength } from 'class-validator';
3
+
4
+ /**
5
+ * Body del PUT que renombra a un usuario. El correo es inmutable en el rbac y el grupo se mueve
6
+ * reasignando el rol, así que aquí no viaja ninguno de los dos.
7
+ */
8
+ export class UpdateTenantUserRequest {
9
+ @Expose() @IsOptional() @IsString() @IsNotEmpty() @MaxLength(120) displayName?: string;
10
+ @Expose() @IsString() @IsNotEmpty() actedBy!: string;
11
+ }
@@ -5,7 +5,7 @@
5
5
  // (Permission, PermissionScope, AuthContext, RoleAssignmentInfo) de aquí a `rbac/`.
6
6
  //
7
7
  // Los DTOs propios del rbac-business se van agregando a medida que los flujos los necesitan.
8
- // EffectivePermissionsResponse ya vive acá (lo consume jwt-inyector vía /internal/effective-permissions).
8
+ // EffectivePermissionsResponse ya vive aquí (lo consume jwt-inyector vía /internal/effective-permissions).
9
9
  // Otros DTOs aún pendientes se sumarán cuando los managers que los consumen se implementen.
10
10
 
11
11
  export {
@@ -137,7 +137,7 @@ export * from './dtos/SelfRegisterCompleteRequest';
137
137
  export * from './dtos/CreateLevelEntityRequest';
138
138
  export type { CreateLevelEntityResponse } from './dtos/CreateLevelEntityResponse';
139
139
  export * from './dtos/CreateTenantUserRequest';
140
- export type { CreateTenantUserResponse } from './dtos/CreateTenantUserResponse';
140
+ export type { CreateTenantUserResponse, TenantUserOutcomeValue } from './dtos/CreateTenantUserResponse';
141
141
 
142
142
  // DEC-RBAC-120/121/126: integraciones M2M con socios externos (API keys como principal del RBAC).
143
143
  // Los requests van como clase (class-validator); las responses como tipo.
@@ -150,3 +150,31 @@ export type {
150
150
  IssueIntegrationKeyResponse,
151
151
  } from './dtos/IntegrationKeyResponse';
152
152
  export type { IntegrationWhoamiResponse } from './dtos/IntegrationWhoamiResponse';
153
+
154
+ // Endpoints privados de administración de RBAC para el hub de agentes — grupos, usuarios y roles.
155
+ // `tenantId` viaja siempre en el path, nunca en el cuerpo.
156
+ // Usan `actedBy`; CreateLevelEntityRequest/CreateTenantUserRequest conservan `createdBy` (contrato publicado que consume retail-org-business).
157
+ export type { LevelEntityResponse } from './dtos/LevelEntityResponse';
158
+ export type { TenantUserResponse, TenantUserStatusValue, TenantUserSourceValue } from './dtos/TenantUserResponse';
159
+ export type { TenantUserAssignmentResponse } from './dtos/TenantUserAssignmentResponse';
160
+ export type { TenantRoleResponse } from './dtos/TenantRoleResponse';
161
+ export type { ListLevelEntitiesResponse } from './dtos/ListLevelEntitiesResponse';
162
+ export * from './dtos/UpdateLevelEntityRequest';
163
+ export * from './dtos/DeleteLevelEntityRequest';
164
+ export type { DeleteLevelEntityResponse } from './dtos/DeleteLevelEntityResponse';
165
+ export type { ListTenantUsersResponse } from './dtos/ListTenantUsersResponse';
166
+ export type { TenantUserListItemResponse } from './dtos/TenantUserListItemResponse';
167
+ export type { GetTenantUserResponse } from './dtos/GetTenantUserResponse';
168
+ export * from './dtos/UpdateTenantUserRequest';
169
+ export * from './dtos/DeleteTenantUserRequest';
170
+ export * from './dtos/DisableTenantUserRequest';
171
+ export * from './dtos/EnableTenantUserRequest';
172
+ export * from './dtos/ResetTenantUserPasswordRequest';
173
+ export type { ResetTenantUserPasswordResponse } from './dtos/ResetTenantUserPasswordResponse';
174
+ export * from './dtos/ResetTenantUserMfaRequest';
175
+ export type { TenantUserAckResponse } from './dtos/TenantUserAckResponse';
176
+ export type { ListTenantRolesResponse } from './dtos/ListTenantRolesResponse';
177
+ export * from './dtos/AssignTenantRoleRequest';
178
+ export type { AssignTenantRoleResponse } from './dtos/AssignTenantRoleResponse';
179
+ export * from './dtos/RevokeTenantRoleRequest';
180
+ export type { RevokeTenantRoleResponse } from './dtos/RevokeTenantRoleResponse';
@@ -93,6 +93,21 @@ export class TransactionCreateRequest {
93
93
  @IsOptional()
94
94
  disputeOrFraudId?: string;
95
95
 
96
+ /**
97
+ * UUID del `DisputeOrFraudLog` que originó esta transacción (típicamente un
98
+ * reintegro PCF). Se persiste en `PagoConfiadoTx_GT.disputeOrFraudLogId`, que
99
+ * indexa el GSI `disputeOrFraudLogId-createdAt-index` usado por el Dashboard
100
+ * y por el reporte R27 CNBV para conectar el ledger con el folio.
101
+ *
102
+ * Antes del rediseño refund/eventos R27 este campo no viajaba en el
103
+ * `TransactionCreateRequest` y quedaba en "ND" en el ledger — el join
104
+ * folio↔tx sólo era posible por `disputeOrFraudFolio` (el folio humano), que
105
+ * no basta cuando un mismo folio genera dos movimientos (REFUND + REVERSAL).
106
+ */
107
+ @IsString()
108
+ @IsOptional()
109
+ disputeOrFraudLogId?: string;
110
+
96
111
  @IsNotEmpty()
97
112
  @IsEnum(CountryId)
98
113
  currencyId: CountryId;