Sha256: ed8d802ea84af292afa7b22eab41ed6a351e937090572d9b7a3f09eb7d036005

Contents?: true

Size: 904 Bytes

Versions: 6

Compression:

Stored size: 904 Bytes

Contents

# frozen_string_literal: true
module Hyrax
  # This "service" ensures that we have a well formed AdminSet.
  #
  # @note For historical reasons, we lazily apply the default admin
  #   set to curation concerns that don't already have an admin set.
  #
  # @see AdminSet
  # @see Hyrax::PermissionTemplate
  # @see Hyrax::Actors::DefaultAdminSetActor
  module EnsureWellFormedAdminSetService
    # @api public
    # @since v3.0.0
    #
    # @param admin_set_id [String, nil]
    #
    # @return [String] an admin_set_id; if you provide a "present"
    #   admin_set_id, this service will return that.
    #
    # @see AdminSet.find_or_create_default_admin_set_id
    def self.call(admin_set_id: nil)
      admin_set_id = admin_set_id.presence || AdminSet.find_or_create_default_admin_set_id
      Hyrax::PermissionTemplate.find_or_create_by!(source_id: admin_set_id)
      admin_set_id
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
hyrax-3.1.0 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-3.0.2 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-3.0.1 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-3.0.0 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-3.0.0.pre.rc4 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-3.0.0.pre.rc3 app/services/hyrax/ensure_well_formed_admin_set_service.rb