Function veloren_server::cmd::verify_above_role

source ·
fn verify_above_role(
    server: &mut Server,
    (client, client_uuid): (Entity, Uuid),
    (player, player_uuid): (Entity, Uuid),
    reason: Content,
) -> Result<(), Content>
Expand description

Ensure that client role is above target role, for the purpose of performing some (often permanent) administrative action on the target. Note that this function is not a replacement for actually verifying that the client should be able to execute the command at all, which still needs to be rechecked, nor does it guarantee that either the client or the target actually have an entry in the admin settings file.

For our purposes, there are two roles–temporary role, and permanent role. For the purpose of these checks, currently any permanent role overrides any temporary role (this may change if more roles are added that aren’t moderator or administrator). If the permanent roles match, the temporary roles are used as a tiebreaker. /adminify should ensure that no one’s temporary role can be different from their permanent role without someone with a higher role than their permanent role allowing it, and only permanent roles should be recorded in the settings files.