Move resolved_permissions to user object via toArray()
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -2,10 +2,11 @@
|
||||
* Permission - Client-side permission checking
|
||||
*
|
||||
* Provides permission and role checking for JavaScript using pre-resolved
|
||||
* permissions from window.rsxapp.resolved_permissions. This mirrors the
|
||||
* permissions from window.rsxapp.user.resolved_permissions. This mirrors the
|
||||
* PHP Permission class functionality for client-side UI logic.
|
||||
*
|
||||
* The resolved_permissions array is computed server-side by applying:
|
||||
* The resolved_permissions array is computed server-side via User_Model::toArray()
|
||||
* by applying:
|
||||
* 1. Role default permissions
|
||||
* 2. Supplementary GRANTs (added)
|
||||
* 3. Supplementary DENYs (removed)
|
||||
@@ -56,7 +57,7 @@ class Permission {
|
||||
* @returns {boolean}
|
||||
*/
|
||||
static has_permission(permission) {
|
||||
const permissions = window.rsxapp?.resolved_permissions ?? [];
|
||||
const permissions = window.rsxapp?.user?.resolved_permissions ?? [];
|
||||
return permissions.includes(permission);
|
||||
}
|
||||
|
||||
@@ -67,7 +68,7 @@ class Permission {
|
||||
* @returns {boolean}
|
||||
*/
|
||||
static has_any_permission(permissions) {
|
||||
const resolved = window.rsxapp?.resolved_permissions ?? [];
|
||||
const resolved = window.rsxapp?.user?.resolved_permissions ?? [];
|
||||
return permissions.some(p => resolved.includes(p));
|
||||
}
|
||||
|
||||
@@ -78,7 +79,7 @@ class Permission {
|
||||
* @returns {boolean}
|
||||
*/
|
||||
static has_all_permissions(permissions) {
|
||||
const resolved = window.rsxapp?.resolved_permissions ?? [];
|
||||
const resolved = window.rsxapp?.user?.resolved_permissions ?? [];
|
||||
return permissions.every(p => resolved.includes(p));
|
||||
}
|
||||
|
||||
@@ -124,6 +125,6 @@ class Permission {
|
||||
* @returns {number[]} Array of permission IDs
|
||||
*/
|
||||
static get_resolved_permissions() {
|
||||
return window.rsxapp?.resolved_permissions ?? [];
|
||||
return window.rsxapp?.user?.resolved_permissions ?? [];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user