Files
gitlab-foss/lib/authz/role.rb
2025-07-16 00:12:52 +00:00

18 lines
536 B
Ruby

# frozen_string_literal: true
module Authz
class Role
def self.access_level_encompasses?(current_access_level:, level_to_assign:)
level_to_assign.to_i <= current_access_level.to_i
end
def self.roles_user_can_assign(current_access_level, roles = nil)
available_roles = roles || Gitlab::Access.options_with_owner
available_roles.select do |_role_name, access_level|
access_level_encompasses?(current_access_level: current_access_level, level_to_assign: access_level)
end
end
end
end