Expand description
Role hierarchy and expansion logic
This module defines the built-in role hierarchy and provides utilities for expanding hierarchical roles.
Constants§
- LEADER_
LEVEL - Hierarchy level of the “leader” role.
- MODERATOR_
LEVEL - Lowest hierarchy level permitted to manage (remove / re-role) other members.
- ROLE_
HIERARCHY - Role hierarchy for profile-level permissions Higher roles inherit all permissions from lower roles
Functions§
- can_
assign_ role - Whether an actor at
actor_levelmay assignrole. Leaders may assign any known role; everyone else is capped strictly below their own level. Unknown roles are never assignable. - can_
manage_ member - Whether an actor at
actor_levelmay manage (remove or re-role) a member attarget_level. Rule: the actor must be moderator+ and strictly outrank the target — except leaders, who may also manage peer leaders. - can_
manage_ member_ by_ roles - Whether an actor with
actor_rolesmay manage (remove / re-role) a member withtarget_roles. Convenience overcan_manage_member+highest_role_level. - expand_
roles - Expands hierarchical roles from highest role to all inherited roles
- highest_
role_ level - Highest hierarchy level among the given roles; unknown roles are ignored. Empty / all-unknown ⇒ 0 (public).
- role_
level - Hierarchy index of a single role, or None if unknown.