@fiado/type-kit 3.177.0 → 3.179.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/platformRbac/application/cascade.d.ts +26 -0
- package/bin/platformRbac/index.d.ts +1 -1
- package/bin/provider/enums/Provider.d.ts +2 -1
- package/bin/provider/enums/Provider.js +1 -0
- package/package.json +1 -1
- package/src/platformRbac/application/cascade.ts +30 -0
- package/src/platformRbac/index.ts +3 -0
- package/src/provider/enums/Provider.ts +2 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PermissionScope } from '../enums/PermissionScope';
|
|
2
2
|
import { ApplicationPermission } from './ApplicationPermission';
|
|
3
|
+
import { SeedRole } from './Application';
|
|
3
4
|
/**
|
|
4
5
|
* DEC-RBAC-092: al actualizar el `scope` de un permiso del catálogo de una app, el backend recalcula
|
|
5
6
|
* en cascada el scope de los roles que lo usan en todos los tenants de esa app y REPORTA (no modifica)
|
|
@@ -43,3 +44,28 @@ export interface UpdateApplicationPermissionResponse {
|
|
|
43
44
|
permission: ApplicationPermission;
|
|
44
45
|
cascade?: CascadeReport;
|
|
45
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* DEC-RBAC-106: cascade de los ROLES DE NEGOCIO de una app a todos sus tenants. Al editar los
|
|
49
|
+
* `seedRoles` de la app (`ApplicationManager.update`), el backend diffea viejo vs nuevo (excluyendo los
|
|
50
|
+
* ids de rol de sistema canónicos) y propaga el delta a los silos: overwrite (created/updated) o
|
|
51
|
+
* soft-delete (deleted). Best-effort por silo, mismo criterio que DEC-RBAC-092.
|
|
52
|
+
*/
|
|
53
|
+
/** Delta de `seedRoles` de negocio calculado por el diff (ya sin los ids de sistema canónicos). */
|
|
54
|
+
export interface RoleSeedDiff {
|
|
55
|
+
created: SeedRole[];
|
|
56
|
+
updated: SeedRole[];
|
|
57
|
+
deleted: string[];
|
|
58
|
+
}
|
|
59
|
+
/** Un rol de negocio propagado a un tenant por el cascade (created/updated/softDeleted). */
|
|
60
|
+
export interface RoleCascadeChange {
|
|
61
|
+
tenantId: string;
|
|
62
|
+
roleId: string;
|
|
63
|
+
}
|
|
64
|
+
/** Resumen del cascade de roles de negocio (DEC-RBAC-106). Reutiliza los tipos de DEC-RBAC-092. */
|
|
65
|
+
export interface RoleCascadeReport {
|
|
66
|
+
created: RoleCascadeChange[];
|
|
67
|
+
updated: RoleCascadeChange[];
|
|
68
|
+
softDeleted: RoleCascadeChange[];
|
|
69
|
+
inconsistentAssignments: InconsistentAssignment[];
|
|
70
|
+
failedTenants: CascadeTenantFailure[];
|
|
71
|
+
}
|
|
@@ -44,7 +44,7 @@ export * from './enums/PermissionKind';
|
|
|
44
44
|
export type { LevelDef, ApplicationSecurityPolicyDefault, ApplicationBrandingDefault, AutoregisterAllowedRole, AutoregisterConfig, ApplicationDefaults, SeedRole, Application, } from './application/Application';
|
|
45
45
|
export type { ApplicationPermission } from './application/ApplicationPermission';
|
|
46
46
|
export type { CreateApplicationRequest, UpdateApplicationRequest, UpsertApplicationPermissionRequest, } from './application/requests';
|
|
47
|
-
export type { RoleScopeRecompute, InconsistentAssignment, CascadeTenantFailure, CascadeReport, UpdateApplicationPermissionResponse, } from './application/cascade';
|
|
47
|
+
export type { RoleScopeRecompute, InconsistentAssignment, CascadeTenantFailure, CascadeReport, UpdateApplicationPermissionResponse, RoleSeedDiff, RoleCascadeChange, RoleCascadeReport, } from './application/cascade';
|
|
48
48
|
export * from './dtos/SelfRegisterStartRequest';
|
|
49
49
|
export * from './dtos/SelfRegisterVerifyOtpRequest';
|
|
50
50
|
export * from './dtos/SelfRegisterCompleteRequest';
|
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PermissionScope } from '../enums/PermissionScope';
|
|
2
2
|
import { ApplicationPermission } from './ApplicationPermission';
|
|
3
|
+
import { SeedRole } from './Application';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* DEC-RBAC-092: al actualizar el `scope` de un permiso del catálogo de una app, el backend recalcula
|
|
@@ -49,3 +50,32 @@ export interface UpdateApplicationPermissionResponse {
|
|
|
49
50
|
permission: ApplicationPermission;
|
|
50
51
|
cascade?: CascadeReport;
|
|
51
52
|
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* DEC-RBAC-106: cascade de los ROLES DE NEGOCIO de una app a todos sus tenants. Al editar los
|
|
56
|
+
* `seedRoles` de la app (`ApplicationManager.update`), el backend diffea viejo vs nuevo (excluyendo los
|
|
57
|
+
* ids de rol de sistema canónicos) y propaga el delta a los silos: overwrite (created/updated) o
|
|
58
|
+
* soft-delete (deleted). Best-effort por silo, mismo criterio que DEC-RBAC-092.
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
/** Delta de `seedRoles` de negocio calculado por el diff (ya sin los ids de sistema canónicos). */
|
|
62
|
+
export interface RoleSeedDiff {
|
|
63
|
+
created: SeedRole[];
|
|
64
|
+
updated: SeedRole[];
|
|
65
|
+
deleted: string[]; // roleIds
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/** Un rol de negocio propagado a un tenant por el cascade (created/updated/softDeleted). */
|
|
69
|
+
export interface RoleCascadeChange {
|
|
70
|
+
tenantId: string;
|
|
71
|
+
roleId: string;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/** Resumen del cascade de roles de negocio (DEC-RBAC-106). Reutiliza los tipos de DEC-RBAC-092. */
|
|
75
|
+
export interface RoleCascadeReport {
|
|
76
|
+
created: RoleCascadeChange[];
|
|
77
|
+
updated: RoleCascadeChange[];
|
|
78
|
+
softDeleted: RoleCascadeChange[];
|
|
79
|
+
inconsistentAssignments: InconsistentAssignment[];
|
|
80
|
+
failedTenants: CascadeTenantFailure[];
|
|
81
|
+
}
|
|
@@ -112,6 +112,9 @@ export type {
|
|
|
112
112
|
CascadeTenantFailure,
|
|
113
113
|
CascadeReport,
|
|
114
114
|
UpdateApplicationPermissionResponse,
|
|
115
|
+
RoleSeedDiff,
|
|
116
|
+
RoleCascadeChange,
|
|
117
|
+
RoleCascadeReport,
|
|
115
118
|
} from './application/cascade';
|
|
116
119
|
|
|
117
120
|
// Autoregistro self-service por tenant (DEC-RBAC-030..034). Los Request llevan decoradores
|