Sha256: 5f07e301f8515f0d69443d65ad615d170b2b438bd1f0d1e4f931621310eefaef

Contents?: true

Size: 1.09 KB

Versions: 2

Compression:

Stored size: 1.09 KB

Contents

module Ddr
  module Auth
    module LegacyRoles

      def legacy_downloader_to_resource_roles
        downloader.map do |name|
          agent_type = (name =~ /@/ ? :person : :group)
          Roles::Downloader.build(agent_type=>name, :scope=>:resource)
        end
      end

      # Legacy downloader role
      def downloader
        principals(:downloader)
      end

      # Legacy administrator role
      def administrator
        principals(:downloader)
      end

      # Legacy editor role
      def editor
        principals(:downloader)
      end

      # Legacy contributor role
      def contributor
        principals(:downloader)
      end

      def principal_has_role?(principal, role)
        warn "DEPRECATION WARNING -- `principal_has_role?` is deprecated and will be removed when new roles are fully implemented."
        ( principals(role) & Array(principal) ).any?
      end

      def principals(role)
        warn "DEPRECATION WARNING -- `principals` is deprecated and will be removed when new roles are fully implemented."
        object.adminMetadata.send(role)
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ddr-models-1.13.1 lib/ddr/auth/legacy_roles.rb~
ddr-models-1.13.0 lib/ddr/auth/legacy_roles.rb~