@fiado/type-kit 3.454.0 → 3.456.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.
- package/_test_/unit/platformRbac/dtos/levelEntityAdminDtos.test.ts +60 -0
- package/_test_/unit/platformRbac/dtos/tenantRoleAdminDtos.test.ts +64 -0
- package/_test_/unit/platformRbac/dtos/tenantUserAdminDtos.test.ts +128 -0
- package/bin/account/dtos/AccountCreateRequest.d.ts +20 -0
- package/bin/account/dtos/AccountCreateRequest.js +5 -0
- package/bin/account/dtos/CreateBankAccountUserRequest.d.ts +17 -0
- package/bin/platformRbac/dtos/AssignTenantRoleRequest.d.ts +13 -0
- package/bin/platformRbac/dtos/AssignTenantRoleRequest.js +57 -0
- package/bin/platformRbac/dtos/AssignTenantRoleResponse.d.ts +4 -0
- package/bin/platformRbac/dtos/AssignTenantRoleResponse.js +2 -0
- package/bin/platformRbac/dtos/CreateTenantUserResponse.d.ts +8 -0
- package/bin/platformRbac/dtos/DeleteLevelEntityRequest.d.ts +4 -0
- package/bin/platformRbac/dtos/DeleteLevelEntityRequest.js +24 -0
- package/bin/platformRbac/dtos/DeleteLevelEntityResponse.d.ts +4 -0
- package/bin/platformRbac/dtos/DeleteLevelEntityResponse.js +2 -0
- package/bin/platformRbac/dtos/DeleteTenantUserRequest.d.ts +4 -0
- package/bin/platformRbac/dtos/DeleteTenantUserRequest.js +24 -0
- package/bin/platformRbac/dtos/DisableTenantUserRequest.d.ts +7 -0
- package/bin/platformRbac/dtos/DisableTenantUserRequest.js +27 -0
- package/bin/platformRbac/dtos/EnableTenantUserRequest.d.ts +7 -0
- package/bin/platformRbac/dtos/EnableTenantUserRequest.js +27 -0
- package/bin/platformRbac/dtos/GetTenantUserResponse.d.ts +10 -0
- package/bin/platformRbac/dtos/GetTenantUserResponse.js +2 -0
- package/bin/platformRbac/dtos/LevelEntityResponse.d.ts +14 -0
- package/bin/platformRbac/dtos/LevelEntityResponse.js +2 -0
- package/bin/platformRbac/dtos/ListLevelEntitiesResponse.d.ts +8 -0
- package/bin/platformRbac/dtos/ListLevelEntitiesResponse.js +2 -0
- package/bin/platformRbac/dtos/ListTenantRolesResponse.d.ts +5 -0
- package/bin/platformRbac/dtos/ListTenantRolesResponse.js +2 -0
- package/bin/platformRbac/dtos/ListTenantUsersResponse.d.ts +8 -0
- package/bin/platformRbac/dtos/ListTenantUsersResponse.js +2 -0
- package/bin/platformRbac/dtos/ResetTenantUserMfaRequest.d.ts +7 -0
- package/bin/platformRbac/dtos/ResetTenantUserMfaRequest.js +27 -0
- package/bin/platformRbac/dtos/ResetTenantUserPasswordRequest.d.ts +7 -0
- package/bin/platformRbac/dtos/ResetTenantUserPasswordRequest.js +27 -0
- package/bin/platformRbac/dtos/ResetTenantUserPasswordResponse.d.ts +7 -0
- package/bin/platformRbac/dtos/ResetTenantUserPasswordResponse.js +2 -0
- package/bin/platformRbac/dtos/RevokeTenantRoleRequest.d.ts +5 -0
- package/bin/platformRbac/dtos/RevokeTenantRoleRequest.js +32 -0
- package/bin/platformRbac/dtos/RevokeTenantRoleResponse.d.ts +4 -0
- package/bin/platformRbac/dtos/RevokeTenantRoleResponse.js +2 -0
- package/bin/platformRbac/dtos/TenantRoleResponse.d.ts +20 -0
- package/bin/platformRbac/dtos/TenantRoleResponse.js +2 -0
- package/bin/platformRbac/dtos/TenantUserAckResponse.d.ts +7 -0
- package/bin/platformRbac/dtos/TenantUserAckResponse.js +2 -0
- package/bin/platformRbac/dtos/TenantUserAssignmentResponse.d.ts +14 -0
- package/bin/platformRbac/dtos/TenantUserAssignmentResponse.js +2 -0
- package/bin/platformRbac/dtos/TenantUserListItemResponse.d.ts +9 -0
- package/bin/platformRbac/dtos/TenantUserListItemResponse.js +2 -0
- package/bin/platformRbac/dtos/TenantUserResponse.d.ts +29 -0
- package/bin/platformRbac/dtos/TenantUserResponse.js +2 -0
- package/bin/platformRbac/dtos/UpdateLevelEntityRequest.d.ts +8 -0
- package/bin/platformRbac/dtos/UpdateLevelEntityRequest.js +35 -0
- package/bin/platformRbac/dtos/UpdateTenantUserRequest.d.ts +8 -0
- package/bin/platformRbac/dtos/UpdateTenantUserRequest.js +35 -0
- package/bin/platformRbac/index.d.ts +25 -1
- package/bin/platformRbac/index.js +11 -1
- package/package.json +1 -1
- package/src/account/dtos/AccountCreateRequest.ts +23 -0
- package/src/account/dtos/CreateBankAccountUserRequest.ts +18 -0
- package/src/platformRbac/dtos/AssignTenantRoleRequest.ts +16 -0
- package/src/platformRbac/dtos/AssignTenantRoleResponse.ts +4 -0
- package/src/platformRbac/dtos/CreateTenantUserResponse.ts +13 -0
- package/src/platformRbac/dtos/DeleteLevelEntityRequest.ts +7 -0
- package/src/platformRbac/dtos/DeleteLevelEntityResponse.ts +4 -0
- package/src/platformRbac/dtos/DeleteTenantUserRequest.ts +7 -0
- package/src/platformRbac/dtos/DisableTenantUserRequest.ts +10 -0
- package/src/platformRbac/dtos/EnableTenantUserRequest.ts +10 -0
- package/src/platformRbac/dtos/GetTenantUserResponse.ts +11 -0
- package/src/platformRbac/dtos/LevelEntityResponse.ts +14 -0
- package/src/platformRbac/dtos/ListLevelEntitiesResponse.ts +9 -0
- package/src/platformRbac/dtos/ListTenantRolesResponse.ts +6 -0
- package/src/platformRbac/dtos/ListTenantUsersResponse.ts +9 -0
- package/src/platformRbac/dtos/ResetTenantUserMfaRequest.ts +10 -0
- package/src/platformRbac/dtos/ResetTenantUserPasswordRequest.ts +10 -0
- package/src/platformRbac/dtos/ResetTenantUserPasswordResponse.ts +7 -0
- package/src/platformRbac/dtos/RevokeTenantRoleRequest.ts +10 -0
- package/src/platformRbac/dtos/RevokeTenantRoleResponse.ts +4 -0
- package/src/platformRbac/dtos/TenantRoleResponse.ts +21 -0
- package/src/platformRbac/dtos/TenantUserAckResponse.ts +7 -0
- package/src/platformRbac/dtos/TenantUserAssignmentResponse.ts +17 -0
- package/src/platformRbac/dtos/TenantUserListItemResponse.ts +10 -0
- package/src/platformRbac/dtos/TenantUserResponse.ts +30 -0
- package/src/platformRbac/dtos/UpdateLevelEntityRequest.ts +11 -0
- package/src/platformRbac/dtos/UpdateTenantUserRequest.ts +11 -0
- package/src/platformRbac/index.ts +30 -2
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Expose } from 'class-transformer';
|
|
2
|
+
import { IsNotEmpty, IsString } from 'class-validator';
|
|
3
|
+
|
|
4
|
+
/** Body del POST que revoca una asignación de rol. El `assignmentId` viaja en el path. */
|
|
5
|
+
// Sin `cognitoSub` el endpoint no revoca nada: la clave de la tabla de asignaciones es
|
|
6
|
+
// cognitoSub + assignmentId.
|
|
7
|
+
export class RevokeTenantRoleRequest {
|
|
8
|
+
@Expose() @IsString() @IsNotEmpty() cognitoSub!: string;
|
|
9
|
+
@Expose() @IsString() @IsNotEmpty() actedBy!: string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Permission } from '../enums/Permission';
|
|
2
|
+
import type { PermissionScope } from '../enums/PermissionScope';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Proyección pública de un rol del tenant (SharedRole del RBAC), con su catálogo de permisos y el
|
|
6
|
+
* scope al que se puede asignar.
|
|
7
|
+
*/
|
|
8
|
+
export interface TenantRoleResponse {
|
|
9
|
+
roleId: string;
|
|
10
|
+
displayName: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
permissions: Permission[];
|
|
13
|
+
isSystem: boolean;
|
|
14
|
+
scope: PermissionScope;
|
|
15
|
+
createdAt: number;
|
|
16
|
+
updatedAt: number;
|
|
17
|
+
createdBy?: string;
|
|
18
|
+
updatedBy?: string;
|
|
19
|
+
deletedAt?: number;
|
|
20
|
+
deletedBy?: string;
|
|
21
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { PermissionScope } from '../enums/PermissionScope';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Una asignación de rol vigente de un usuario, enriquecida con los nombres legibles del rol y del
|
|
5
|
+
* grupo al que apunta.
|
|
6
|
+
*/
|
|
7
|
+
// `assignmentId` es lo que necesitas para revocar: el endpoint de revoke lo recibe en el path,
|
|
8
|
+
// junto con el `cognitoSub` en el cuerpo.
|
|
9
|
+
export interface TenantUserAssignmentResponse {
|
|
10
|
+
assignmentId: string;
|
|
11
|
+
roleId: string;
|
|
12
|
+
roleName: string;
|
|
13
|
+
scope: PermissionScope;
|
|
14
|
+
scopeRef: string;
|
|
15
|
+
scopeRefName: string;
|
|
16
|
+
scopeRefParentName?: string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PermissionScope } from '../enums/PermissionScope';
|
|
2
|
+
import type { TenantUserResponse } from './TenantUserResponse';
|
|
3
|
+
|
|
4
|
+
/** Un usuario en el listado, con los nombres de sus roles y el scope más alto que alcanza. */
|
|
5
|
+
export interface TenantUserListItemResponse extends TenantUserResponse {
|
|
6
|
+
/** Nombres legibles del rol, no sus ids. */
|
|
7
|
+
roles: string[];
|
|
8
|
+
topScope?: PermissionScope;
|
|
9
|
+
topScopeRef?: string;
|
|
10
|
+
}
|
|
@@ -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
|
|
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';
|