lib/ddr/auth/legacy_permissions.rb in ddr-models-1.17.1 vs lib/ddr/auth/legacy_permissions.rb in ddr-models-2.0.0.pre.1

- old
+ new

@@ -3,40 +3,36 @@ class LegacyPermissions attr_reader :permissions LEGACY_PERMISSION_ROLE_MAP = { - "discover" => "Viewer", - "read" => "Viewer", - "edit" => "Editor" + "discover" => Roles::VIEWER, + "read" => Roles::VIEWER, + "edit" => Roles::EDITOR } def initialize(permissions) @permissions = permissions end def to_resource_roles - to_roles(:resource) + to_roles(Roles::RESOURCE_SCOPE) end def to_policy_roles - to_roles(:policy) + to_roles(Roles::POLICY_SCOPE) end + # @param scope [String] the scope to assign to each role + # @return [Ddr::Auth::Roles::RoleSet] def to_roles(scope) - permissions.map do |perm| - Roles::Role.build(type: role_type(perm), agent: perm[:name], scope: scope) + roles = permissions.map do |perm| + access, agent = perm[:access], perm[:name] + Roles::Role.build type: LEGACY_PERMISSION_ROLE_MAP[access], + agent: agent, + scope: scope end - end - - private - - def role_type(perm) - LEGACY_PERMISSION_ROLE_MAP[perm[:access]] - end - - def agent_type(perm) - perm[:type] == "group" ? :group : :person + Roles::DetachedRoleSet.new(roles) end end end end